Over the last decade or so, Agile software development methodology has evolved as a mainstream methodology for most large-scale product development. While other methodologies emphasize and focus on stringent processes, which slows down the overall pace of development, Agile processes attempt to reach a compromise between process and progress.
Agile development has evolved from iterative and incremental development and promotes the following:
- Adaptive development and planning: Quick and flexible response to change
- Evolutionary development and delivery: Creating working incremental software as compared to a comprehensive product
- More emphasis on individuals, interactions, and communication rather than on processes
- Collaboration among all team members and stakeholders
The current trend in software development has an increased emphasis on:
Agile responds to these business demands with practices which meet them head on, such as incremental design and automated testing.
At Indecomm, we follow the Agile Scrum model for its extremely efficient and streamlined process of managing and tracking product development. The following case study explains how we implement this model.
Agile Scrum Process:
The team follows the Agile Scrum process across all the Product Development Life Cycle (PDLC) phases, starting with Product Vision > Product Strategy > Release Plan > Product Requirement Document > Product Backlog > Iteration Planning > User Stories > Tasks > Design & Coding > Test Planning & Execution >Iteration Complete > Product Demo > Release.
All these steps are carefully tracked in the Agile product development tool called GreenHopper. Key roles involved in the phase are product managers, program managers, scrum masters, and technical team members. All cross-functional teams that participate in the scrum are distributed globally.
- A product manager creates a brief business requirement, based on his interaction with the sales and marketing team, existing clients, competition, and others
- A group meeting is scheduled with all the stakeholders, project managers, et al, to brainstorm, refine, and finalize the requirements
- A detailed product functional specification document is created and shared with the development and QA teams
- The product backlog is reviewed and a detailed iteration plan is carried out, based on the priorities and business criticality of each requirement
- User stories are created for each requirement and tracked against the iteration
- The user stories are estimated by the development and QA teams and approved by business management
- A detailed project plan is created with multiple sprints/iterations. Each iteration is typically scoped for 2-3 weeks
- An estimate of story points per iteration (velocity) is tracked against the actual velocity per iteration
Dashboard using Rally
Dashboard using Agility (Home Grown)
Atlassian (GreenHopper & JIRA)