Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers
Steve McConnellBooks.org participates in affiliate programs including Bookshop.org and the Amazon Services LLC Associates Program. We may earn a commission from qualifying purchases made through links on this page, at no additional cost to you.
Overview
Can you deliver 90% of your software on time, within budget, and fully meet the user's real requirements? Would you like to? Best-selling author Steve McConnell provides a compelling argument for turning software success into an everyday habit by advancing the software profession itself—at the individual, organizational, and industry levels. Expanding on the contents of his previous book After the Gold Rush, the author dispels common myths of software development.If you are a programmer, software developer, engineer, or work in software development, you should READ THIS BOOK.
Why do so many companies use outdated and ineffective software development practices? See page 103
What is "cargo cult" software development, and who uses it? See page 23
How large is the return on investment for better software practices? Can you prove it? See page 115
How do you create career paths for software professionals? See page 143
Which affects projects more--good personnel or good process? See page 135
How much difference is there between the worst software companies and the best? See page xv
Synopsis
McConnell, a software engineer, looks at the emerging profession of software engineering and advocates for professional software practices that support economical creation of high-quality software. He outlines steps individuals can take to achieve higher levels of software professionalism, sets out organizational practices needed to support more professional software projects, and describes steps that must be taken by the industry at large. Annotation ©2003 Book News, Inc., Portland, OR
Editorials
From Barnes & Noble
The Barnes & Noble ReviewThe field of software development is changing. Radically. Some changes are obvious: for example, the breathtaking rush to offshore outsourcing. It’s not just low-end work anymore -- and don’t take it for granted that you’re writing better code than your offshore competitors. According to Forrester, IT decision makers throughout North America rate offshore providers superior to U.S. firms 67 percent of the time.
Offshore outsourcing is just a symptom of a broader reality. Too much software delivers too little value. And the customers are mad as hell. They won’t take it anymore.
You can ignore the new realities (or complain bitterly) as you’re relegated to becoming a 21st-century “software janitor.” Or you can improve yourself (and your software organization) -- so you’ll not only survive, but thrive.
If the latter approach sounds better, read Steve McConnell’s Professional Software Development: Shorter Schedules, Higher Quality Products, More Successful Projects, Enhanced Careers.
McConnell, whose Code Complete is the classic primer on writing successful software, begins by assessing the state of computer programming as it exists today. Then, he takes on the subject he’s most passionate about: transforming the field into a true profession of software engineering.
Many of today’s complaints about software are nothing new. But there’s good news: “We’ve been staring at the same problems long enough to recognize the patterns, and… we seem to be the brink of fixing them.”
It’s long been known that some development organizations are 10 times as productive as others. Recently, it’s been discovered that some are 600 times as productive. What’s more, the development practices that make them so successful are well known. To McConnell, the lessons are obvious:
“The greatest risk lies with not changing — staying mired in unhealthy, extravagant development practices instead of switching to practices that were proven to be more effective many years ago. How to change? That is the central topic of the rest of this book.”
McConnell begins with steps individuals can take on their own. He identifies 10 important areas of software engineering knowledge: “A professional software engineer should at least acquire introductory knowledge of all areas, competence in most, and mastery of some.”
If you’re lucky, you’ve been formally taught a few (for example, software construction). But you’ve been expected to learn all the others implicitly (e.g., requirements, design, testing, software engineering processes). That’s not good enough. Fortunately, the software development field has matured to the point that once you gain this knowledge, much of it will last for decades.
Next, McConnell turns to changes that need to happen at the organizational and industry-wide level: improvements in diffusing knowledge amongst working developers; new educational programs for “computer science” students; and (for environments where poor software can kill), maybe even professional licensing.
Most developers find that idea provocative, to say the least. But McConnell’s track record is such that his ideas deserve to be taken very seriously. Bill Camarda
Bill Camarda is a consultant, writer, and web/multimedia content developer. His 15 books include Special Edition Using Word 2000 and Upgrading & Fixing Networks for Dummies, Second Edition.