This is an adaptation of the spiral model which emphasis is explicitly placed on the involvement of the client in a negotiation process at the genesis of the product development. Ideally, the developer would simply ask the customer what is required and the customer would provide sufficient detail to proceed. Unfortunately this rarely happens and significant negotiations between both parties are required to balance functionality, performance, etc… with cost and time-to-market considerations.
The model, shown in Fig. 1.8, derives its name from the objective of these negotiations, i.e. “win-win”. The client gets the product that satisfies the majority of his/her needs, and the developer wins by working to realistic and achievable budgets and deadlines. To achieve this objective the model defines a set of negotiation activities at the beginning of each pass around the spiral. Rather that a single customer communication activity the following activities are defined:
Identification of the system stakeholders. That is the people on the organisation that have direct business interest in the product to be built and will be rewarded for a successful outcome or criticised if the effort fails (e.g. user, customer, developer, maintainer, interfacer, etc.).
Determination of the stakeholder’s “win conditions”
Negotiations of the stakeholder’s win conditions to reconcile them into a set of win-win conditions for all concerned (including the software project team).
In addition to the early emphasis placed on the win-win condition, the model also introduces three process milestones (anchor points), which help establish the completion of one cycle around the spiral and provide the decision milestones before the software project proceeds. These are,
1. Life Cycle Objectives (LCO) – Defines a set of objectives for each major software activity (e.g. a set of objectives associated with the definition of top level product requirements)
2. Life Cycle Architecture (LCA) – Establishes the objectives that must be met as the as the software architecture is defined.
3. Initial Operational Capability (IOC) – represents a set of objectives associated with the preparation of the software for installation/distribution, site preparations prior to installations, and assistance required by all parties that will use or support the software.
Advantages:
Faster software production facilitated through collaborative involvement of the relevant stake holders.
Cheaper software via rework and maintenance reductions
Class Exercise: Determine the disadvantages (if any) of the WINWIN model:
|
Copyright
© Adrian Als &
Charles Greenidge, 2003 |