Reading Michael Krigsman’s article Research: Developer perspectives on IT failure caused me to reminisce again on the many software application and systems development projects I’ve been involved with over the years, and the challenges associated with successfully building and delivering software that meets business needs and adds value to an organization.
However, I think the article might have been better titled – ‘Evidence of Organizational Misalignment of Priorities on Software Development Projects’ as the most salient and telling point in the article for me was not the perceptions of various organizations as to the success or failure of their projects, but rather the matrix that provided the comparison of relative priorities and perceptions of importance of different measures of success across different groups involved in software development projects within the organization.
The fact that there is such a large discrepancy between project managers and business stakeholders as to the relative priorities of business ROI vs on-time, on-budget delivery should be a gigantic red-flag to organizations everywhere. I expect that the root cause of this is, as Mr Krigsman suggests, the fact that project managers’ evaluation is based primarily on on-time, on-budget delivery. Nevertheless, it seems obvious that if the group that presumably has the responsibility and authority to determine when software is deemed ‘deliverable’ is admittedly willing to ship software that’s ‘not ready’ (a very ambiguous term in itself) provided that the schedule is met, would be a recipe for disaster, and poor ratings of project success by the end-users receiving an incomplete system.
It would be a huge mistake to suggest that there are easy, one-size fits all solutions to the challenges of successful software project delivery. However, a critical starting point is that the entire team, all stakeholders and participants, have to have a shared definition and understanding of what success means, and a shared, common stake in achieving success. If all members of the team share the rewards of success and the costs of failure, at the very least the entire team will be working more-or-less towards the same goal, and will be motivated to ensure that the inevitable compromises required along the way (whether scope, budget, time or quality) are collectively agreed as being in the best interest of the entire team with respect to achieving the common goal. With the amount of misalignment between groups evidenced by the statistics summarized in Mr Kriger’s article, it might be more appropriate to be amazed and surprised by the number of projects that somehow manage to succeed than to question why so many fail.