Measuring Your Agile Development Success

0 downloads 216 Views 2MB Size Report
are already on the path of Agile transformation and have implemented some of the core foundations of Agile or one of the
A How-to Guide for

Measuring Your Agile Development Success

2 | Measuring Your Agile Development Success

This guide is for organizations that are already on the path of Agile transformation and have implemented some of the core foundations of Agile or one of the various Agile frameworks. One of the core tenets of Agile is empirical evidence and making decisions based on actual, measured data, and that’s where this guide can help. We’ll go through five metrics that will help you improve the value your team is delivering, as well as your team’s overall morale.

Metric 1: Value Realization Value realization is the impact (positive or negative) a product or feature has on a customer. Focusing too closely on the Agile methodologies or frameworks you’re implementing and how you’re executing product development often results in losing sight of one of the true purposes of applying an Agile framework: to deliver value quickly to your end users and customers. As such, this metric is to test the impact a product or feature has on customer satisfaction. To understand when an idea is worth implementing and pursuing, iterate using the scientific method. Form a hypothesis about the impact of a product or feature, develop a simplistic version of that feature or product, release it into production, and measure the impact on customers. If you had an online store, for example, you could form a hypothesis that a recommendation engine will increase sales revenue. You would then develop and release a simplistic version of the recommendation engine and measure customer use. If your KPIs reflect engagement and customer value, you can build on and enhance it. If not, you can consider changing it or removing it all together. To properly measure value realization: 

Form a hypothesis around the impact of a product or feature

 Determine the measurements that align to the objective 

Release enhancement into production



Observe and report findings



Incorporate findings into future releases

3 | Measuring Your Agile Development Success

Metric 2: Employee Satisfaction We’re living in the information age where quality work

recommend surveying teams and mapping the results

is a must in order to stand out amongst the competition,

to project and organizational changes over time. This

but quality work depends on employees feeling empowered

will empower you to keep your Agile success on track.

and satisfied. If your employees don’t feel empowered, their satisfaction will decrease, as will their output.

To measure and increase employee satisfaction:

Employee satisfaction measures the overall happiness



Issue an anonymous survey to individuals



Chart the results

of your Agile team members and how they feel about the project and company. Because retention and happiness are key to a successful Agile program, it is crucial to measure  Note any major trends to understand the impact

exactly how your employees are feeling. Typically, an

on the organization

Agile transformation calls for a cultural shift within the team, so it’s necessary for everyone to be on board with

 Make shifts in team culture per feedback

this shift. Beyond one-on-one conversations, we

Sample Scrum Team Happiness Survey Results Measuring happiness shows where you need to focus your attention.

5.00

3.75

2.50

1.25

0.00

Average of how do you feel about your project

Average of how do you feel about your role in the company

Average of how do you feel about the company as a whole

4 | Measuring Your Agile Development Success

Metric 3: Dependency Count Dependency count measures the number of dependencies

together to deliver a full-stack feature. This minimizes

and interdependencies between not only teams but also

the number of dependencies, making these product

applications, products, and frameworks. When it comes

teams more productive.

to dependency count, start with a core complication

To measure dependency count:

that you are experiencing and measure how many other dependencies surround that core complication.



For example, a team structure with too many dependencies,

Identify a complication (technological or organizational)

as seen in the illustration below, will create bottlenecks. 

A dependency count will make visible where potential

Map out and count all related dependencies

bottlenecks are occurring. In the second illustration, each of the restructured teams became truly cross-functional with

 Consider restructuring or consolidating to reduce dependencies

data, services, front-end, and testing all working

Before Optimizing for Dependencies

FULL STACK FEATURE

FULL STACK FEATURE

TESTING TEAM

FRONT-END TEAM

After Optimizing for Dependencies

FRONT-END TEAM

FRONT-END TEAM

FULL STACK FEATURE

SERVICES TEAM

FRONT-END TEAM

TEAM #4

FULL STACK FEATURE FULL STACK FEATURE

FULL STACK FEATURE FULL STACK FEATURE FULL STACK FEATURE

TEAM TEAM #2 TEAM #3 #4

FULL STACK FEATURE FULL STACK FEATURE

DATA TEAM

TEAM TEAM #4 #5

FULL STACK FEATURE FULL STACK FEATURE FULL STACK FEATURE

TEAM TEAM #3 TEAM #4 #5

FULL STACK FEATURE FULL STACK FEATURE

TEAM TEAM #5 #6

FULL STACK FEATURE FULL STACK FEATURE

TEAM TEAM #2 #3

FULL STACK FEATURE

TEAM #6

FULL STACK FEATURE FULL STACK FEATURE

TEAM TEAM #5 #6

SERVICES TEAM

FULL STACK FEATURE DATA TEAM

TEAM TEAM #1 #2

TEAM #1

TEAM TEAM #1 #2

TEAM #1 SERVICES TEAM

FULL STACK FEATURE FULL STACK FEATURE

FULL STACK FEATURE TESTING TEAM

5 | Measuring Your Agile Development Success

Metric 4: Time to Production

Metric 5: Production Bug Count

Time to production measures the amount of time it takes

While getting into production quickly is clearly a goal in

to get a feature or product into production, which is a

Agile, it is vital to foster a culture of craftsmanship among

key indicator of Agile transformation success. The faster

your developers. Taking pride in work, being fully engaged,

you can get quality code released into production, the faster

and focusing on technical excellence will reduce the number

you will be able to test your hypotheses and get a return

of bugs that make it into production, thus improving the user

on your investment.

experience and value realization.

This is also a good opportunity to challenge your

Defects are a reality when it comes to the complex nature

organization to improve your application lifecycle

of software development. You can decrease your bug count

management tools and work toward a more frequent

by focusing on process and technical improvement, but the

release schedule.

first step is awareness.

To measure time to production:

To measure production bug count:





Define bug criteria for your project



Count the number of production defects

Count the number of sprints it takes to get code into production



Determine how many days it took to release

in a given time period

code into production by multiplying the number of sprints by the number of days in a sprint



Examine development and process practices to reduce production bug count



Track and improve over time

Next Steps Now that you are equipped to measure your Agile development success, it’s time to take action. Once you calculate these metrics for your organization, you’ll be able to see correlations and track your improvement over time. Value realization, employee satisfaction, dependency count, time to production and production bug count will help guide you to the optimized ideal of engaged, happy Agile teams producing efficient, quality work.

8401 Greensboro Drive, Suite 500, McLean, VA 22102

|

703.848.1900

|

[email protected]