Ohne Software geht heutzutage gar nichts mehr. Der berühmte Satz „Software is eating the world” von Marc Andreessen aus dem Jahr 2011 sich im Laufe der letzten Jahre eindrücklich bewahrheitet: Software ist in der digitalen Unternehmenswelt des 21. Jahrhunderts nicht mehr wegzudenken. Sie kann von der Entwicklung eines einzigartigen Webauftritts bis hin zur problemlosen Abwicklung von Versand und Retoure eines Unternehmens reichen – und tut noch so viel mehr. Aber was kennzeichnet einen Software-Entwicklungsprozess? Welche Schritte gehören zu einer gelungenen Softwareentwicklung dazu? Und was versteht man eigentlich unter sogenannter „agiler Softwareentwicklung“, einem Begriff, welchem wir immer öfter im World-Wide-Web begegnen?
Kurz und knapp: Was ist Softwareentwicklung?
Als jemand ohne Berührungspunkte zu Software erscheint der Begriff wohl als ein Mysterium. Unübersichtliche Zahlen- und Buchstabenkombinationen wabern über einen Bildschirm und ein konzentrierter Programmierer sitzt davor, und es entsteht – irgendwas, was man Software nennt. Aber das Entwickeln einer Softwaretechnologie ist viel mehr. Es umfasst zahlreiche verschiedene Arbeitsprozesse. Darunter die Herstellung der Software, Design, Dokumentation, Programmierung, Tests, Organisation und Modellierung der zugehörigen Datenstrukturen bis hin zum Betrieb und der dauerhaften Wartung des Softwaresystems. Zielorientiertheit, Analysekompetenz und systematisches Denken sind daher wichtige Attribute von IT-Technikern. In der Softwareentwicklung gibt es eine Vielzahl von Teilgebieten wie Projektmanagement, Qualitätsmanagement, Risikomanagement, Anforderungserhebung oder Softwaretests und -einführung, welche neben dem eigentlichen Entwickeln zum Tragen kommen. Wie man sieht, ist es ein langer Weg vom ersten Konzept bis zur Fertigstellung der Software. Dementsprechend lässt sich festgalten: Ob Individualsoftware oder Standardsoftware – Softwareentwicklung ist ein umfassender und aufwändiger Prozess, welcher viele Mitarbeiter beteiligt.
Die agile Softwareentwicklung auf dem Vormarsch
Agile Softwareentwicklung bedeutet einfach nur planlos drauflos zu programmieren und irgendwas umzusetzen, ohne Konzept oder Ziel? Das mögen viele denken, ist aber ein Irrglaube. Es ist stimmt zwar, dass die Anforderungen zu Beginn des Projekts bei einer agilen Herangehensweise noch unscharf erscheinen mögen, während es im klassischen Projektmanagement bereits klare Anforderungen gibt. Aber agile Softwareentwicklung ist weitaus mehr als Programmieren ohne Sinn und Verstand.
Der Begriff der „agilen Softwareentwicklung“ wurde von dem Informatiker Kent Beck geprägt. Beck veröffentliche im Jahr 2001 gemeinsam mit seinem Forscherteam das „Agile Manifesto“, welches die allgemeinen Richtlinien der agilen Softwareentwicklung festsetzt. Im Gegensatz zur agilen Softwareentwicklung stehen übrigens die klassischen Methoden.
Der wohl wichtigste Grundgedanke in der agilen Softwareentwicklung ist, dass Interaktionen und Individuen wichtiger sind als Werkzeuge und Prozesse. Kommunikation, vor allem Kommunikation auf Augenhöhe, ist das A und O eines produktiven Arbeitsprozesses. Hier wird statt auf große Teams mit eindeutiger Hierarchie auf kleine, selbstorganisierte Teams, die ständig im Austausch miteinander stehen, gesetzt. Außerdem wird fortlaufend mit dem Kunden kommuniziert. Dieser erhält Zwischenergebnisse, die er bewerten kann. Auf diese Weise wird dem Kunden ein schneller und reibungsloser Mehrwert geboten. Diese effiziente Arbeitsweise kann zu einem höchst zufriedenstellenden Ergebnis führen, da Anforderungen, Pläne und Ergebnisse fortlaufend mit dem Kunden evaluiert und diskutiert werden. Im klassischen Projektmanagement ist der Kunde wenig bis gar nicht am Entwicklungsprozess beteiligt – er erhält nur das Endergebnis und hat kein Mitspracherecht im Arbeitsprozess.
Für das Team sind eine offene Kommunikation, eine transparente Arbeitsweise, gegenseitiger Respekt, eine konstruktive Feedbackkultur als auch das richtige Mindset von großer Bedeutung. Ein „agiles Mindset“ heißt, die für das Team wichtigen Werte, Prinzipien, Praktiken und Tools zu verinnerlichen, danach zu denken und im letzten Schritt danach zu handeln. Der Kern des agilen Arbeitens ist es, den Ist-Zustand immer wieder zu überprüfen, Anpassungen vornehmen zu können und mit seinen Kollegen darüber zu kommunizieren.
Es lässt sich in jedem Fall festhalten, dass jedes Unternehmen und Team die für sich passende Arbeitsweise wählen muss – sei es klassisch oder agil. Auch wenn die klassischere Variante oft die sichere zu sein scheint ist es wichtig zu verstehen, dass agile Softwareentwicklung mehr als nur bloßes Chaos ist. So bieten agile Methoden eine profitable Struktur, die für viele Teams gut funktionieren kann.
„Hipsterfreundlicher Entdecker. Preisgekrönter Kaffeefan. Analyst. Problemlöser. Störenfried.“
More Stories
Solarpaket 1 Balkonkraftwerk: Politische Analyse 2024
Die Schweiz muss ihren Ruf als Zufluchtsort für Kriminelle, Steuerhinterzieher und Sanktionsbrecher ändern
Neuste Bayes-Superyacht von Mike Lynch: Der Besatzung droht ein strafrechtliches Ermittlungsverfahren, weil die Frau des Tycoons „die Yacht nicht ohne Familie verlassen wollte“