Gebaseerd op ervaring in diverse projecten en diverse artikelen over dit onderwerp lijkt het me een zeer relevante discussie om onder de developers maar zeker om met de groep managers en beheerders die actief is in /14 te kijken naar het onderwerp:
De kwestie: Opnieuw beginnen of niet?
Wanneer begin je met het from scratch ontwikkelen van een stuk software en wanneer doe je dit juist niet en ga je doorontwikkelen en verbeteren op basis van de bestaande codebase. Dus stap voor stap ofwel refactoring.
Veelal wordt al reden genoemd voor een rebuild dat het behouden van legacy software meer werk kost dan oplevert. In de praktijk zien we echter ook vaak dat het herbouwen toch op een hoop problemen stuit op zowel technisch vlak als business wise qua tijdsduur van oplevering en kosten.
Bekende artikelen en documentatie
Over dit onderwerp zijn een hoop artikelen geschreven waaronder deze vrij bekende post: http://www.joelonsoftware.com/articles/fog0000000069.html
Tevens zijn er goede boeken geschreven over het ontwikkelen van software en hoe daarbij om te gaan met legacy software zoals: http://www.amazon.com/dp/0131177052/
Ik ben benieuwd naar:
Jullie ervaringen met het nemen van dit besluit en de uiteindelijke resultaten. Heeft het inderdaad geholpen of is het een zwaar project geworden met veel issues en overwachte zaken?
Is de code ook daadwerkelijk beter geworden of ben je juist een hoop bugfixes verloren waardoor het geheel weer een tijd bugfixes moet krijgen om even stabiel te worden?
Dit is bedoeld als een open discussie over een besluit wat velen hier zullen maken of reeds gemaakt hebben. Op basis van ervaring dus maar de theorie en onderzoeken die het besluit ondersteunen zijn uiteraard ook zeer relevant en van grote toegevoegde waarde indien beschikbaar!
De kwestie: Opnieuw beginnen of niet?
Wanneer begin je met het from scratch ontwikkelen van een stuk software en wanneer doe je dit juist niet en ga je doorontwikkelen en verbeteren op basis van de bestaande codebase. Dus stap voor stap ofwel refactoring.
Veelal wordt al reden genoemd voor een rebuild dat het behouden van legacy software meer werk kost dan oplevert. In de praktijk zien we echter ook vaak dat het herbouwen toch op een hoop problemen stuit op zowel technisch vlak als business wise qua tijdsduur van oplevering en kosten.
Bekende artikelen en documentatie
Over dit onderwerp zijn een hoop artikelen geschreven waaronder deze vrij bekende post: http://www.joelonsoftware.com/articles/fog0000000069.html
Tevens zijn er goede boeken geschreven over het ontwikkelen van software en hoe daarbij om te gaan met legacy software zoals: http://www.amazon.com/dp/0131177052/
Ik ben benieuwd naar:
Jullie ervaringen met het nemen van dit besluit en de uiteindelijke resultaten. Heeft het inderdaad geholpen of is het een zwaar project geworden met veel issues en overwachte zaken?
Is de code ook daadwerkelijk beter geworden of ben je juist een hoop bugfixes verloren waardoor het geheel weer een tijd bugfixes moet krijgen om even stabiel te worden?
Dit is bedoeld als een open discussie over een besluit wat velen hier zullen maken of reeds gemaakt hebben. Op basis van ervaring dus maar de theorie en onderzoeken die het besluit ondersteunen zijn uiteraard ook zeer relevant en van grote toegevoegde waarde indien beschikbaar!