Practice Guide for Agile Software Development
1. Purpose
This document aims to illustrate the Agile practices and provide guidance to B/Ds on adopting Agile for implementation of IT systems. It was developed based on common Agile practices in the industry and the experiences gained from the pilot projects of B/Ds.
2. What is Agile?
Agile is a conceptual framework based on iterative and incremental development. It promotes evolutionary development and delivery using iterative approach, and also encourages rapid and flexible responses to changing requirements.
3. Comparison with Waterfall Approach
Waterfall software development approach is a sequential design and development process starting from project initiation, requirement collection, analysis and design, implementation and testing until production. While Agile approach is a conceptual framework based on iterative and incremental development which consists of multiple development cycles in short iterations. It generally starts system development with a high-level system analysis & design, and proceeds with repeated cycles of implementation activities.
4. Agile in System Development Life Cycle
The life cycle of Agile project is defined according to project nature, duration and target delivery time of functions and the entire system. Typically, the number of timeboxes (iterations) for each project at the System Implementation phase varies.
In Agile, each timebox will complete and deliver a portion of the system. In each timebox, the following activities will be conducted in order to produce that portion of the system.
- Planning
- Elicitation of requirements
- Detailed system design
- Coding, Development and Testing
- Demonstration
- Retrospective Meeting
Click here to download PDF file of Practice Guide for Agile Software Development