Codermetrics

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

Publisher resources

View/Submit Errata

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

Product information

  • Title: Codermetrics
  • Author(s): Jonathan Alexander
  • Release date: August 2011
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781449315337

You might also like

book

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック

by Dustin Boswell, Trevor Foucher, 角 征典

美しいコードを見ると感動する。優れたコードは見た瞬間に何をしているかが伝わってくる。そういうコードは使うのが楽しいし、自分のコードもそうあるべきだと思わせてくれる。本書の目的は、君のコードを良くすることだ。(本書「はじめに」より) コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明しています。日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。

audiobook

Transformed

by Marty Cagan

Help transform your business and innovate like the world's top tech companies! Transformed: Moving to the …

book

Code with the Wisdom of the Crowd

by Mark Pearl

Build systems faster and more effectively with Mob Programming. Mob Programming is an approach to developing …

book

jQuery Mobile

by Jon Reid

Native apps have distinct advantages, but the future belongs to mobile web apps that function on …