Aufrufe
vor 3 Jahren

Netzwoche 05/2017

  • Text
  • Schweiz
  • Unternehmen
  • Schweizer
  • Netzmedien
  • Webcode
  • Transformation
  • Digitale
  • Anforderungen
  • Software
  • Digitalen

Bild: Fotolia FOCUS

Bild: Fotolia FOCUS ENTWICKLER- TRENDS Applikationen erfolgreich entwickeln gsa. Im Focus beleuchten drei Experten Trends im Bereich der Entwicklung. Den Auftakt machen Kim Lauenroth, Chief Requirements Engineer, und Christian Golder, Head of Consulting bei Adesso Schweiz. Sie erklären, worauf es bei der Planung eines Softwareprojekts ankommt: auf ein gelungenes Pflichtenheft. Das sogenannte Requirements Engineering kann gemäss den Experten einen wichtigen Beitrag dazu leisten, Softwareprojekte von Beginn an in die richtigen Bahnen zu lenken. Mit dem Aufkommen der Cloud verändert sich nicht nur der Bezug von IT-Lösungen. Durch die Entwicklung und den Betrieb auf Cloud-Plattformen ändern sich auch die Anforderungen an moderne Applikationen, weiss Thomas Philipona, CTO bei Puzzle ITC. Skalierbarkeit, verteilte Systeme, Continuous Integration sowie Container seien Themen, mit denen sich Entwickler schon bei der Architektur einer Applikation beschäftigen sollten. Diese werden durch die Methodik der «Twelve Factor App» abgedeckt werden. Welche Vorteile diese bietet, erklärt Philipona in seinem Fachartikel. Ein Thema, das immer wieder diskutiert wird, ist die Offshore-Entwicklung. Oft werden in Studien und Fachbeiträgen die Vor- und Nachteile diskutiert. Doch wie erleben Schweizer Softwarefirmen Offshoring in der Praxis? Davon weiss Christoph Kölbener zu berichten, Entwicklungsleiter beim Softwarehaus Soreco. Das Unternehmen unterhält einen Entwicklungsstandort in Vietnam. Kölbener fasst die bisher gesammelten Erfahrungen zusammen und gibt Tipps für das gelungene Offshoring. 05 / 2017 www.netzwoche.ch © netzmedien ag

Focus Entwicklertrends 35 Requirements Engineering: Mehr als das Schreiben von Dokumenten Die Entwicklung neuer Software ist von Natur aus ein komplexes Vorhaben, bei dem unterschiedliche Anspruchsgruppen, Abteilungen und Anforderungen aufeinanderprallen. Requirements Engineering kann einen wichtigen Beitrag dazu leisten, Softwareprojekte von Beginn an in die richtigen Bahnen zu lenken. Für viele IT-Experten steht Requirements Engineering (RE) auf der Beliebtheitsskala ungefähr auf einem Niveau mit Zahnarztbesuchen oder dem Ausfüllen von Steuererklärungen: irgendwie ist es notwendig, aber wirkliche Leidenschaft bringen dem Thema nur die Wenigsten entgegen. Das Klischee hält sich hartnäckig: RE ist das mühsame Schreiben von Dokumenten – Spezifikationen, Lastenheften, Pflichtenheften oder Anforderungsdokumenten –, die niemand lesen will. Dabei lohnt es sich durchaus für die Verantwortlichen in Unternehmen, sich dieser Disziplin vorurteilsfrei zu nähern. Denn richtig ein- und umgesetzt können Unternehmen mit RE bessere Software schneller und kostengünstiger entwickeln. Entscheidend ist es allerdings dabei, dass im Team Klarheit über die unterschiedlichen Anforderungen herrscht. Das International Requirements Engineering Board (IREB) definiert RE wie folgt: «Requirements Engineering ist ein systematischer und disziplinierter Ansatz zur Spezifikation und zum Management von Anforderungen mit diesen Zielen: 1. Die relevanten Anforderungen zu kennen, Konsens unter den Stakeholdern über die Anforderungen herzustellen, die Anforderungen konform zu vorgegebenen Standards zu dokumentieren und Anforderungen systematisch zu managen. 2. Die Wünsche und Bedürfnisse der Stakeholder zu verstehen, zu dokumentieren sowie die Anforderungen zu spezifizieren und zu managen. So soll das Risiko, dass das System nicht den Wünschen und Bedürfnissen der Stakeholder entspricht, minimiert werden.» Im letzten Satz steckt der ganze Anspruch von RE, nämlich alles daran zu setzen, dass das System die Bedürfnisse erfüllt. Dies bedeutet, das RE eine zentrale Verantwortung für die Ausgestaltung der zu entwickelnden Software hat. Denn das explizite und erfasste Formulieren von Anforderungen, stellt die Weichen für die Software. Das bedeutet, nicht nur für ihre Optik – etwa die Nutzeroberfläche –, sondern insbesondere für ihre Funktionalität und ihr Verhalten. Dieses Ziel, ein System auf Basis der Anforderungen zu entwickeln, erscheint auf den ersten Blick trivial zu sein. Aber die Beobachtung der Praxis zeigt: Nicht immer können die Projektverantwortlichen alle relevanten Anforderungen als bekannt voraussetzen. Immer wieder gehen Beteiligte fälschlicherweise davon aus, dass die anderen bereits über das notwendige Wissen verfügen. Das ganzheitliche Ermitteln von Anforderungen ist somit ein zentrales Element des RE. RE-Experten sorgen von Projektbeginn an dafür, dass keine Wissenslücken entstehen, die im Projektverlauf zu schlechten Ergebnissen führen könnten. Es geht nicht nur ums Schreiben – aber auch An dieser Stelle soll eine Lanze für die häufig ungeliebten Anforderungsdokumente gebrochen werden: Immer wieder äussern Projektbeteiligte die Meinung, dass sich Know-how über Software so schnell ändert, dass das Managen der Anforderungen kaum sinnvoll ist. Darüber hinaus ist das Wissen sowieso in den Köpfen der Beteiligten – entsprechend muss es weder erfasst oder systematisiert werden. Aber: Systematisches Anforderungsmanagement ist durchaus eine Investition, die sich besonders in der zweiten Lebenshälfte einer Software auszahlt; sei es bei der Wartung und Weiterentwicklung oder bei der Ablösung des Systems am Ende des Lebenszyklus. Zu diesem Zeitpunkt ist das Wissen um die Anforderungen nämlich nicht mehr so präsent und jede Form der Dokumentation ist hilfreich und spart Zeit. Aber RE geht, richtig gelebt, über das reine, passive Dokumentieren hinaus. Denn Projektbeteiligte haben häufig unterschiedliche Ansichten über die Ausgestaltung einer Software. Dadurch entstehen Konflikte über die Anforderungen, welche die RE-Experten bearbeiten und lösen können. Mediation ist somit ein wichtiges Element für erfolgreiches RE. Entsprechend muss ein RE-Verantwortlicher in der Behandlung und Lösung von Konflikten geschult sein. Dieses Verständnis für unterschiedliche Anforderungen und das Gefühl für Gruppendynamik und Konfliktsituationen sind zwingende Voraussetzungen für die erfolgreiche Konzeption hochwertiger Software. Ohne Empathie oder genauer gesagt, ohne ein tiefes Verständnis der Wünsche und teils antizipierte Bedürfnisse der Stakeholder, ist die Entwicklung eines passgenauen Software systems, das den Kunden begeistert, reiner Zufall. Diese Erkenntnis hat sich im Design bereits durchgesetzt und wird auch in der stark technisch geprägten Softwareindustrie immer wichtiger. DIE AUTOREN Kim Lauenroth Chief Requirements Engineer, Adesso Schweiz Christian Golder Head of Consulting, Adesso Schweiz www.netzwoche.ch © netzmedien ag 05 / 2017

Archiv