Article Preview
Top2. Background
AMs are software processes that share the same values: individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation and responding to changes over following a plan. The Agile Manifesto inspired 12 principles for Agile process (Martin, 2002). Among these principles, the highest priority is to satisfy the customer through early and continuous delivery of software. Agile methods use short iterations (sprints) that are typically two to four weeks long. Satisfying the customer also involves recognizing the need to change requirements, even late in development, to support the customer's competitive advantage. The customers are highly involved, as they receive frequent deliverables of working software and work together with the technical people daily throughout the project. Working software is the primary measure of progress on the project, as opposed to modeling artifacts, etc. The software is built by motivated individuals, who have an environment and the support they need to get the job done. The self-organizing teams strive for technical excellence (i.e., best requirements, best architecture, etc.) and simplicity (i.e., maximizing the amount of work not done, such as extensive documentation for planning, requirements, architecture, etc.). The project proceeds at a pace that is sustainable over the long run and includes regular reflections on how to become more effective at implementing necessary changes.