OpenUP Methodology. Part 4: Project Life Cycle
Project lifecycle provides stakeholders with control mechanisms to ensure transparency and monitoring, allowing to manage the financing, scope of the project, its exposure to risk, delivered customer value and other aspects of the process.
The term “stakeholders” is a general term. This concept unites leaders and other people who manage money and determine the strategic direction. In the life cycle for stakeholders, it is necessary to provide for specific decision points in which they must express their approval / disapproval of the progress of the project.
Each iteration at the output has an intermediate product that allows interested persons to understand what use value was created and how well they track the project. In addition, it also allows the team of developers to make changes to the project to optimize the final result.
In OpenUP, iterations are organized as a set of phases. Each phase ends with a checkpoint designed to provide control by setting and answering a number of questions that are usually important to stakeholders:
- The initial phase. Are the scope and objectives of the project coordinated? Should I continue working on the project?
- Refinement phase. Is the execution architecture that will be used to develop the application coordinated? Is the consumer value and risk created at the moment acceptable?
- The design phase. Did we get a close enough application to finish? is it possible to shift the attention of the team to setting up, finalizing and ensuring a successful deployment?
- Delivery phase. Is the application ready for release?
The phases are taken from the RUP and take into account the control points that Barry Boehm introduced in his spiral development model.
If the answer to the above questions in the report for this phase is “yes”, then the development of the project continues according to the plan. If the answer is no, the timeframe for this phase is extended (usually by adding an additional iteration) until a satisfactory answer is received or the interested parties decide on the rejection of the project.
Disclaimer: All flexible development processes provide a certain degree of visibility at the end of each iteration. However, it should be noted that it is necessary to provide for a number of additional explicitly designated decision points. At IBM, we took documented decisions at each project milestone by voting on all aspects of marketing, service, sales, development, financing, legal aspects, and so on.
One of the objectives of the life cycle of the project is to focus on two motivations of stakeholders: risk reduction and the creation of consumer value. The OpenUP phases target the working group to reduce risk in accordance with the answers to questions at the end of each phase while simultaneously monitoring the process of creating value, as shown in the figure below.
Risk is an expression of the probability of unforeseen events occurring during the course of a project; risk prevents the creation of consumer value. The size of the risk is directly proportional to the inaccuracy of the preliminary assessment, and interested persons usually want to know what consumer value the project will be able to deliver for a stipulated time, as early as possible. In many cases, the risk will be lower if the consumer value is created by implementing and testing most of the critical functions. Nevertheless, there are situations in which a reduction in risk and the creation of an intermediate consumer value complement each other. Let’s consider an example. At the end of the refinement phase, it is necessary to reduce technical risks as far as possible and submit a stable architecture for consideration. The members of the working group should show that they have an executable architecture with several ready-to-run selected scenarios and a list of risks, which reflects the reduction of many key technical and other risks. It is necessary to find a balance between reducing the risks and the consumer value of executable code. The fact that for one project will be the desired equilibrium, for another project may be unacceptable.
Risk: We believe that most of the flexible development processes are not sufficiently focused on reducing risks, or at least it is not reflected in them in a sufficiently clear manner. Most of us work in environments in which we are forced to make informed predictions to allow the rest of the organization to function effectively. Forecasts will always have a certain degree of approximation, but it is of great importance to make them more accurate at earlier stages, rather than later ones.
OpenUP: at this stage in the OpenUP family there are two representatives: it’s the basic OpenUP process and the basic OpenUP process with a number of additional extensions taken from the DSDM process, which we call OpenUP / DSDM. Different organizations plan to create other extensions.