[From Pitfalls of Modern Software Engineering by Bruce F. Webster (forthcoming)]
Let’s try to keep our perspective while standing knee-deep in the hoopla. As anyone truly experienced in a specific technology or methodology (”the TOM”) will tell you, that TOM is not going to end world hunger or bring about peace in our time. It won’t transform the country of your choice into the new economic superpower of the 21st century. It won’t end cancer, reduce the number of handgun deaths, or curb the rate of out-of-wedlock births. It won’t even affect dandruff.
Closer to home, the TOM in question doesn’t invalidate existing programming languages, methodologies, and tools. It won’t make good engineers or architects out of bad ones. It also won’t make good products out of bad ones; although it may allow you to develop a better program than you might have otherwise, you can develop awful software just as well using a given TOM as you can using your favorite scapegoat legacy TOM.
Adopting a given TOM probably won’t make a late project ship on time, though it may allow you to complete a project that never would have shipped otherwise. On the other hand, it may well make the project even later. A given TOM won’t necessarily have a major impact on the time and effort required for analysis, design, and testing — except, possibly, to increase it as your team and/or organization comes up to speed on it. The TOM in question may not even be the best solution to the problems you face. It might, in fact, make things worse, not better.
An almost blind faith in the virtues of the TOM in question and an equal blindness to its pitfalls and failings.
Arguments with others; a lack of flexibility; blindness to the TOM’s weak spots.
Analyze reactions to each of the statements above. When people disagree, note any strong negative emotional response. Have those who disagree with a given statement explain it to a disinterested, yet knowledgeable third party and see whether they think the logic holds water.
As with many pitfalls, study and experience will do much to cure this one. Beyond that, the Detection method above will help you to identify specific areas of excess enthusiasm and credulity.
Read books, articles and papers that address the TOM, including those in the Bibliography. Find people who have completed meaningful projects using the TOM and ask them for their lessons learned. Have them read the opening paragraphs of this pitfall and respond to any items they disagree with.
Webster, from Pitfalls of Object-Oriented Development (1995).