(This post contains affiliate hyperlinks. Please read my full disclosure.
You are not the first software engineer or technie to suddenly find yourself in charge of managing a team or IT projects.
IT professionals from all disciplines are often asked to step into roles that require them to manage a software project to completion.
Management skills are different from the skills needed to deliver a project and manage developers. Growing Software: Proven Strategies to Manage Software Engineers aims at closing the knowledge gap for software engineers who are promoted.
This book was a favorite of mine from many years ago. It helps to explain the workings of teams and individuals. It is a great primer for communicating with technical people.
Setting the scene for software teams
The book is divided into five parts. It begins with the environment for software development teams and what it means for creating and growing a great team.
Part 2 examines the technology aspects of the managerial role. This includes defining a product and managing releases. It also covers the evaluation and assessment process required to produce high-quality code. This section is excellent on prototyping.
Part 3 examines the role of the engineering function in the overall organisation. It also contains good advice on how to work with other departments. Testa’s holistic approach to software development emphasizes the involvement of end users and a broad range of stakeholders.
Advice throughout the entire project and software development lifecycle
The last two sections of the book provide information that the software development manager will need long-term, not just for the initial project. Part Four focuses on the software development processes and is well-detailed. It seems that the text is targeted at small development companies and start-ups as it offers advice on how to create a software-development process. Even though this may not be relevant to some readers, there are still benefits to be gained from the review and assessment of existing processes.
The last section contains tips on creating a strategy for software, technology overhauls, and roadmaps to move the company and team forward. Although this section is targeted at smaller companies, it can still be useful for software-development managers in larger organizations.
You can see that the book is practical and grounded from the beginning. It is very realistic and explains how internal politics work in an organisation. You will also find tips on how to establish the company culture, which is essential for anyone starting a new job. 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 is what I consider the main premise of the book. It is commercially focused and is intended to be practical for software managers to ensure both positive company results and quality software outcomes.
Review updated September 2015. This review was published in The Computer Journal in 2009 and on this blog in 2010.

Book review: Growing Software