Ik ben ondertussen al 18 jaar project manager/project leider/scrum master/... waardoor ik wel wat heb gezien in die wereld. Voor mij duurt een project nooit langer dan een jaar, liefst een pak korter. Zeker in ICT is dit belangrijk, als het langer duurt heb je op voorhand een verouderde applicatie bij oplevering. Er zijn zaken die langer kunnen duren, maar die moeten gecontroleerd worden met andere structuren zoals bv. programma's.
De laatste 5 jaar heeft Agile werken aan populariteit gewonnen waardoor opleveringen nog sneller gebeuren. In principe zou het zelfs om de 2 weken kunnen, in de praktijk blijven veel grotere bedrijven steken met trimestriële releases. Zoals Steve al zei, alles wordt grondig getest voor het in productie komt waardoor een rollback quasi niet meer voorkomt.
Ik eis van mijn team dat ze aan "test driven development" doen. Ze schrijven maw eerst de test voor ze code schrijven. Code wordt ingecheckt en de unit testen blijven automatisch lopen. Als iemand de build breekt door slechte code in te checken is er een groot probleem. De belangrijkste flows in de applicatie worden verder automatisch getest en uiteindelijk wordt alles nog manueel getest door de tester. Het is pas op de deze versie dat er uiteindelijk acceptatietesten zullen georganiseerd worden waarbij de eindegebreiker zal testen. Dikwijls wordt een applicatie daarna nog eerst door een pilootgroep getest in productie vooraleer ze naar het grote publiek beschikbaar wordt gesteld.
Ik weet dat Tesla op een soortgelijke manier werkt. Ze werken zelfs op een Agile manier in de productie. Waar andere autobouwers een lijst van issues verzamelen die ze dan uiteindelijk na 2 jaar rechtzetten met een update, verandert er voortdurend iets aan de Tesla-modellen en dan gaat het niet enkel om software.