The project started with a high-level walk through of the scope of the system and its context. Next, detailed domain walk thorough were held for each modeling area. In support of each domain, walk through models was then composed by small groups, which were presented for peer review and discussion. One of the proposed models or a merge of them was selected which became the model for that particular domain area. Domain area models were merged into an overall model and the overall model shape was adjusted along the way.
mount feature list
The knowledge that was gathered during the initial modeling was used to identify a list of features. This was done by functionally decomposing the domain into subject areas. Subject areas each contain business activities, the steps within each business activity formed the categorized feature list. Features in this respect were small pieces of client-valued functions expressed in the form "action, result, object".
For example: 'Calculate the total of a sale' or 'Validate the password of a user'. Features should not take more than two weeks to complete, else they should be broken down into smaller pieces.
Plan by feature
After the feature list had been completed, the next step was to produce the development plan. Class ownership has been done by ordering and assigning features (or feature sets) as classes to chief programmers.
Design by feature
A design package was produced for each feature. A chief programmer will select a small group of features that are to be developed within two weeks. Together with the corresponding class owners, the chief programmer works out on detailed sequence diagrams for each feature and refines the overall model. Next, the class and method prologs are written and finally a design inspection is held.
Build by feature
After a successful design inspection a per feature activity to produce a completed client - valued function (feature) is being produced. The class owners develop the actual code for their classes. After a unit test and a successful code inspection, the completed feature is promoted to the main build.