Every project of any kind faces risks: future events and possibilities that threaten to undermine it by preventing it from coming to completion or by reducing the benefits it offers. For example, in custom database development, misunderstandings about what the client needs for a report or feature, political conflict in an organization, differences in personal styles, and a hundred other things can slow the project’s momentum or create obstacles such as conflicts or technical hurdles.
As a project manager for custom development projects, I find myself increasingly naming risks, presenting them in bulleted lists so no one misses them. You might wonder why I do this. After all, aren’t risks the bad news, the worst-case scenarios? If everything is going well—the client and the development team understand what the database needs to do, there are plenty of hours left in the budget, and the deadline for completion is weeks away—why accentuate the negative by bringing up pitfalls, gray areas, and uncertainties?
I talk about risks early and often because they are always lurking at the edge of a project, and I need everyone watching for them. On a ship, the navigator must remember and be mindful of rocks and shallow places on the route, even if the weather is good and the winds are light. In the database world, the project manager serves as navigator, but everyone working on the project influences its trajectory, whether they are systems engineers identifying requirements and providing specifications, developers coding the system, or clients testing the new database. A developer’s code contributes to the movement of a project in the same way feedback from someone testing the database does.
Often our clients have not worked with a team developing custom software before. They need information about how best to test and give feedback about a database as well as how to watch for problems. I believe in treating everyone involved with a development project as a member of a single team. While we work for different companies and have different roles, clients, developers, and systems engineers share a goal: development or enhancement of a database that will help our clients work more efficiently. If everyone on the team speaks up about red flags when they see them, the group and the project are more likely to succeed.
For any group endeavor, someone needs to look at the world pessimistically in order to avoid danger and minimize risk. A custom development project benefits from everyone with a stake in the project playing that role. When the database is installed on time and within budget, the team can go have a drink and turn off the negative thinking.