I just finished reading Steve McConnell’s Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers. This is not a book about languages, software design, or coding techniques. It is a book about being a software professional, and about managing and leading software professionals. It is a book about the state of software development as a profession, and about what we should aspire for it to become. All that, and it is an interesting read.

Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers While Mr. McConnell’s Code Complete has become a contemporary classic among the coding elite, this newer entry hasn’t yet garnered nearly the attention of its more famous predecessor. Professional Software Development, for all its breadth, flows well from one topic to the next. At a fairly compact 243 pages, I am impressed with the amount of valuable information McConnell has managed to pack into it.

The first part of the book deals with software engineering and software process in general, describing approaches for success, as well as for failure. In this part, the author describes the various approaches to software development processes and at how these approaches are often misapplied by adopting superficial aspects of an approach that, without the foundation, serve only to weigh down the effort. If I had my way, this section of the book would be reviewed by every stakeholder at the inception of every software project.

The second part, appropriately entitled Individual Professionalism discusses personal professional development for the software developer, as well as career path options along the way. It talks about the various personality traits and knowledge levels needed for differing career progressions. It lays out the skill stratifications and specializations. I think it may serve as valuable guidance for the junior or mid-level developer; but it provides invaluable insight for the individual tasked with building or organizing a software team.

Part three, Organizational Professionalism, tackles the issues of motivation, management, and helping your people develop their skills. Software process and personnel factors are covered in some depth. To make it easier for any manager, McConnell even includes a chapter detailing his company’s professional development program.

In the fourth part, Industry Professionalism, the questions of industry licensing, professional ethics, and other state-of-the industry questions are addressed. This part is complementary to part 2, but focuses on the broader environment in which our craft is performed. The issues discussed in this part are perhaps a bit loftier than with the rest of the book; but I can’t help but think that they will become increasingly important in the very near future. Take licensing for example. Talk of licensing software professionals has been around for a very long time; and several organizations have advocated licensing. ICCP and IEEE-CS have industry neutral certification programs that may serve as templates in the move toward licensing. Microsoft has been talking with the IASA, and is reportedly maintaining their MCSA (Microsoft Certified Software Architect) exam technology neutral. In Texas, the licensing exam is already available.

It would be difficult to overstate how highly I recommend this book. Every software professional who wishes to see the profession advance, and who wishes to advance with it will find this book of interest. It should also be required reading for every manager and executive who has responsibility for a software team; especially those who would bypass the process in pursuit of faster results. Any reader whose professional interest has brought them to this site should READ THIS BOOK!

About Max H:
Max is a father, a husband, and a man of many interests. He is also a consulting software architect with over 3 decades experience in the design and implementation of complex software. View his Linked-In profile at http://www.linkedin.com/pro/swarchitect