Measuring progress drives Agile teams to successful delivery
“Working software is the primary measure of progress.” - one of the 12 principles behind the Agile Manifesto.
Agile development has changed how teams and companies work. It has transformed how they deliver software to their customers with positive effects: shorter time to market and lower costs, to name a few. However, in order to reap the full benefits of Agile, adopting a framework like Scrum of Kanban is not enough. Without bringing agile metrics into the picture, using just agile methodologies may not bring much value to the teams and their customers or stakeholders.
Agile metrics
Agile concepts are based on early feedback and continuous improvement. Incremental development and early delivery are important components in order to achieve agility. This is where agile metrics come into play. By being able to measure team productivity and software quality in every software increment, impediments on the delivery of a working software can be exposed immediately and resolved early. Agile metrics help teams become self-organizing and self-managing by being able to understand areas where they can improve.
Measure everything
"What's measured improves." - Peter Drucker
Agile has prescribed ways of measuring progress to help understand the development better and ease the process of software release. These include: Burndown and Burn-up Charts, Velocity, Control Flow, Cumulative Flow Diagrams, Lead Time, Value Delivered, Escaped Defects, etc. Some of these are built-in to tools like Jira where reports can be made visible to the team anytime for easy reference.
As much as possible, measure more than what you think you need now. You’ll never know what you think you’ll need now or what trends you will uncover until you start measuring what you know is important today. However, only track what’s important for your business. That means your team needs to work closely with them to determine which metrics are the right ones for your organization. These metrics should be able to tell how successful you are in achieving your goals.
Agile Retrospectives
An agile retrospective is a meeting held at the end of each development iteration. During this meeting, the team reflects on what happened in the iteration and identifies actions for improvement going forward. Each member of the team answers the following questions:
-
What worked well for us?
-
What didn't work well for us?
-
What actions can we take to improve our process moving forward?
This is the best time to have the agile metrics ready, presented, discussed and take actions. Agile metrics provide a visual representation of the team’s progress in every iteration. Team feedback from the retrospectives can then be linked to agile metrics to have a better understanding of their progress.
Coaching our teams
Throughout our Agile journey, we coach our teams to understand new ways of working and how they can effectively adapt in order for them to create great products. We provide them the tools and platforms they need to make their processes efficient and at the same time be able to gather insights for continuous improvement and innovation.