Iterative, Spiral and Agile
According to web definition iterative design is the integration of the four steps in a traditional systems development process namely analysis, design, construction and implementation, which are combined into a single step that is repeated iteratively. Spiral design is a systems development method (SDM) used in information technology (IT). This model of development combines the features of the prototyping model and the waterfall model and agile process is methods are software development methodologies espoused by the Agile Alliance, a nonprofit organization. These methods were developed with the understanding that software is difficult to control, and are intended to reduce the complexity, of software engineering.
Disadvantages
The iterative process is more appropriate for the design of product that has a large degree unknown. A disadvantage of the iterative process is that it implies that evaluation of the product occurs only after coding. This is an expensive proposition. A variation of the iterative process more appropriate to a HCI is the rapid prototyping.
The Spiral Development process encompasses other process models. The iteration of the sub-problem with the highest associated risk must be identified and solved. To solve the problem any type of "normal" development process (Waterfall, Incremental, Prototyping, etc.) might be employed. Which one is suitable all depends on the risks identified. Its disadvantage is that is almost impossible to make initial time and cost estimates.
Agile Process disadvantage is that is a Manifesto, so business people and developers must work together daily throughout the project. In our experience, most clients who outsource a project do not want intense, daily meetings with their vendor
Description of Iterative and Agile Methods
Iterative design is a design methodology-based on a cyclic process of prototyping, testing, analyzing, and refining a work in progress. In iterative design, interaction with the designed system is used as a form of research for informing and evolving a project, as successive versions, or iterations of a design are implemented.
There are four main principles of agile method movement are as follows: Communication better than contract on specifications, based on a set of four values communication, simplicity, feedback, and courage. Competence and extreme tool usage, extreme programming defines a set of practices to be followed strictly throughout development. Working functionalities better than too much documentation, Change acceptance. There are more methods that values and are technical shared like
- Adaptative Software Development (ASD)
- Feature Driven Development (FDD)
- Crystal Clear
- Dynamic Software Development Method (DSDM)
- Rapid Application Development (RAD) from James Martin (the very first Agile method)
- Scrum
- Xtreme Programming (XP)
- Rational Unify Process (RUP), available at CERN
Benefits of Agile Methods
The benefits of an agile development with the advantages of a simple implementation, scrum significantly increases productivity and reduces time to benefits while facilitating adaptive, empirical systems development.
Agile Development Method for my Organization IT
Agile represents a number of lightweight methodologies including DSDM, Extreme Programming (XP) and Scrum. They follow principles from established management science focusing on the value creation, effective delivery of valuable software, offer delegation and empowerment and encourage a hands-off management style.
For my organization I will introduce Scrum which is one the lightweight and a good management tool.
Reference
Jones, Capers. 1994. Assessment and Control of Software Risks.
www.google.com
http://www.controlchaos.com/
http://www.lux-seattle.com/about/whitepapers/lux-project-lifecycles.pdf