When you start a project, how do you define its success? I researched a failed software project a couple of years ago and was amazed at the results. Although the executives of the organization identified the project as a failure—way over budget and way late—the software developers on the project had a completely different perception. They identified this project as either the best or the second best project they had ever worked on. It was a huge success in their eyes.
Success criteria of the developers
How can we account for such radically different viewpoints? First of all, these developers were not novices. They were senior-level, with an average experience level of eight years. They defined success as “completing a technically challenging project and producing a high-quality product.” They all mentioned that the schedule and cost estimates were unrealistic from the start and said that they didn’t really focus on those business goals.
The executives, however, clearly identified the project as a failure. It was completed 13 months later than planned, and it ran $3 million over budget. The developers were obviously not on the same page as management. And since management holds the scorecard for rating project success, every member of the team must understand those objectives.
The developers may have been happy with the results, but their work on this project will have lasting consequences. The organizational leaders will always associate the project results as “good product but too expensive and late.” This project negatively affected the software developers’ growth in the organization.
Getting it right
- Organizational leaders need hard data to make decisions. So if you perceive problems with the project estimates, collect data to support your perception. Work with other teammates to improve your analysis.
- If you are convinced the project estimates (schedule, effort, and cost) are wrong, discuss the situation with your supervisor. You also might want to brush up on your conflict-resolution skills. (For more on handling this relationship, see "Resolving conflict with your boss.") Emphasize to your supervisor that your objective is to ensure that you meet the business needs in the most effective and efficient manner. Make sure that you understand the overriding business objectives, e.g., needing to have the software ready for the marketing department’s November launch celebration. Even if you don’t convince anyone to change the project schedule, you will have at least taken the first step toward adjusting their expectations.
- Strengthen your project management skills. The more you and your fellow developers learn about project management, the better you will be able to handle your projects. This will also increase your credibility with your management. Consider online training or check your local colleges.
You can make a difference
Don’t assume that you can’t affect the direction of a project. All organizations have limited budgets. If a project is in runaway mode—experiencing substantial cost and schedule overruns—other projects are either cut back or placed on hold. Only those organizations with very deep pockets can survive these out-of-control projects. As a developer, you most likely know more about the technical challenges than your manager. Help him or her understand the situation. Try your best to avoid a runaway project. Your career may depend on it.