It is a tool to manage project trade-offs. This is kind of a signed agreement with the customer to find the priorities of the variables while making trade-off decisions. This matrix allows categorizing the variables into 3 sections: fixed, chosen, adjustable. Fixed constraints are unchangeable, chosen are desirable priorities and the adjustable ones are to keep a balanced for fixed and chosen ones.
It is suggested that a project is a balance between following variables:
These variables are represented with the sides of the trade-off triangle. The trade-off triangle suggests that if any of the side changes in the triangle, then other sides (one or both) need to change in order to maintain balance.
The purpose f the vision statement is to have a mutual agreement between the customer and the team about the purpose of the project. This is to ensure that there would be no problems between the stakeholders in the basic understanding about why was the product needed and about the basic flow of the project.
This is most useful when the requirements are not clearly defined and there is a need of continuous refinement in the estimates. This is best suited for agile development of small projects. The changes take place on the basis of customers or other stakeholder's feedback at all stages in the project. This might become chaotic and make it difficult to track progress.
The task in one phase needs to be completed in order to move to the next phase. Waterfall model is beneficial only when the requirements are clearly defined and there are no chances for any changes in the requirements. It is easy to manage the progress of the project in terms of schedule, resources, and budget.
The solution is deployed in this phase and is tested by the client for approval. Customer's approval and feedback decides the end of the project.
Various testing cycles like integration, load, and beta are done in this phase. The team is responsible for fixing up all the discovered issues in this phase. Issues are prioritized in order to stabilize the application. After this phase, the solution is ready for deployment.
The created design is implemented in this phase by writing code. In this phase, it is verified that all the planned tasks, designs, specifications, requirements are implemented to achieve the desired result. This phase ends by making sure that all deliverables including the code are all handed over to the client.
During this phase it is determined by the team about what is to be developed, how to create a feasible solution for it. Functional specs are created based on the analyzed requirements. After the analysis a design is to be created to provide the solution to the project. Plans are created in order to make the design work. Time estimates, cost estimates and deliverables are all figured out in this phase.
This phase aims to create teams based on skills, experience, resources and budget. In this phase, we need to create the entire project structure, defining the goals, validations, vision and scope for the project. The definition of requirements, identification of stakeholders, risk assessment is all done here in this phase. This phase ends with a sign off from the stakeholders.