Werkwijze
Om onze bouwstenen “de gebruikers centraal” en “doordachte software maken” te kunnen
doorvoeren in al onze projecten besteden we veel zorg aan de manier waarop we software
ontwikkelen. Daarnaast is het van belang dat onze werkwijze voorkomt dat een project
uitloopt (qua tijd en budget) of zelfs volledig faalt.
Want zeker op het gebied van softwareontwikkeling zijn er de nodige valkuilen. Het
zijn voornamelijk bekende fouten en problemen, die lang geleden al zijn erkend,
en toch door veel bedrijven steeds weer opnieuw worden gemaakt. Het onder controle
krijgen van een ontwikkeltraject vergt dus meer dan alleen een manager en wat programmeurs.
(Zie voor meer informatie het volgende artikel in de online encyclopedie wikipedia:
History of software engineering)
Bij Think# besteden we dan ook tijd aan het onderzoeken van de beste manieren om
een project aan te pakken. We maken gebruik van de laatste nieuwe inzichten op het
gebied van projectbeheersing en ontwikkeling. Momenteel zijn dit de zogenaamde lichtgewicht
methodieken zoals: agile development en extreme programming (XP). Er zijn een drietal
kernmerken hieruit die voor ons centraal staan.
Kernelementen:
-
Verdeel en heers
lees meer »
Grotere projecten worden eerst in kleine modules verdeeld. Elke module beschrijft
in de regel een kerngedeelte van het systeem. Vervolgens worden deze losse delen
stuk voor stuk ontwikkeld. Elke module is echter na ontwikkeling al te gebruiken.
Op deze manier wordt het systeem ‘incrementeel’ opgeleverd.
Hieraan zijn voor zowel de klant als ontwikkelaar een aantal belangrijke voordelen aan verbonden:
- het project wordt overzichtelijker en beheersbaarder.
- U krijgt sneller inzicht in
het uiteindelijke systeem doordat u al onderdelen heeft om mee te werken.
- De volgorde
van de ontwikkeling kan na elke module worden aangepast zodat u kunt bepalen welke module als volgende moet worden gebouwd.
- Het inzicht in de totale doorlooptijd en kosten
wordt duidelijker en vooral realistischer.
-
Terugkoppeling met gebruikers
lees meer »
Het belangrijkste onderdeel van een systeem? De gebruiker! Het is voor ons daarom
ook niet meer dan logisch dat dit onderdeel de meeste aandacht verdient tijdens
de ontwikkeling.
Zo ontwikkelen we uit een eerste set wensen en eisen al direct een aantal prototypes
waarmee we kunnen nagaan of de goede richting wordt ingeslagen. Tijdens het gehele
traject zal veelvuldig gebruik worden gemaakt van schetsen en prototypes om alle
partijen op één lijn te krijgen en te houden. Hierdoor ontstaan de volgende voordelen:
- U voelt zich, en bent ook, meer betrokken bij de
ontwikkeling van uw systeem of
product.
- U bepaalt vooraf en tijdens wat u wel en niet krijgt
(geen verassingen na bijvoorbeeld
een half jaar ontwikkeltijd!)
- U kunt sneller nieuwe of duidelijkere wensen formuleren
zodra u iets tastbaars heeft
(in plaats van een 160 pagina’s tellende beschrijving).
-
Testen, testen? testen!
lees meer »
Testen is een belangrijk deel van de ontwikkeling en wordt ook als zodanig behandeld.
Alle stukken programmatuur worden altijd intern getest, zowel automatisch als handmatig,
op een gestructureerde manier.
De standaard aanpak hierbij is dat de ontwikkelaar van een onderdeel nooit zijn
eigen gedeelte test, maar dat een collega dit doet. Op deze manier wordt er altijd
‘vers’ gekeken en is de kans dat fouten er doorheen glippen minimaal. Er is tenslotte
niets vervelender dan een nieuw systeem wat de helft van de tijd niet werkt vanwege
fouten.
Zeker voor de acceptatie van het systeem bij nieuwe gebruikers, waarvoor de verandering
naar een nieuw systeem al wennen is, is het dan ook belangrijk dat het systeem goed
functioneert.
Een gemiddelde ontwikkelcyclus bij Think# ziet er als volgt uit: