Summary -
In this topic, we described about the below sections -
What is a Metric?
Metric can be defined as a quantifiable measure which would be used to assess and track the status of a specific process.
Scrum Events and their value to measuring the progress
Scrum has various activities that keep on repeating throughout the scrum development process which would help in managing iterations and providing process control. Each of these metrics would provide data and meaningful metrics to the management and team. They are:
- Sprint Planning - Sprint Planning is a meeting that is conducted at the start of a sprint in which high- level story would be broken down into detailed tasks. This would provide a detailed estimate for the scope of work which could be produced during the sprint.
- Daily Scrum - Daily Scrum is a daily stand up meeting where in the team members would share the progress and obstacles that they are facing. A report about the remaining hours for the sprint tasks would generate the sprint burn down metric.
- Sprint Retrospective - This would be the Final meeting in the Sprint. The Scrum team would review what could be improved for future sprints and how they should be done. The character of the Scrum would dictate that no matter how good the scrum team is, there would always be an opportunity to improve and the Sprint Retrospective would give the team a dedicated time in order to identify, discuss and plan it. The entire Scrum team would take part including the Development team, the scrum master, and the product owner. The meeting should be a collective effort similar to Agile and Scrum processes.
What are Scrum Meetings and KPIs?
Scrum Metrics and KPIs are part of Agile' s KPI family. Agile metrics include lean metrics that focus on the flow of value from an organization to its customers. Kanban metrics would focus on getting the tasks done and workflow.As most of the Agile metrics are applicable to the scrum teams,scrum specific metrics would focus on software delivery that is predictable. This would make sure that Scrum teams deliver a maximum value to the customers with every iteration.
Scrum KPIs have three major goals
- To measure the deliverables of the scrum team and understand how much value is delivered to the customers.
- To measure the effectiveness of the scrum team and its contribution to the business in terms of time to market, ROI, etc.
- To measure the scrum team itself to measure its health and catch the problems like attrition, turnover and dissatisfied developers.
Scrum Metrics and Measuring deliverables
The below metrics would be helpful to measure the work that is completed by the scrum teams and value that is delivered to the customers -
- Sprint Goal success - Sprint goal would answer three questions. They are -
- Why are we carrying out the sprint?
- How do we reach the sprint goal?
- What metric would tell us the goal has been met?
By defining the Sprint goals and then measuring how many sprints have met the goal, a qualitative assessment of the scrum team's work. It is not about the number of story points that are completed. But, how frequently the Business objectives are met.
- Defect Leakage and Defect Density - Defect leakage is an important metric which would show how many bugs were experienced by users in production.A scrum team must test the stories fully and completely in order to avoid defect leakage into production.
Defect density is a process of measuring the number of defects per software size.For example,the Lines of Code (LOC).While this metric can be skewed easily,it is important in projects which are moving quickly to check if defect growth is normal when growth of an underlying code base is given. - Team Velocity - Velocity would measure the number of user stories that were completed by the team,on an average in previous sprints.It would guide in estimating the amount of work the team is able to accomplish in future sprints.While velocity is an important metric to watch in any scrum project.Velocity is a subjective measure which would capture the team's progress.If we try to increase the velocity artificially,it will break the trust and reduce the transparency between the management and teams.
- Sprint Burndown chart - A Sprint burndown chart is a classical representation of progress within a sprint. It would show the number of hours that are remaining to complete the stories that are planned for the current sprint, for each day during the sprint. The Sprint burndown would show whether the team is on time in completing the sprint scope or not.
Scrum Metrics - Measuring the effectiveness
The following metrics would help to assess the effectiveness of scrum teams in meeting the business goals:
- Time to Market - Time taken by the project to start providing value to the customers or the time it would take to start generating revenue. The first would be calculated by taking the number of sprints before the scrum team releases to production. The second would be longer, depending on the organization's alpha and beta testing strategy.
- ROI - Return on Investment for a scrum project would calculate the total revenue that is generated from a product Vs the cost of the sprints needed to develop it. Scrum has the potential to generate ROI much faster than traditional development methods. With the help of each sprint, scrum teams would create more features that would translate in revenue growth.
- Capital Redeployment - Capital Redeployment would measure whether it is worthwhile to continue a scrum project or whether the economic value would exceed its cost. Team has to be redeployed in this case for more profitable projects. In order to determine the Capital Redeployment, the revenue value of the remaining items in the project backlog (V), the actual cost (AC) of the sprints which are needed to complete those items. The Opportunity Cost (OC) of the alternative product work of the team could do. When V<AC+OC, the project should end, and the team would be redeployed to other projects.
- Customer Satisfaction - Metrics are very much useful to determine the customer satisfaction. One among them is the Net Promoter Score (NPS) which would measure if the users would recommend using the software to others.
Software Metrics - Monitoring the Scrum
These metrics would help in monitoring the scrum activities and identifying the problems in an early stage.
- Daily Scrum and Retrospective - Both of these scrum events would be carried out regularly with the conclusions that are well-documented.They would provide qualitative measurement of process health and team progress.
- Team Satisfaction - Scrum team would be surveyed periodically to see the level of satisfaction of their work which would further help to know about team conflicts and culture issues.
- Team Member Turnover - Low turnover in a scrum team would indicate a healthy environment while the high turnover would indicate the opposite.
Scrum Reporting - Which metrics would be used in Reporting to the stakeholders?
The main thing which the stakeholders would always focus on is whether the Scrum project is on track.The following metrics would help in explaining and communicating the deviations from the expected project:
- Sprint and release burndown - Stakeholders would view the project status or progress.
- Sprint Velocity - A historic review of how much value you have been delivering.
- Team capacity - How many developers in the team are on full time? Has the work capacity been affected by the any leaves or vacations? Are the developers pulled off to side projects?
- Scope Change - The number of stories that are added to the project during the release which would often be the reason for delays.
- Escaped Defects - It would give a clear picture how the software is progressing in production.
The missing Software Metric - Software Quality
Quality is an important aspect to scrum projects. Stories that are completed do not provide value unless they are tested and working as the customer expects. Existing tooling only provides fragmented status, such as unit test coverage and number of tests executed. It does not provide a good picture of the overall quality status.