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

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

Synchronize and Stabilize Methodology

One open-source model is the one used by Microsoft. The methodology is used to build Microsofts consumer level products with the synchronize and stabilize methodology (see Figure 4.11). The concept is easy project team members synchronize their individual/team tasks on a continuous basis and then stabilize the product in small increments, as the project moves forward. The methodology is based on the phases shown in Table 4.6.

Table 4.6: Synchronize and stabilize model

Phase

Task

Planning (3 12 months)

Prepare vision statement /requirements assessment.

Develop product specification(s).

Project schedule preparation /formulate team.

Product manager

Design build functionality (6 12 months)

Design third of the system features critical features.

Design second third of the features.

Design final third of the features (less critical items).

Program manager Feature team

Stabilize fix and freeze build (3 8 months)

Test internally. Test externally. Prepare release.

Testers




Figure 4.11: Synchronize and stabilize methodology.

This methodology is feature driven. The team members can work autonomously, thereby ensuring that some creative license is allowed on the project, provided their work can be combined successfully into the daily builds. The teams are also allowed to come up with fun ways of discipline when a daily build has not been achieved. Synchronize (daily build) and stabilize (fix errors at end of each milestone), such that the required set of features is completely functional. Product managers develop a vision statement and feature list based on customer input. Program managers develop an initial functional specification based on the vision statement. Program managers create schedules and parallel feature teams of three to eight developers and testers based on the functional specification.

ЬШиЦЩ 1иллл1М1Ы1Д





Reverse Engineering Development Methodology

Important differences with this development model are the inclusion of two conceptually new steps and the reusability of parts of some existing system. As with most models, the development life cycle starts with the requirements. If we get the requirements wrong, we will be developing the wrong product from the start. The requirements of all stakeholders must be considered.

In Figure 4.12, notice the feedback loops. If a test in design fails, design does not move back to performance analysis. A design problem should not be solved by adjusting a performance parameter. Design problems usually go back to requirements engineering, although it is sometimes permissible to check on the functionality on the way. This does not allow a function to be changed without reference to the root requirement. Similarly, if a code fails a test and is subsequently amended, there should always be a back reference to the design of that portion of code. Integration and test phase problems should not be rectified by reference to the coding phase but should go to the root at the design phase (then possibly back further). Many projects have been allowed to go horribly wrong by taking shortcut measures in the software and hardware developments or accidentally omitting the loop back to the correct place in the development life cycle. Being unprofessional and taking shortcuts do not work and often cause projects to ultimately take more time, not less.

User


Епдтв&пгьд


, I FiinclkirLBl Analysis


Build / Bvy * Test


Figure 4.12: Reverse engineering methodology.

Requirements Engineering Phase

The stages of requirements engineering (RE) are:

Requirements elicitation: Helping the stakeholder to list and clarify as many requirements as are known.



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