Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Share this Page URL
Help

Kapitel 13: Entwicklungsprozess > 13.5 Zusammenfassung - Pg. 385

Zusammenfassung 13 Gemeinsamer Code gewährt jedem, einen beliebigen Teil des Systems jederzeit zu modifizieren und damit zu verbessern. Der Code gehört keiner bestimmten Person. Damit steht jedem die Möglichkeit offen, erkannte Fehler sofort zu beheben. Code und dessen Tests sind die einzigen Werte, die es zu pflegen gilt. Das Wissen lässt sich davon ableiten oder befindet sich bewusst in den Köp- fen der Entwickler. Andere Dokumente sind nur momentane Hilfsmittel. Eine einzelne Codebasis vereinfacht die Verwaltung des Codes. Es soll- ten niemals mehrere parallele Äste und damit Änderungspunkte eröffnet werden. Der Unterhalt und das Zusammenführen unterschiedlicher Ver- sionen sind fehleranfällig und zeitraubend. Tägliche Verteilung fordert uns auf, die aktuelle Version öfter als bis dahin üblich auf das produktive System zu verteilen. Die Praktiken wurden von verschiedenen Autoren, so auch durch den Begrün- der Kent Beck, im Laufe der Zeit ergänzt und an die jeweiligen Bedürfnisse der verschiedenen Projekte angepasst. XP ist keine fixe Größe, eher ein Kon- glomerat von Best Practices. Es widerspiegelt den damaligen Zeitgeist einer als höchst kreativ empfundenen Tätigkeit des Programmierens. Auch wenn XP inzwischen etwas von seiner Bedeutung verloren hat, gehören heute Fertigkeiten wie das Refactoring, kontinuierliche Integration und Unit-Tests zum festen Bestandteil der Programmierkunst. Die wegweisenden Werte und Praktiken von XP sollten angesichts einer zunehmenden Flut von CMMI-Ini- tiativen nicht in Vergessenheit geraten. Softwareentwicklung ist keine repe- titive Tätigkeit, die einem exakten Prozess folgt. Es bedarf einer Kultur, die den Menschen und dessen Fähigkeit in den Vordergrund rückt. 13.5 Zusammenfassung Ein Prozess definiert ein allgemeines Vorgehen, eine bestimmte Tätigkeit auszuführen und damit ein definiertes Ziel zu erreichen. Ein Entwicklungs- prozess beschreibt demnach die Aufgaben und deren Reihenfolge, eine Soft- ware zu bauen. Dabei lässt sich jeder in Bezug auf die zeitliche Abhängigkeit in die Grundformen Wasserfall, V-, Spiral- und iteratives Modell aufteilen. Das klassische Wasserfall- wie auch das V-Modell sind sequenzielle Vorge- hensmodelle, in denen eine Aktivität oder Phase erst nach Abschluss der vorangegangenen startet. Prozesse solcher Modelle sind einfach zu steuern und zu planen, beginnt doch beispielsweise die Implementierung erst mit dem Abschluss des Detaildesigns zu einem geplanten Termin. Das sequen- zielle Vorgehen nimmt sich jedoch möglicher Risiken in der Umsetzung erst spät an und geht davon aus, dass die Anforderungen bereits zu einer frühen Phase vollständig erfasst werden und sich im Laufe des Projekts nicht mehr ändern. Im Gegensatz dazu nähern sich iterative Prozessmodelle schrittweise dem Endergebnis, indem sich die einzelnen Disziplinen, von der Anforde- rungsanalyse bis zur Implementierung, überlappen. Das Produkt wächst mit jeder Iteration um ein bestimmtes Inkrement. Dadurch können Unsicherhei- 385