It is not uncommon for software engineers to suddenly find themselves in a role where they are responsible for a team and managing a software project to completion. The skills required for managing developers and successfully delivering a project are not the same as the programming and development skills required to produce good components and code. Growing Software: Proven Strategies for Managing Software Engineers aims to breach the knowledge gap for software engineers who receive that promotion.
The book is split into five parts, beginning with the environment of a software development team and what it means to create and grow a good team. Part Two looks at the technology aspects of the management role: defining a product, managing releases and the evaluation and assessment processes required to turn out good quality code. There is an excellent section on prototyping here. Part Three considers how the engineering function fits into the wider organisation, and there is some good advice here on working successfully with other departments. Testa’s approach to software development is holistic, in that he advocates involving the end users and a wide group of stakeholders as much as possible.
The last two parts of the book cover what the software development manager is likely to need for the long term, not just for getting the first project off the ground. Part Four looks at the processes that make up software development and they are covered in some detail. The text reads like it is aimed at smaller development companies and start ups, as it provides advice for the creation of a software-development methodology. However, even if this is not relevant for some readers, there is benefit to be gained in the assessment and review of existing processes. The final section provides pointers on creating a software strategy, technology overhauls and roadmaps for taking the team and the company forward. Again, this reads like it is aimed at smaller companies, but much of it will still be of use to software-development managers working in larger organisations.
From the beginning of the text you can tell it is designed to be a practical, grounded book. The style is realistic, and it explains how the internal politics of an organisation actually work. There are also hints about establishing the company culture – essential in a new role – and deciding if it is for you. Growing Software also includes appendices and I found Appendix B, about internationalisation, particularly interesting as it covers all types of questions and guidance for converting software for use in other markets. This underlines for me the major premise of the book: it is very commercial and is designed to be of as much practical use to the software manager as possible to ensure positive company results as well as quality software outcomes.
- This review was first published in The Computer Journal, 2009
- Author: Louis Testa
- ISBN: 978-1593271831
- doi: 10.1093/comjnl/bxp096