Traditional Methodology – Focus on ScopeMain decisions at Project-StartContract and Scope at Project StartNo learnings during implementationFocus on Scope. Every change will risk scope and timeline
Agile Methodology – Focus on Goals Initial Scope can changeDecisions made when necessary & clearCommittment & Reviews for every IterationChanges possible, Optimizing everything
Cost of change Traditional Methodology Agile MethodologySource: http://agilemodeling.com/essays/costOfChange.htm
What is Agility ?Learning and adaptationThe Agile approach accepts that there are many things we cannot anticipate, so it is structured to allow us to first learn about those unknowns and then adapt towhat we learn.CollaborationThe Agile approach places high value on all stakeholders collaborating continuously, including the programmers and their customers.Customer focusThe customer is the central focus of an Agile project and is actively involved throughout.Small self-directed teamsAgility capitalizes on self-directed teams and recognizes that small teams can self-direct most effectively.Lean principlesPrinciples of Lean Manufacturing are embodied in Agility, especially concepts like "Just Enough" and "Just in Time."Progressive requirements elaborationWe expect to learn about the system requirements as the project progresses, so trying to nail them down in a full-blown specification at the beginning of theproject doesnt make sense. Agile projects establish a roadmap and elaborate the details as they are needed.Incremental deliveryThe best way to ensure we are building the right system is to regularly get feedback from our customer. Agility always includes incremental delivery of theproduct to the customer - at least for acceptance testing.Iterative planning and adaptationAgile projects place a high value on planning. They engage in planning at various levels of detail and engage in it regularly. Again, this is driven by the fact that wecannot foresee everything that is important, so we must adapt our plans as we learn.
What Agility is not ! an excuse for undisciplined practicesNo documentationThe documentation that an Agile project produces is significantly different from what traditional projects produce, and an Agile team will always ask whyvarious documents are needed. But they always document (in unique ways) their plans, requirements, designs, and whichever other artifacts provide value.No planningAgile projects actually engage in more planning than most traditional projects. They produce a high-level plan during project initiation, and they re-visit andadapt that high-level plan regularly throughout the project. They produce a plan of what they will do during each iteration of development, and they meet dailyto check their progress and plan the days work.No requirementsThe Agile teams Product Owner (customer) defines a Product Vision, and they work together to document the products high-level requirements (called theproduct backlog). Then, more detailed views of those requirements are elaborated upon and documented as they are needed throughout the project.No schedule or budget controlAgile projects always operate within a "Time-Box." That is, they have definitive start- and end-dates and are not expected to violate those dates. And becausepeoples time is the largest part of a software projects budget, the time-box limits the project budget as well. The Agile mantra is, "We will deliver the greatestpossible customer value within the project constraints!"Developers doing whatever they likeCustomer has primary control over an Agile project. The customer is involved in all aspects of planning, prioritization, and status keeping throughout an Agileproject. If the project team is not producing what the customer finds to be valuable, it is up to that person to re-direct the work. The teams only role is toestimate what can be done in limited timeframes. The teams customer determines how that effort will be directed.
The Value of AgilityThe right productCustomer/Stakeholder are continuously involved in the project, ensuring that valuable software is being built and prioritizing the work. In addition, the customeraccepts or provides critical feedback on each increment of the product that is produced. With this level of involvement by the customer, there is no way that thewrong product can be built.QualityAgility always includes a strong focus on the quality of what is built. This includes not only the customers acceptance testing, but also many technical qualitypractices. Properly functioning Agile teams produce high-quality software.Schedule and budgetTime-boxing of an Agile project means that its schedule and budget are rarely "over-run" If things dont work out as planned, the low-priority features can beskipped or cut short.Early warningAn Agile project is a series of short mini-projects, problems become apparent very earlyAdapting to changeChange is a fact of business. Agile projects can adapt to changes in the business environment, within the organization, or with the customer much moreeffectively than any other methodology.