"This book will help you not become a "Pointy Hair Manager." It will give you enough insight into the nature of software, the development process, and the techniques and tools used, so that you can intelligently reason about development and adjust, plan, replan, manage risks, and lead a team to success; not just document and record their failure."
--From the Foreword by Philippe Kruchten, Rational Fellow, Rational Software Canada
Together, a high demand for productive software development teams and a company's call for superior software have made seasoned professionals invaluable assets to software organizations. New managers must quickly become familiar with the key skills required by the needs of the position, and seasoned professionals must learn new methods of team organization to cope with the shorter length of the development cycle. Software Leadership: A Guide to Successful Software Development provides sound, practical guidance on how to be a good manager and how to build a competitive software team. This book is for the manager with little software background, as well as the seasoned software professional.
Based on the author's extensive professional experience, the book is a concise and straightforward overview of what he has found that every competent team leader absolutely has to know and practice. The following topics, which a successful leader must understand, are covered in detail:
This book will show you how to lead your team toward the delivery of timely and cost-effective software, and teach you how to lead a modern software development project or organization.
Click below for Sample Chapter related to this title:
1. Quality Software.
2. Software Architecture.
3. The Software Project.
4. Software Development Productivity.
5. The Rational Unified Process.
6. Leadership and Management.
Appendix: Three Failed Approaches to Software Development. 0201700441T09252001
I wrote this book mostly out of frustration. In my experience as a Senior Consultant in Rational Software's Strategic Services Organization, I find that software development is a dismal process for many organizations. Yet, from experience as a development manager and technical lead, I know it need not be so. In most instances, the problem may be traced to an inappropriate leadership approach. The frustration springs from knowing that this problem can be fixed.
Several books and articles focus on how badly software development is managed. It is not my intent to add to that literature, but to bring the reader the good news: Much has been learned about leading software organizations in the last four decades. By applying these lessons, the reader can become a much better leader (and follower) in any organization that develops software.
One reason I wrote this book is that I see an increasing need for software leadership skills. Not only is the software business continuing to grow, but also many firms in other sectors are coming to realize that an increasing amount of the value they deliver is in their software. Consider, for example, the design of medical ultrasound imaging machines, the instruments that are used to visualize fetuses in the womb. There are two design approaches:
This phenomenon of hardware firms realizing that the value of their products is in their software is widespread. Automotive systems (all of those black boxes and engine controllers under the hood), telephone equipment (central office switches, cell phones), toys, entertainment devices, and almost everything else are affected by this. I once had lunch with a manager of a division of a large tier-1 automobile parts supplier. His division makes automobile seats. I asked him what is his biggest problem. He answered it is the software that controls the high-end seats that is supposed to remember various driver preferences.
While writing the book, I had three kinds of readers in mind; each might approach the book differently:
Readers with a technical background will gain a new perspective of a familiar landscape. They may gain a better idea of how to provide technical leadership and what to expect from their leaders. Line managers will gain new insights and perhaps find some new, more effective ways of providing leadership. Software project managers and team leaders may gain a new perspective on how to do their jobs better.
The content of the book is based on the premise that a competent software development leader should have a good understanding of software quality, the most effective development practices, team dynamics, and the appropriate leadership style. Following the premise, I organized the book into the following sections.
Throughout every chapter, there is a focus on the implications of the material to the leadership tasks.
While I recommend everyone read all of the material, for some readers, some chapters will provide more value than others. Chapters 1 and 2 are about software itself. These chapters will be especially helpful to those who lack technical background. Chapters 3 through 5 provide an understanding of the development process. People familiar with the material in the earlier chapters, but new to management, will especially benefit from these chapters. However, this material will also be of use to many experienced managers who are interested in improving the competitive stance of their organization. Chapter 6 should be of interest to all readers.
Let me tell you about the appendix. I have decided to include the material in the hope that many readers will recognize one or more of the errors in their own leadership approach and decide to try something different.
This book is intentionally brief, focusing on the big picture. Many of the topics mentioned in the book warrant books in themselves. I provide many excellent references for the readers who desire a deeper understanding.