When employing Agile software development it's vital that everyone is comfortable with the reality that, over time, the requirements, the system and the team order will all emerge. Understandably, this makes a lot of people uncomfortable because they're trained to believe that the essence of a project is structured and largely predictable. They want to control the project using a plan that attempts to predict future events based on assumptions made up-front about the stability of the requirements, business landscape, team and estimates, and the accuracy of the information available.
By letting things emerge you're accepting the inherent uncertainty and instability in a project given the inadequacy of information available. By planning adaptively, you steer the project in response to new information that emerges through feedback, rather than controlling it based on predictions made in an up-front plan. The driving force is to deliver what is needed today based on what is known, and not to plan what you think is needed tomorrow based on what you think will happen in the future.
New and modified requirements emerge resulting from feedback on earlier implementations, shifting business priorities and modified user needs. Using iterative and incremental development the final system emerges from progressive working increments that have been adapted to accommodate these changing requirements. Through self-organisation rather than hierarchical command and control, a team organisation and working order emerges based on common values, principles and practices, a shared vision, and intense collaboration with the customer. The team is empowered to decide how best to utilise resources, skills and technologies to best meet the requirements, deliver business value and maximise return on investment for the customer.
Trying to limit and control changes results in the delivery of a solution that is compromised by cost and does not meet the real needs of the customer exactly. Through feedback mechanisms, Agile software development is geared to respond to change ensuring that what is delivered is actually needed by the customer and not just what they thought they needed at the start of the project.