How can you help your software team improve? This concise book introduces codermetrics, a clear and objective way to identify, analyze, and discuss the successes and failures of software engineers—not as part of a performance review, but as a way to make the team a more cohesive and productive unit.
Experienced team builder Jonathan Alexander explains how codermetrics helps teams understand exactly what occurred during a project, and enables each coder to focus on specific improvements. Alexander presents a variety of simple and complex codermetrics, and teaches you how to create your own.
Learn how codermetrics changes long-held assumptions and improves team dynamics
Get recommendations for integrating codermetrics into existing processes
Ask the right questions to determine the type of data you need to collect
Use metrics to measure individual coder skills and a team’s effectiveness over time
Identify the contributions each coder makes to the team
Analyze the response to your software and its features—and verify that you're meeting team and organizational goals
Build better teams, using codermetrics to make personnel adjustments and additions
Concepts
Chapter 1 Introduction
Chapter 2 Measuring What Coders Do
The Purpose of Metrics
Timeout for an Example: The Magic Triangle (Partially) Debunked
Patterns, Anomalies, and Outliers
Understanding the Limits
Timeout for an Example: An Unexpected Factor in Success
Useful Data
Timeout for an Example: Metrics and the Skeptic
Chapter 3 The Right Data
Questions That Metrics Can Help Answer
Timeout for an Example: An MVP Season
The Data for Metrics
Timeout for An Example: A Tale of Two Teams
Metrics
Chapter 4 Skill Metrics
Input Data
Offensive Metrics
Defensive Metrics
Precision Metrics
Skill Metric Scorecards
Observations on Coder Types
Chapter 5 Response Metrics
Input Data
Win Metrics
Loss Metrics
Momentum Metrics
Response Metric Scorecards
Observations on Project Types
Chapter 6 Value Metrics
Input Data
Contribution Metrics
Rating Metrics
Value Metric Scorecards
Observations on Team Stages
Processes
Chapter 7 Metrics in Use
Getting Started
Timeout for an Example: The Seven Percent Rule
Utilizing Metrics in the Development Process
Timeout for an Example: The Turn-Around
Using Metrics in Performance Reviews
Taking Metrics Further
Timeout for an Example: The Same But Different
Chapter 8 Building Software Teams
Goals and Profiles
Roles
Timeout for an Example: Two All-Nighters
Personnel
Timeout for an Example: No Such Thing As a Perfect Team
Jonathan Alexander has over 25 years of experience in softwaredevelopment. He is currently VP of Engineering at Vocalocity, a leaderin cloud-based business telecommunications. Previously he built andmanaged software teams at vmSight, Epiphany, and Radnet. He studiedcomputer science at UCLA, and began his career writing software forauthor Michael Crichton.
The animal on the cover of Codermetrics is a whitebar surgeonfish (Acanthurus leucopareius). All species of surgeonfish and other members of the Acanthuridae family (such as tangs and unicornfish) are distinctive for the sharp spines on either side of their tail fin—and in fact, Acanthurus is derived from the Greek for “thorn tail.” The common name of surgeonfish also arose due to these scalpel-like appendages, which the fish can use for defense with a rapid side sweep of their tail.
The whitebar surgeonfish is subtropical, and can be found in coral reefs around Pacific islands, Australia, and Southeast Asia. They grow to be around 8–9 inches long, and are primarily beige in color with iridescent blue spots and a dark brown face. Their eyes are set high in their face, directly in front of a white bar that runs from the top of their head down toward their throat. These fish also have a white bar on their tail. Their small mouths have one row of teeth that they use to scrape up algae, their sole food source.
Whitebar surgeonfish are popular in saltwater aquariums, and widely commercially available for that purpose. However, some species of surgeonfish tend to grow quickly (and to a large size) in an aquarium setting, so it’s advisable to do some research before adding them to a tank.
This is a book about metrics for software developers and software development teams. It is not about software quality but about the contribution of each individual to the software and the product.
The book is organized into three parts.
Part I talks about the concepts. It outlines the purpose of the metrics and then talks about how important it is to get the right data. It drills into the kind of data that is relevant to each individual - based on the project that he works in and his responsibilities. The book then moves on to describe the various data that can be used for the metrics like productivity, speed, accuracy, breadth, helpfulness, innovation and initiative.
Part II is about the metrics themselves. These are categorized as Skill Metrics, Response Metrics and Value Metrics. Skill Metrics is in turn sub-categorized as Offensive, Defensive and Precision Metrics.
The last part is about the processes - essentially how to use the metrics.
The author uses the analogy of American football in the entire book to illustrate his thoughts. His real-life experiences has helped him with a wealth of information for the book.
While the book is quite useful in theory, it is arguable how much of it can be put to practice and the effort it takes to do that. Perhaps a subset of the metrics can used as applicable.
The book does get dry when it gets into the nitty-gritty and thus may not make a great reading end to end.
10/6/2011
(0 of 11 customers found this review helpful)
1.0
Content Free - no real supporting data
By Old Codger
from San Diego, CA
About Me Designer, Developer
Pros
Cons
Not comprehensive enough
Too basic
Best Uses
Comments about O'Reilly Media Codermetrics:
The title is misleading IMHO. I was really hoping to see something about 'code' metrics as the book is titled, and learning something about measured metrics in code and how those trends pertain to the codes stability and sucessess. This book was more a measure of the sociological trending adn measures in a software team - not 'code' metrics - but 'human behavior' metrics while producing code. I was looking for some metrics/equations/trends to be able to realistically apply to a code base. I didnt really find anything a real practical engineer could use in anger to apply toa code base. I guess it is telling to see that the book makes no reference to the work and relevance of peers such as McCabe and Halsted or to any industry accepted code complexity measures. A disappoitment from O'Reilly especially since they produce some very good content rich books.
9/1/2011
(1 of 2 customers found this review helpful)
4.0
Interesting read
By sandyboy55
from St Louis, MO
About Me Developer
Pros
Helpful examples
Well-written
Cons
Best Uses
Expert
Comments about O'Reilly Media Codermetrics:
With more and more companies trying to go with the offshore model for software development, it becomes extremely important to have a pragmatic way of measuring team and individual coding metrics. A lead always should know who the best developers on the team are not just by intuition but with solid data to back up. This book touches on the point of measuring the coder aka software developer.
The book is an interesting read. The author makes it akin to keeping scores in sports. He explain each metric with formula and examples. He categorizes the metrics into skill, response, and value metrics.
Overall, I think the book is very well-written. However, in practice it might be an extremely manual process to capture this data. Software development is a fast-paced activity leaving very little time to maintain data on each coder manually, especially in a large team. I would stick to the automated way of TeamCity + Sonar way of capturing coder metric data for now.
8/5/2011
(1 of 2 customers found this review helpful)
4.0
Excellent book for quality focus
By AM
from MN
Comments about O'Reilly Media Codermetrics:
Once I started reading the book, I could not keep it down. It is written in an interesting and engaging manner and examples are easy to understand. I am wondering if you can provide us an excel spreadsheet template that we can use. I want to get going, we are begining development on a new release and going with two week sprints. If I had the time I could put the excel together but I dont have the time. I have updated the complexity column in all the tasks and bugs have severity level defined as well. I am ready to geth started but would really appreciate an excel template.
Merchant response: Thank you for your review. I'm glad to hear that you were pleased with the book.
The author has created some spreadsheets and templates to accompany the book. You can find them at http://oreil.ly/od2B99
Regards,
Rachel James
O'Reilly Media