dinsdag, november 22, 2005

Software maken, zo moet het!

Ik zit nu vier dagen bij een klant en nu weet ik weer hoe je software moet maken. Ik ben via mijn werk gedetacheerd bij een klant die medische apparaten maakt. En het zal niemand verbazen dat er strenge eisen aan hun producten zitten. Een gigantisch programma, met 10 man wordt er aan gewerkt. En toch wordt de deadline zonder stress gehaald. Dat noem ik nog eens projectmanagement!

Hoe doen ze dat? Heel simpel: ze hebben een lijst opgesteld met requirements, en hebben heel veel use-cases beschreven. Bij een use-case kunnen weer supplemental requirements horen. Elke milestone worden een aantal requirements geimplementeerd met de bijbehorende use-cases. Hiervoor wordt via de "delphi" manier een requirement ingepland: een aantal mensen schatten onafhankelijk een requirement in. Deze worden naast elkaar gelegd en beschreven. Tijdens het programmeren heeft iedereen een takenlijst. Als je een taak af hebt bied je hem ter revieuw aan aan een andere programmeur. Als hij hem geodkeurt komt hij pas in de hoofd release.

Elke nacht wordt de laatste versie uitgebracht en automatisch gebuild en ge-unit test. Lukt het builden en lukken de Unit testen dan wordt dat de nieuwe versie. Mislukt het dan blijft de versie zoals het was. Zo heb je altijd een buildende en unit-geteste versie in je source control. Daarnaast hebben ze issues, die worden toegewezen aan programmeurs voor analyse. Bij de analyse wordt bepaald wat het probleem precies is en wat er moet gebeuren om het op te lossen. Daarna wordt pas besloten of en wanneer het probleem opgelost wordt (in welke milestone).

Per usecase zijn ook testcases gedefinieerd die alle requirements afdekken. Bij elks milestone release wordt de applicatie volgens die testcases getest. Het kan zijn dat je een change request krijgt en dan moet je eerst de requirements en use-cases aanpassen. Ook dat wordt gereviewed en moet goed gekeurd worden.

Het klinkt heel ingewikkeld, maar het werkt erg soepel. Alles is vooraf gespecificeerd. Alles wordt goed getest. En zomaar wijzigen is er niet bij. Alle issues worden bijgehouden en ingepland. Zo is het project managable en enige vorm van stress heb ik nog niet gezien :) en dat terwijl de volgende milestone over 4 weken af moet zijn en het geen simpel applicatie en wijzigingen zijn. Software maken? zo moet het!

(en ja een website is ook software ;) )

3 opmerkingen:

Anoniem zei

Dit lijkt precies, hoe gek het ook mag klinken, op hoe Microsoft (tegenwoordig) te werk gaat.

Van de vele MS blogs die ik lees zie ik exact hetzelfde beschreven alleen dan misschien nog op een ietwat grotere schaal.

Klinkt zeker goed. Maar of iedereen er voor wil betalen... :|

Rob

Anoniem zei

Ga eens stappen. Nerd.

Anoniem zei

Hans,

Hans hier, ik ben op zoek voor een cursus T-Map naar usercases weet jij misschien iets.


Hans Timmermans

Medical systems in Best ?

hans.timmermans@tiscali.nl