Over the years, we have worked with the clients who have undocumented project ideas, documented ideas with or without design and the projects in need of further development, e.g. bug fixing, upgrading or preparing a final release. They all expect us to build software that will appeal to users and yield good returns, which we bring about through careful planning. The underlying motive is to help clients understand the purpose of their projects because only then we can deliver the right product.
For example, there are clients who have a half-baked idea in their minds, say, they need seven transparent perpendicular lines and one in the form of a kitten. Not only do we attempt to draw these lines but we also try to grasp what they are used for and who will be using them. After eliciting the expectations, we make suggestions how to improve or optimise the product. We also propose new capabilities that the client didn’t envision. All obtained information is documented and scrutinised by the clients and developers.
Even if the client provides us with a full description of the project, we meticulously analyse it to make sure it is a perfect solution as there can be implementation constraints, localization issues or other nonfunctional or missing features that have not been considered. Again, it is an ultimate goal of the project that counts.
At the end of the day, it is this goal that defines the project scope, namely the requirements that are collected and validated in discussions between all stakeholders constitute the scope.
Diagram 1. Agree on the project scope
Clearly a schedule is necessary to complete this scope of work timely. It depends on the estimated efforts needed for the tasks.
Diagram 2. Approve the project schedule
Evaluating risks is critical to the success of every venture. We use our knowledge of the market and rely on our experience to foresee risks on any undesirable consequences.
Diagram 3. Evaluate risks
Eventually, we plan the budget considering the provisional costs.
Diagram 4. Set the budget
We assemble the team depending on the project complexity. Quality assurance engineers are involved in the project from the very beginning. They are able to detect ambiguities and discrepancies early on and reduce the risk of failure.
Diagram 5. Assemble a team
Last but not least, we specify ways of communication, build delivery and feedback format.
Diagram 6. Agree on the means of communication
To sum up, it is down to the project planning that we owe our successful cooperation with the clients and partners. It is the foundation of any project.