Agile Metrics in Action
How to measure and improve team performance
Christopher W. H. Davis
Foreword by Olivier Gaudin
  • July 2015
  • ISBN 9781617292484
  • 272 pages
  • printed in black & white

A steadfast companion on your expedition into measurement.

From the Foreword by Olivier Gaudin, SonarSource

Agile Metrics in Action is a rich resource for agile teams that aim to use metrics to objectively measure performance. You'll learn how to gather data that really counts, along with how to effectively analyze and act upon the results. Along the way, you'll pick up practical data analysis techniques, including a few emerging Big Data practices.

About the book

The iterative nature of agile development is perfect for experience-based, continuous improvement. Tracking systems, test and build tools, source control, continuous integration, and other built-in parts of a project lifecycle throw off a wealth of data you can use to improve your products, processes, and teams. The question is, how to do it?

Agile Metrics in Action teaches you how. This practical book is a rich resource for an agile team that aims to use metrics to objectively measure performance. You'll learn how to gather the data that really count, along with how to effectively analyze and act upon the results. Along the way, you'll discover techniques all team members can use for better individual accountability and team performance.

Table of Contents detailed table of contents




about the author

Part 1 Measuring agile teams

1. Measuring agile performance

1.1. Collect, measure, react, repeat-the feedback loop

1.1.1. What are metrics?

1.2. Why agile teams struggle with measurement

1.2.1. Proglem: agile definitions of measurement are not straightforward

1.2.2. Problem: agile focuses on a product, not a project

1.2.3. Problem: data is all over the place without a unified view

1.3. What questions can metrics answer, and where do I get the data to answer them?

1.3.1. Project tracking

1.3.2. Source control

1.3.3. The build system

1.3.4. System monitoring

1.4. Analyzing what you have and what to do with the data

1.4.1. Figuring out what matters

1.4.2. Visualizing your data

1.5. Applying lessons learned

1.6. Taking ownership and measuring your team

1.6.1. Getting buy-in

1.6.2. Metric naysayers

1.7. Summary

2. Observing a live project

2.1. A typical agile project

2.1.1. How Blastamo Music used agile

2.2. A problem arises

2.3. Determining the right solution

2.4. Analyzing and presenting the data

2.4.1. Solving the problems

2.4.2. Visualizing the final product for leadership

2.5. Building on the system and improving their processes

2.5.1. Using data to improve what they do every day

2.6. Summary

Part 2 Collecting and analyzing your team’s data

3. Trends and data from project-tracking systems

3.1. Typical agile measurements using PTS data

3.1.1. Burn down

3.1.2. Velocity

3.1.3. Cumulative flow

3.1.4. Lead time

3.1.5. Bug counts

3.2. Prepare for analysis; generate the richest set of data you can

3.2.1. Make sure everyone uses your PTS

3.2.2. Tag tasks with as much data as possible

3.2.3. Estimate how long you think your tasks will take

3.2.4. Clearly define when tasks are done

3.2.5. Clearly define when tasks are completed in a good way

3.3.1. Task volume

3.3.2. Bugs

3.3.3. Measuring task movement; recidivism and workflow

3.3.4. Sorting with tags and labels

3.5. Summary

4. Trends and data from source control

4.1. What is source control management?

4.2. Preparing for analysis: generate the richest set of data you can

4.2.1. Tip 1: Use distributed version control and pull requests

4.3. The data you’ll be working with; what you can get from SCM

4.3.1. The data you can get from a DVCS

4.3.2. Data you can get from centralized SCM

4.3.3. What you can tell from SCM alone

4.4.1. Charting SCM activity

4.5. Case study: moving to the pull request workflow and incorporating quality engineering

4.6. Summary

5. Trends and data from CI and deployment servers

5.1. What is continuous development?

5.1.1. Continuous integration

5.1.2. Continuous delivery

5.1.3. Continuous testing

5.2. Preparing for analysis: generate the richest set of data you can

5.2.1. Set up a delivery pipeline

5.3. The data you’ll be working with: what you can get from your CI APIs

5.3.1. The data you can get from your CI server

5.3.2. What you can tell from CI alone

5.4.1. Getting CI data and adding it to your charts

5.5. Case study: measuring benefits of process change through CI data

5.6. Summary

6. Data from your production systems

6.1. Preparing for analysis: generating the richest set of data you can

6.1.1. Adding arbitrary metrics to your development cycle

6.1.2. Utilizing the features of your application performance monitoring system

6.1.3. Using logging best practices

6.1.4. Using social network interaction to connect with your consumers

6.2. The data you’ll be working with: what you can get from your APM systems

6.2.1. Server health statistics

6.2.2. Consumer usage

6.2.3. Semantic logging analysis

6.2.4. Tools used to collect production system data

6.3. Case study: a team moves to DevOps and continuous delivery

6.4. Summary

Part 3 Applying metrics to your teams, processes, and software

7. Working with the data you’re collecting: the sum of the parts

7.1. Combining data points to create metrics

7.2. Using your data to define "good"

7.2.1. Turning subjectivity into objectivity

7.2.2. Working backward from good releases

7.3. How to create metrics

7.3.1. Step 1: explore your data

7.3.2. Step 2: break it down-determine what to track

7.3.3. Step 3: create formulas around multiple data points to create metrics

7.4. Case study: creating and using a new metric to measure continuous release quality

7.5. Summary

8. Measuring the technical quality of your software

8.1. Preparing for analysis: setting up to measure your code

8.2. Measuring the NFRs through the code "ilities"

8.3. Measuring maintainability

8.3.1. MTTR and lead time

8.3.2. Adding SCM and build data

8.3.3. Code coverage

8.3.4. Adding static code analysis

8.3.5. Adding more PTS data

8.4. Measuring usability

8.4.1. Reliability and availability

8.4.2. Security

8.5. Case study: finding anomalies in lead time

8.6. Summary

9. Publishing metrics

9.1. The right data for the right audience

9.1.1. What to use on your team

9.1.2. What managers want to see

9.1.3. What executives care about

9.1.4. Using metrics to prove a point or effect change

9.2. Different publishing methods

9.2.1. Publishing dashboards

9.2.2. Using email

9.3. Case study: driving visibility toward a strategic goal

9.4. Summary

10. Measuring your team against the agile principles

10.1. Breaking the agile principles into measurable components

10.1.1. Aligning the principles with the delivery lifecycle

10.2. Three principles for effective software

10.2.1. Measuring effective software

10.3. Four principles for effective process

10.3.1. Measuring effective processes

10.4. Four principles for an effective team

10.4.1. Measuring an effective development team

10.5. One principle for effective requirements

10.5.1. Measuring effective requirements

10.6. Case study: a new agile team

10.7. Summary


Appendix A: DIY analytics using ELK

A.1. Setting up your system

A.1.1. Checking the database

A.1.2. Configuring your data collector

A.2. Creating the dashboard

A.3. Summary

Appendix B: Collecting data from source systems with Grails

B.1. Architectural overview

B.1.1. Domain objects

B.1.2. The data you’re working with

B.1.3. Data collection services

B.1.4. Scheduling jobs for data collection

B.2. Summary

© 2014 Manning Publications Co.

What's inside

  • Use the data you generate every day from CI and Scrum
  • Improve communication, productivity, transparency, and morale
  • Objectively measuring performance
  • Make metrics a byproduct of your development process

About the reader

Practices in this book will work with any development process or tool stack. For code-based examples, this book uses Groovy, Grails, and MongoDB.

About the author

Christopher Davis has been a software engineer and team leader for over 15 years. He has led numerous teams to successful delivery using agile methodologies.

placing your order...

Don't refresh or navigate away from the page.
print book $29.99 $44.99 pBook + eBook + liveBook
Additional shipping charges may apply
Agile Metrics in Action (print book) added to cart
continue shopping
go to cart

eBook $24.99 $35.99 3 formats + liveBook
Agile Metrics in Action (eBook) added to cart
continue shopping
go to cart

Prices displayed in rupees will be charged in USD when you check out.

FREE domestic shipping on three or more pBooks