The goal of this article is to describe the agile system development lifecycle (SDLC), putting it in context from what you may have heard and more importantly within the context of your overall IT efforts.
Objective of Agile: To have an available release at the end of each iterations, with new requested features added to each iterations.
The detailed Agile SDLC diagram (figure 2) is based on the lifecycle scope of the Enterprise Unified Process (EUP). From the high level digram (figure 4), it looks very much like a traditional SDLC, but when you dive deeper you quickly discover that there is a detail construction iterations (as seen in figure 2).
The Agile SDLC is broken down into the following 6 phase:
- Iteration -1: Pre-Project Planning (Inception phase)
- Iteration 0/Warm Up: Project Initiation (Elaboration phase)
- Construction Iterations
- Release Iterations(s): The “End Game” (Transition phase)
- Production
- Retirement
When to use agile?
Start using agile when:
- Teams facing unpredictable or rapidly changing requirements
- There is a small number of developers
- Low criticality
- There are senior developers who has multiple skills in business analyst, architecture, management & communications
- High requirements change
Don’t use agile under these circumstances.
Principles
- emphasize face-to-face communication over written documents.
- Team size is typically small (5-9 people) to help make team communication and team collaboration easier.
- Each iterations is worked by a team through the full software development life cycle including planning, requirements analysis, design, coding, unit testing, and acceptance testing when a working product is demonstrated to stakeholders.
- Agile team will contain a customer representative. This person is appointed by stakeholders to act on their behalf and makes a personal commitment to being available for developers to answer mid-iteration problem-domain questions.
- Customer satisfaction by rapid, continuous delivery of useful software.
- Most agile methods share other iterative and incremental development methods’ emphasis on building releasable software in short time periods (weeks rather than months).
- Working software is delivered frequently.
Benefits
- Minimise overall project risk
- Allow project to adapt to changes more quickly
- Documentations is produced as required by stakeholders
- Minimal bugs
- Agile methods usually produce less written documentation than other methods. In an agile project, documentation and other project artifacts all rank equally with working product
Resource
Go to http://www.ambysoft.com/essays/agileLifecycle.html
Please email itinfotechnology@gmail.com to Biz IT Solution who will response to your email ASAP, if you have further questions about this topic. Otherwise leave your comments below by clicking the “Submit Comment” button.