- Shopping Bag ( 0 items )
From Barnes & NobleThe Barnes & Noble Review
The 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.