Laagjes
Als je een grotere software-applicatie bouwt, heb je grofweg twee mogelijkheden. Je kan "per laag" bouwen. Je bouwt de volledige storage layer, dan bouw je de data access layer, dan bouw je de service layer, enzovoort.
Het grote probleem hiermee is dat je pas een resultaat kan zien wanneer de "bovenste" laag klaar is. Pas op dat moment zal je zien wat je vergeten bent in de lagen eronder.
Een groter probleem is dat ook mensen buiten je development-organisatie pas iets zien wanneer alles klaar is. Terwijl jij hard aan het werk bent, zien ze geen enkele voortgang.
Een andere manier is om "per feature" te bouwen. Je bouwt bijvoorbeeld eerst de overzichtspagina, dan bouw je een detailpagina, dan bouw je een actie, enzovoort. Het grote voordeel hiervan is dat je sneller gaat merken wat je nog niet wist. Een groter voordeel is dat andere mensen kunnen zien wat je aan het maken bent, en je daar feedback op kunnen geven. Hoe sneller je feedback krijgt, hoe minder het kost om de richting aan te passen.
De volgorde waarin je je applicatie bouwt, is een vorm van communicatie. Houdt daar rekening mee.