Managing the iron triangle is a challenge for a fixed cost agile project.
More on the Case Study
This was a high-risk project that we undertook for a large US-based company. Needless to say, it was quite complex due to the magnitude of the work required, the constraints on the timeline and budget, and the strict quality requirements. Let me break it down for you here with some high-level details.Project Scope
As I mentioned earlier, the focus was to build the product on a fixed cost contract following the Agile development methodology. We had to deliver milestones within a fixed time frame with unwavering attention to quality. This meant embracing changes within fixed boundaries. We started off by documenting the high-level requirements from the client. Later, we translated them into detailed user stories for each phase based on priority.Estimation
The epic or high-level user stories documented by the team was taken as an input for detailed estimation. Since the team velocity was unknown at the outset, estimation was primarily accomplished by breaking down epics into tasks and adding detailed estimates for the tasks according to their complexity. A percentage of the development effort was allocated for testing and user interface development as well.Delivery Schedule
Delivery planning was the most critical step as it involved cracking the “iron triangle” of fixed scope, timeline, and quality. We identified the risks and conveyed those to the client along with our corresponding action plan for risk mitigation. Similarly, we took the overall estimate as an input to achieve optimal sprints and staffing, factoring in the initial velocity. The plan was to deliver the complete product in four phases within a year. Each phase consisted of four modules and each module was executed by an independent Scrum team.Execution
We on-boarded a “tiger team” consisting of the best resources to reduce the delivery risk. The team was a combination of back-end and front-end developers, UX designers, hands-on architects, business analysts, testers, and a project manager who also acted as the Scrum Master. We had multiple Scrum teams working on different modules in parallel and we had a Scrum of Scrums to coordinate dependencies between teams.We on-boarded the best resources to ensure high-quality delivery
A total of 33 sprints were executed in 4 phases and 12 months. For easy collaboration with multiple global stakeholders from different time zones, we used JIRA extensively for user story documentation, communication, bug tracking, and sprint execution. Custom JIRA dashboards were utilized to measure key metrics on the current status of sprints, quality of deliverables, etc.The execution plan
Communication
We set up daily sync up calls with the client team to clear dependencies and communication bottlenecks. To appraise the client delivery head of the project status, we held weekly review meetings. Monthly calls were scheduled with the executive management team to discuss and close any escalation topics.Key Metrics
Keeping the project on track also meant collecting the right metrics and monitoring them periodically. We borrowed a few best practices from CMMI Level 5 processes to refine our processes and ensure quality.Some of the key metrics we tracked were sprint burndown, velocity, and defect leakage.
-
Sprint Burndown
-
Velocity
-
Defect Leakage