The study found four key factors accounting for the differences between best and worst in class:
- Effective project leadership resulting in low staff turnover. The results are not surprising. But what I like about the report is that instead of the usual admonition about making sure the team members have the right technical skills, this study found an explicit need for functional knowledge of the application domain. In other words, what the application is supposed to do for the end-users, which translates to a need for SMEs.
- Another thing I like about this study is that it follows projects through the initial delivery all the way through the stabilization phase. How many times has a project been delivered "on time" because requirements were left off; were poorly understood or implemented; and then, shortly after the first release, the missing requirements were uncovered and corrected in a flurry of fixes?
- In fact, I suspect that the reason domain knowledge assumes more prominence in these findings than it has in others is exactly for that reason. It is not until the end-users have spent some time with the application that requirements deficiencies or subtle—but—critical functional gaps are uncovered.
- So what can you do? First, make all the noise you possibly can about getting SMEs involved throughout the process. Wave this study around. And don't fall for the trick that the schedule demands you should be in stage X or Y by now, so you should move forward even if you don't have the input, review, or sign-off from the SMEs because they are so busy elsewhere. You'll pay for it later, with interest. Finally, be sure to monitor the so-called stabilization phase and focus on clearly identifying the issues that result from inadequate SME involvement so you can make your case better the next time around.