Align Vision and Expected Outcome
David Diaz Castillo, MBA, PMP Panama City, Panama
Software development projects are very challenging, because needs and expectations are not always well-defined. The work of a software project manager is to make sure that this information is in place.
1. The main project purpose is well-defined.
2. Everybody understands why this project is being undertaken.
3. The impact for the 3P's (People, Processes, and Platforms) is clear.
4. The needs and expectations are included in the requirements documents. Determine what items are in scope or out of scope, then communicate this to the team.
The software project manager needs to align team members with the vision and the outcomes expected and master three additional topics.
1. Why this project is the solution? - Business View (What problem or opportunity is this project going to solve, or how will this add value to the organization.)
2. What should the software do? - SMART View (Make it Specific, Measurable, Agreed Upon, Realistic, and possible to do within the Time Constraint.)
3. What does the final user think the system will do? - Subjective View (Capture expectations and perceptions from the end-users during the initiating phase.)
Point #1. When coding begins, the programming team and the software project manager focus on the functionality and the technical part of the project, not the main reason that the organization is funding this endeavor. Future misunderstandings, pitfalls, and errors in the decisions we make, are because the team is not constantly reminded of the real business problem to be solved. The benefits that this project should bring to the organization are not always at the forefront. To avoid this pitfall, we need to crystallize the purpose, assumptions, constraints, and risks for the project.
Point #2. The technical and functional objective of the project must be clear enough for all team members to grasp, including the project sponsor. The outcomes have to be aligned with the strategic objectives of the business area that eventually will become the owner of the system.
Point #3. The software project manager should identify what end-users expect. How do they think this new application is going to help them in their day-to-day work? The project manager must be clear on these benefits and expectations and communicate them to the development team to get their buy-in. With that clarity, he/she can move forward to convey the advantages accurately to the end-users and help them form a realistic vision of the end software product.
With this detailed grasp of project purpose and benefit, on-the-fly decisions become easier. And, as the Software Project manager really knows what the users expect and what the system is intended to do, he/she is able evaluate change control submissions more effectively. This prevents misdirection or tangents occurring during the project execution phase.
We should discipline ourselves to truly understand both the technical project requirements and the business value it is intended to provide. With this knowledge, we will be prepared to create better software results and manage uncertainty in a professional way throughout the project lifecycle.