Wat is extreem programmeren?
Extreem programmeren is een van de meest recente methoden voor het ontwikkelen van software. Het heeft tot doel de traditionele methoden voor softwareontwikkeling te verbeteren door bedrijfswaarde en kwaliteit te benadrukken. Deze programmeermethode probeert complete en foutloze stukjes software te leveren die aan zakelijke behoeften voldoen, binnen intervallen van slechts weken.
Op de traditionele manier om software te ontwikkelen, omvat een project vele maanden of jaren. Een team van analisten probeert alle vereisten van de gebruikers te krijgen. Vervolgens creëert een set ontwerpers de brede structuur van het systeem. Daarna coderen programmeurs het systeem binnen die structuur. Testers zorgen er vervolgens voor dat de code foutloos is en aan de vereisten voldoet.
Het belangrijkste probleem dat zich bij de traditionele ontwikkeling voordoet, is dat gebruikers zelf niet altijd duidelijk zijn over hun eisen en dat eisen vaak veranderen gedurende de langere tijd die nodig is om de software te maken. Verschillende mensen zijn bij verschillende stadia betrokken, en documentatie is bijna nooit compleet, dus mensen in de latere stadia kunnen het denkproces van de mensen in de eerdere stadia niet achterhalen. Dit resulteert in software van lage kwaliteit en lage bedrijfswaarde.
Gewoonlijk omvat extreme programmering frequente softwareleveringen binnen enkele weken. De motivatie is om volledig werkende software te bieden die voorziet in een aantal kritieke bedrijfsbehoeften. Een wijziging in de vereisten wordt ondergebracht in de volgende levering.
Extreme programmering, of kortweg XP, benadrukt kwaliteit door tests te schrijven voordat de programmering wordt uitgevoerd. Terwijl de software wordt geschreven, wordt code vele malen per dag beoordeeld en getest. De hele software wordt één of zelfs meerdere keren per dag samengesteld en getest. Dit wordt gedaan om ervoor te zorgen dat geen enkel onderdeel van de software het systeem naar beneden haalt.
Een van de bekende aspecten van extreem programmeren is paren programmeren, waarbij twee programmeurs op één computer samenwerken. Door deze aanpak wordt het denkproces, het ontwerp en de codering waarmee software wordt gemaakt, onmiddellijk gecontroleerd. De verantwoordelijkheid voor het ontwikkelen van software wordt gedeeld.
Met deze ontwikkelingsmethode begint software met een eenvoudig ontwerp en ontwikkelt het zich om aan extra bedrijfsbehoeften te voldoen. Het maken van functies wordt vermeden totdat ze daadwerkelijk een hoge prioriteit krijgen. De nadruk ligt op teamwerk om complete systemen te maken, dus elk teamlid speelt elke dag de rol van analist, ontwerper, programmeur en tester. Er is een intense communicatie binnen het programmeerteam, evenals tussen de programmeurs en de gebruikers aan wie de software wordt geleverd.
In deze programmeermethode wordt het concept van refactoring sterk benadrukt. Refactoring is interne code-verfijning om de code een goede structuur te geven en het gemakkelijker te begrijpen te maken zonder de uitvoer te beïnvloeden. Verwacht wordt dat al het werk dat bij extreme programmering betrokken is in een duurzaam tempo wordt uitgevoerd zonder late nachten en weekends. Dit verhoogt het moreel en vermindert de kans op fouten.
Extreme programmering dankt zijn naam aan het idee dat de positieve aspecten van hoe goede programmeurs werken tot het uiterste worden genomen om te profiteren van de voordelen. Deze ontwikkelingsmethode is in een aantal softwaresystemen behoorlijk effectief geweest. Aangezien dit nog steeds een nieuwe methode is, evolueert de werkwijze ervan voortdurend.