Discover PerformanceHP Software's community for IT leaders // October 2013
3 metrics that define Agile success
Agile isn’t easy at the enterprise level—unless you tackle the biggest challenges with the best metrics.
Today, customers expect speed—fast releases, fast apps, fast everything—and enterprises have no choice but to comply. Agile development is one way to achieve speed, but transitioning to Agile practices is a process, not a quick switch. Plus, most organizations have no idea whether their Agile efforts are paying off.
We spoke with Raziel Tabib, director of products at HP Software, to get his take on leveraging metrics to boost the speed and quality of Agile development. Tabib oversees HP’s Agile Manager and Application Lifecycle Intelligence technologies and more. In conversation with Discover Performance, he identified three major challenges to enterprise-level Agile, along with the best three metrics for overcoming those obstacles.
Q: What are some of the common challenges that arise when scaling Agile to enterprise levels?
Raziel Tabib: We see three big challenges. First, enterprise alignment. While Agile is often treated as a development practice, it’s really a delivery practice. The ecosystem of the software development teams has to adjust to a new cadence of software releases. And it’s vital that business teams, operations, marketing, and the field all make those adjustments.
Second, globally distributed teams. The accelerated pace of Agile development requires immediate feedback on changes. But large organizations with globally distributed teams are limited in their availability to meet and their ability to inquire about status and identify and react to impediments. So that limited availability often prevents teams from reacting to impediments and dependencies in a timely manner and, as a result, can hold teams’ velocity back or impact software quality.
Third, composite apps. Enterprise applications and business processes tend to span multiple systems and technologies, and that imposes a lot of dependencies across teams. When you have limited visibility into these dependencies and poor management of them, you see a lot of bottlenecks, and everything gets slowed down.
Q: How can metrics support enterprises as they scale their Agile implementation?
RT: Metrics can provide visibility and create transparency within development teams as well as across development teams to the other business units in the organization. In other words: operations, marketing, LOBs, etc.
This really gets to the heart of application lifecycle intelligence. ALI is about extracting information and metadata scattered across the software delivery chain, then aggregating and surfacing actionable data to the various stakeholders in the enterprise. The software delivery process generates a lot of valuable information that, when put together, can automatically provide insights into risk, application health, and obstacles—and facilitate collaboration through transparency across teams and business units.
Q: What metrics can complement existing Agile metrics and help an organization cope with these challenges?
RT: There are so many metrics that organizations can measure to help them deal with these challenges. The top three, though, are business alignment, application health, and customer satisfaction.
First, business alignment is measuring how the development efforts are aligned to business priorities. This metric is calculated by monitoring the level of dev activities in the source code systems (changes in lines of code, number of files, etc.) as well as unit test, code coverage, and CI tools. By monitoring these activities and tying them back to the themes, features, user stories, and tasks that the teams are working on, we can provide visibility into where the development efforts are at any point of time—including which themes, features, and user stories the teams are working on and with what level of effort.
Correlating these results with business priorities allows us to measure whether we are optimizing efforts to meet business goals, and where misalignment might be. Business alignment reports also provide various roles in the organization with immediate visibility into what is in the software pipeline so they can plan their supportive activities accordingly.
Second, you need to measure application health and risks. And to accelerate software releases without compromising on quality, we need to be aware of risks as they arise. But because a team’s availability to meet might be limited, automatically surfaced risks such as application areas that have high levels of defect density, frequent code changes, poor unit test coverage and results, plus high business priority can help to facilitate conversation about the areas that require attention, identify the candidates for re-factoring, and have better predictions in planning. That can make meetings—when they can happen—more effective, and ensure that risks do not go unnoticed.
The way I suggest that people calculate risk is by measuring the code-to-test coverage (on all levels: unit, API, functional, and performance), and then correlating the results with the themes, features, and user stories linked to the covered/uncovered code. These correlations can yield a list of features and functional areas in the application that, for example, are frequently visited by end users and have a high volume of code changes, yet have poor coverage of tests and test results.
Third, customer satisfaction can allow an organization to measure how successful their Agile implementation is. In Agile, we seek to continuously improve user satisfaction. The model suggests that we measure customer satisfaction by extracting data that reveals how long it takes users to learn about new features, how many clicks it takes to complete certain business processes, and how well the application is performing. You also want to look at whether there are help tickets generated or issues reported. If your Agile processes are working well, you should see continuous improvement in customer satisfaction.
Agility brings a lot of value to an increasingly user-centric IT era, but it is also challenging. For more on how to get the most from enterprise-level Agile development practices, check out HP Agile Manager.
Dev Center 20/20
How will we organize development centers for the apps that will power our enterprises?
Introduction to Enterprise 20/20
What will a successful enterprise look like in the future?
Challenges and opportunities for the CIO of the future.
Welcome to a new reality of split-second decisions and marketing by the numbers.
IT Operations 20/20
How can you achieve the data center of the future?
What the workforce of 2020 can expect from IT, and what IT can expect from the workforce.
Preparing today for tomorrow’s threats.
Looking toward the era when everyone — and everything — is connected.
Data Center 20/20
The innovation and revenue engine of the enterprise.