News Desk
Agile Projects and Requirements Management
Taking the live approach
May. 5, 2006 09:30 AM
Critical Paths
Agile methods have proven their ability to increase project success ratios. The fairly wide adoption of several of them, especially XP, DSDM and SCRUM, proves that most of the “Principles behind the Agile Manifesto” [Agm] are valued by customers and by developers.
For instance, customers love these statements in the Manifesto:
Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
On the other hand, developers very much like the following:
Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
Agile processes promote sustainable development.
Simplicity--the art of maximizing the amount of work not done--is essential.
The best architectures, requirements, and designs emerge from self-organizing teams.
Most Common Agile Methods
Let’s look briefly at some of the most commonly used Agile methods. The most relevant characteristic practices for the discussion which follows are cited in the points below. A broader dissertation can be found in J. Highsmith [Hig02].
• Dynamic Systems Development Method (DSDM) is an outgrowth of, and extension to, rapid application development (RAD) practices. DSDM boasts the best-supported training and documentation of any Agile method. DSDM’s nine principles include active user involvement, frequent delivery, team decision making, integrated testing throughout the project life cycle, and reversible changes in development. [DSD97]
• Extreme Programming (XP) preaches the values of community, simplicity, feedback, and courage. Important aspects of XP are its contribution to altering the view of the cost of change and its emphasis on technical excellence through refactoring and test-first development. XP provides a system of dynamic practices, whose integrity as a holistic unit has been proven. Among others there are practices like the daily stand-up meeting and direct involvement of the Customer. XP has clearly garnered the most interest of any of the Agile approaches. [XP][New01] [Wak02]
• Scrum provides a project management framework that focuses development into 30-day Sprint cycles in which a specified set of Backlog features are delivered. The core practice in Scrum is the use of daily 15-minute team meetings for coordination and integration. Scrum has been in use for nearly ten years and has been used to successfully deliver a wide range of products. [Sch02]
So – it is pretty clear that the most widely adopted Agile methods completely support key Agile values:
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.” [Aga]
About Stefano RizzoStefano Rizzo is the Product Manager at Polarion Software. He has some 13 years of IT consulting and mentoring experience in several different business areas including Finance, Telecom, Software, and Government. As a mentor he has helped dozens of big companies introduce new development processes and methods. As a teacher he has trained thousands of people in UML, Requirements Management, and Agile development. As a methods evangelist he has helped hundreds of companies to share his vision about collaborative software development. His actual focus now is researching and developing methods and best practices for Agile and Live software development processes. Stefano holds a degree in Computer Science and a University research background in Software Engineering.