One Minute Bottom Line
|In this excellent read, Reflections on Management: How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself, Watts Humphrey distills 60 years of software engineering leadership and experience into a readable and accessible book.
During the late 1960's and through the 70's computing power increased dramatically, enabling programmers to apply computers to complex problems. It became apparent that it is difficult to write software that is understandable, correct and verifiable - as evidenced by projects that ran over-time and over-budget, that produced code that could not be maintained, that did not work as required, or that were simply never delivered. In response to this software crisis many processes and methodologies were, and continue to be, developed to meet these challenges. Watts Humphrey is, and continues to be, a influential thinker, writer and contributor on software quality and software development process to meet these challenges.
During the 1980's the Software Engineering Institute (SEI) developed the Capability Maturity Model which was based on the process maturity framework first published in Watts' 1989 book Managing the Software Process. He also developed the Personal Software Process and Team Software Process to improve the time management and quality assurance practices of individuals and teams. In Reflections on management: How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself
, his most recent book, Watts brings together the distilled gems of his previous writings. It is readable and accessible book on the management of people, yourself, your team and your manager. Management in the form of motivation, discipline, mentoring, leadership and improvement in each of those groups is covered thoroughly. As Richard Branson said when interviewed by Chris Anderson for the Ted conference in 2007
[Mr Branson] Learnt early on if you can run one company you can can really run any company. Company is all about finding the right people, inspiring those people , drawing out the best in [those] people...
It is a continuing disappointment to the me that companies fail so dismally to motivate, and inspire the people they employ. This is particularly important in the business of software development since the creation of value and wealth for a software company is dependent on the creativity and problem solving skills of their programmers. It is not just the responsibility of our managers to do this, but ours as well - to become our own boss, that is, taking ownership of the problem, and not be a victim to failure. Reflections on management
gives you that insight of 60 years experience, what has worked, what has failed, and why.
Reflections on management is divided into four parts along the lines of the subtitle How to Manage Your Software Projects, Your Teams, Your Boss, and Yourself. Each chapter is self contained, which allows readers to dip in and out. I suspect, however, that most will want to read it from cover to cover (and maybe several times). There is an empirical feel to the book and a need to measure activities. This shows that change has happened, which is an important part of improving quality. Watts' also takes this approach in his other books, the Personal Software Process
and Team Software Process
, by suggesting that you record daily activities to improve time management, among other strategies.
Watts has been compared with Edwards Deming (the farther of Total Quality Management) in arguing that quality, as a philosophy and a practice, is integral in software development and is not something to be thought of only in the end when software is being tested. Quality should be implemented in the process of development, in delivering useful products to the customer, in practices that reduce “bombs” in code, and in continuing improvement. Watts refers to bugs in code as "bombs" to reinforce the importance of doing what you can to avoid introducing them into the code you write. You might like to compare this with with the concept of Mary Poppendieck's elimination of Failure Demand and replace it with Value Demand. Whether you call them bombs, bugs, or faults, they are all waste time that should be spent on further software development.
I was delighted to see Watts draw on ideas and experiences from Peopleware: Productive Projects and Teams
in his chapters on managing teams. He provides practical and pragmatic advice on working on a team, managing a team, and protecting a team. I particularly enjoyed his section on managing your boss and becoming your own boss - not working for your self, but taking ownership and responsibility for what you do. In time you will be able convince your manager that you can manage yourself.
This book covers what you need to know and what you need to do, but not how you do it. Watts Humphrey has a deep and intimate understanding of what goes on in the minds of programmers and managers of software projects. This makes makes it an excellent source of information on the importance of quality and planning. It should give you an excellent understanding of the complex landscape of team dynamics, team psychology, and team management. Most importantly, this book gives you the knowledge needed to be a productive and contributing member to your team and organisation. My only real criticism is that some sections from his previous books were cut-and-pasted into this one, which you will probably not notice unless you have read the others.