Is there a rational way to measure coder skills and contributions and the way that
software teams fit together? Could metrics help you improve coder self-awareness,
teamwork, mentoring, and goal-setting? Could more detailed data help you make better
hiring decisions, help make performance reviews fairer, and help your software teams
become more successful?
Whether you are a coder, team leader, or manager, if you are interested in any of these
topics or in how metrics can be applied in a variety of other ways for software development
teams, then this book is designed with you in mind. The ideas in this book are
a departure from how metrics have been applied to software development in the past.
The concepts and techniques presented here are meant to help you think differently
about building software teams and to help get you started on your own journey using
metrics in new and better ways as part of the software development process.
As a manager of software teams, I myself am on that journey. I believe the techniques
in this book have helped “turn around” troubled software teams and have helped good
software teams become even better. Gathering metrics on a wider set of activities and
outcomes isn’t the only path to success, of course, but it has worked for me, and I
believe it can work for you, too.
Maybe you measure success by the number of people who use your software, or by
how efficiently you deliver releases, or by how few errors you have. Will the use of
metrics improve your teams and your success by 5%, 10%, 25%, or more? You will
only know by testing these ideas yourself. But even if it’s just 5% (though I think it can
be much more), how much is that worth? Even if using metrics simply helps the coders
on a team become more self-aware and become better teammates, how much is that
worth? At the very least, I believe the potential benefits justify the small amount of time
and effort it takes to start gathering and using the kind of metrics described in this book.
And if you don’t decide to gather metrics, I believe there are many concepts here that
you can still learn from and apply to your own teams.