It exists well-known agile methods like XP, Scrum, DSDM, and so on... We won't discuss today about them, but in particular of the OpenUp method which has been developped since 2 years under the umbrella of the Eclipse Consortium, right next to the EclipseWay method, the agile method directly derived from the Eclipse development scheme.
OpenUp states for Open Unified Process, and is based upon an iterative and incremental approach.
In my point of view, this method could match quite well the Change function assertion, which stipulates that the success can be formalized by the following function :
Change Function = F(Perceived Crisis/Perceived Pain of Adoption)For the Perceived crisis aspect, we all actually know projects which don't end, are abandonned, or don't achieve goals the customer wanted to reach. Industrialization of the sofware process is quite far behind today industrialization in automotive, aerospace or even games domains. Agility is a pragmatic way to industrialize at low cost and in effective manner software engineering.
For the Perceived Pain of Adoption aspect, I find that OpenUp is a good mix between more traditionnal concepts/vocabulary and agiles ones. For someone who understood the agility paradigm and is used to use traditionnal methododologies like for instance RUP, transition will be softer.
OpenUp rests upon three angular stones :
- requirement management through the use of use cases and scenarii
- hazard/risk management
- an approach clearly centered on architecture very early in the life cycle
OpenUp follows the Agile manifest too, i.e. centered on :
- the team : "people and interactions rather than process and tools"
- the application : "Functionnal sofware rather than complete documentation"
- the collaboration : "Collaboration with the customer rather than contract negocaition"
- accepting changes : "React to changes rather than follows a predefined planning"
- Starting the project (Inception) :the goal is to get agreement of the actors of the project on what we have to do and how
- Elaboration : the goal is to discriminate the technical risks from the non technical ones
- Construction : the goal is to develop at the best cost a full product which can be deployed in an operational manner
- Transition : the goal is to ensure that the software is ready to be delivered to the end-user customers
It is not the topic of this post to describe in details the OpenUp method, so I enjoin you to visit the OpenUp web site here for further information.