O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required


Book Description

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

Table of Contents

  1. Codermetrics
  2. Preface
    1. Organization of This Book
    2. Safari® Books Online
    3. How to Contact Us
    4. Acknowledgments
  3. I. Concepts
    1. 1. Introduction
    2. 2. Measuring What Coders Do
      1. The Purpose of Metrics
        1. Metrics Are Not Grades
        2. Team Dynamics
        3. Connecting Activities to Goals
        4. Good Metrics Shed a Light
        5. Examining Assumptions
      2. Timeout for an Example: The Magic Triangle (Partially) Debunked
      3. Patterns, Anomalies, and Outliers
        1. Peaks and Valleys
        2. Ripple Effects
        3. Repeatable Success
      4. Understanding the Limits
      5. Timeout for an Example: An Unexpected Factor in Success
      6. Useful Data
        1. Choosing Data
        2. Obtaining Data
        3. Spotters and Stat Sheets
        4. Fairness and Consistency
      7. Timeout for an Example: Metrics and the Skeptic
    3. 3. The Right Data
      1. Questions That Metrics Can Help Answer
        1. How Well Do Coders Handle Their Core Responsibilities?
          1. How well do coders write code?
          2. How well do coders design their code?
          3. How well do coders test their code?
        2. How Much Do Coders Contribute Beyond Their Core Responsibilities?
          1. How many areas do coders cover?
          2. How effectively do coders take initiative?
          3. Do coders innovate?
          4. How well do coders handle pressure?
          5. How well do coders deal with adversity?
        3. How Well Do Coders Interact With Others?
          1. Do coders demonstrate leadership?
          2. Do coders inspire or motivate their teammates?
          3. How well do coders mentor others?
          4. How well do coders understand and follow directions?
          5. How much do coders assist others?
        4. Is the Software Team Succeeding or Failing?
          1. What is the user response to each software release?
          2. How is the software doing versus competitors?
          3. What is the quality of each software release?
          4. How efficiently does the team deliver new software releases?
      2. Timeout for an Example: An MVP Season
      3. The Data for Metrics
        1. Data on Coder Skills and Contributions
          1. Productivity
          2. Speed
          3. Accuracy
          4. Breadth
          5. Helpfulness
          6. Innovation and Initiative
        2. Data on Software Adoption, Issues, and Competition
          1. Interest and Adoption
          2. Notable Benefits
          3. User Issues
          4. Competitive Position
      4. Timeout for An Example: A Tale of Two Teams
  4. II. Metrics
    1. 4. Skill Metrics
      1. Input Data
      2. Offensive Metrics
        1. Points
        2. Utility
        3. Power
        4. Assists
        5. Temperature
        6. O-Impact
      3. Defensive Metrics
        1. Saves
        2. Tackles
        3. Range
        4. D-Impact
      4. Precision Metrics
        1. Turnovers
        2. Errors
        3. Plus-Minus
      5. Skill Metric Scorecards
      6. Observations on Coder Types
        1. Architects
        2. Senior Coders
        3. Junior Coders
    2. 5. Response Metrics
      1. Input Data
      2. Win Metrics
        1. Wins
        2. Win Rate
        3. Win Percentage
        4. Boost
      3. Loss Metrics
        1. Losses
        2. Loss Rate
        3. Penalties
        4. Penalties Per Win (PPW)
      4. Momentum Metrics
        1. Gain
        2. Gain Rate
        3. Acceleration
        4. Win Ranking
        5. Capability Ranking
      5. Response Metric Scorecards
      6. Observations on Project Types
        1. Consumer Software
        2. Enterprise Software
        3. Developer and IT Tools
        4. Cloud Services
    3. 6. Value Metrics
      1. Input Data
      2. Contribution Metrics
        1. Influence
        2. Efficiency
        3. Advance Shares
        4. Win Shares
        5. Loss Shares
      3. Rating Metrics
        1. Teamwork
        2. Fielding
        3. Pop
        4. Intensity
      4. Value Metric Scorecards
      5. Observations on Team Stages
        1. Early Stage
        2. Growth Stage
        3. Mature Stage
  5. III. Processes
    1. 7. Metrics in Use
      1. Getting Started
        1. Find a Sponsor
        2. Create a Focus Group
        3. Choose Trial Metrics
        4. Conduct a Trial and Review The Findings
        5. Introduce Metrics to the Team
        6. Create a Metrics Storage System
        7. Expand the Metrics Used
        8. Establish a Forum for Discourse
      2. Timeout for an Example: The Seven Percent Rule
      3. Utilizing Metrics in the Development Process
        1. Team Meetings
        2. Project Post-Mortems
        3. Mentoring
        4. Establishing Team Goals and Rewards
      4. Timeout for an Example: The Turn-Around
      5. Using Metrics in Performance Reviews
        1. Choosing Appropriate Metrics
        2. Self-Evaluations and Peer Feedback
        3. Peer Comparison
        4. Setting Goals for Improvement
        5. Promotions
      6. Taking Metrics Further
        1. Create a Codermetrics Council
        2. Assign Analysis Projects
        3. Hire a Stats Guy or Gal
      7. Timeout for an Example: The Same But Different
    2. 8. Building Software Teams
      1. Goals and Profiles
        1. Set Key Goals
        2. Identify Constraints
        3. Find Comparable Team Profiles
        4. Build a Target Team Profile
      2. Roles
        1. Playmakers and Scorers
        2. Defensive Stoppers
        3. Utility Players
        4. Role Players
        5. Backups
        6. Motivators
        7. Veterans and Rookies
      3. Timeout for an Example: Two All-Nighters
      4. Personnel
        1. Recruit for Comps
        2. Establish a Farm System
        3. Make Trades
        4. Coach the Skills You Need
      5. Timeout for an Example: No Such Thing As a Perfect Team
    3. 9. Conclusion
  6. A. Codermetrics Quick Reference
  7. B. Bibliography
  8. Index
  9. About the Author
  10. Colophon
  11. Copyright