Промышленный лизинг Промышленный лизинг  Методички 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [ 42 ] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101


Figure 4.9: Open source methodology.

A typical iteration (1 - n) of an open-source project follows these steps:

The developer carries out the design and code generation either individually or in a team. The developers or user community executes concurrent debugging and testing.

New functionality and identified bugs are passed along to the project owner.

A new release is then put together based on the identified bugs and all new functionality that is being requested is reviewed.

When the new release occurs, an open-task list is distributed to the user community, seeking members to voluntarily execute the tasks on the list.

1кШиШ=1 1иллл1М1Ы1Д



iJJ..HI8

The Spiral Methodology


The spiral model uses a cyclic approach to develop systems by defining the system. This results in various releases. It allows the project manager to build a proof-of-concept for the client early on. The model is rapid prototyping and it centers on evolutionary development, using the waterfall model approach for each project phase. With this approach, detail of the entire system is not fully defined at the first attempt. Instead, developers (1) assess the highest priority features, (2) define them, (3) implement them, and then (4) obtain feedback from clients-such feedback distinguishes incremental from predictive development. Based on this flow process, the team goes back and starts to define and implement additional features. Figure 4.10 shows the basic structure of a spiral methodology. The advantages of the spiral model include:

Its design flexibility allows changes at several stages of the project.

The process of building up large systems in small segments makes it easier to do cost calculations.

The client, who will be involved in the development of each segment, retains control over the direction and implementation of the project.

The clients knowledge of the project grows as the project grows, so that he or she can interface effectively with management.

The client receives the quality and communication of in-house development.


Figure 4.10: Spiral methodology. Source: Dr. Barry Boehm, The Spiral Methodology. Reprinted with permission.



A spiral model is very much a risk-driven methodology because risk is assessed before each phase and reassessed at frequent cycles. At times, project managers consider a spiral approach a quick fix approach: I dont need to develop any project documentation because Im developing a prototype. There is much more to it than that. A structure still needs to be applied to any RAD project. The spiral model is more difficult than the waterfall methodology but, with practice, its technique and process become easier. An iterative methodology leans more toward the way developers/designers work, rather than the way a project manager would work. There are many variants to the spiral model and even greater strides will be made in the future, but this methodology works well now. Table 4.5 shows various problems that can be solved with a spiral methodology.

Table 4.5: Solving problems through spiral development

Problems Often Encountered

Spiral Solution

Inadequate user requirements

It enables and encourages user feedback.

Ambiguous communications

Serious misunderstandings are evident early in the project.

Overwhelming architectures

Development focuses on critical business issues.

Subjective assessments

Objective assessment is made through testing and QA.

Undetected inconsistencies

Inconsistencies are detected early in the project.

Poor testing and QA

Testing starts right from the first iteration.

Waterfall development

Risks are identified and addressed early on.



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 [ 42 ] 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101