Glaux Soft Know-how: Softwaretest in agilen Teams Teil 1
Qualitätssicherung und Testmanagement sind zwei ebenso wichtige wie entscheidende Aufgaben in jedem Softwareprojekt. Doch wie lässt sich die Qualität von Softwareapplikationen nachhaltig und effizient sicherstellen? Speziell in unserer dynamischen und schnelllebigen Zeit, in der die Halbwertszeit von Informationen und Anforderungen immer kürzer wird? Diesen Fragen geht der Head of Quality Management von Glaux Soft, Pascal Bürgy, in diesem zweiteiligen Beitrag auf den Grund.
Lange Zeit galt in Softwareprojekten der Ansatz: zuerst Spezifizieren, dann Entwickeln und am Ende Testen. Dieses durch klassische, sequentielle Projektvorgehensmodelle geprägte Denkmuster verliert in der modernen Softwareentwicklung zusehends an Bedeutung. Die meist strikt voneinander getrennt und nacheinander ausgeführten „Softwaredisziplinen“ führen gerade in grösseren Projekten zu Problemen. Funktionale und sequentielle Trennungen von Disziplinen münden in ineffizienten, unnötig formellen Kommunikationswegen einerseits und grossen Zeitabständen zwischen Anforderungsaufnahme und Inbetriebnahme der Software andererseits. Zeit, in der sich die Anforderungen in schnelllebigen Geschäftsmodellen verändern können. So kann es vorkommen, dass eine Softwareapplikation bei Inbetriebnahme schon nicht mehr den Bedürfnissen ihrer Benutzerinnen und Benutzer entspricht.
Software-Entwicklungsteams reagieren auf diese Herausforderungen zunehmend mit agilen Vorgehensmethoden wie beispielsweise SCRUM[1]. Daraus resultieren kurze Entwicklungszyklen von üblicherweise zwei bis vier Wochen, sog. Sprints, an deren Ende ein einsatzfähiges Software-Inkrement verfügbar sein soll. Dies ist ein in sich funktionsfähiger Teilbereich der angestrebten Applikation. Diese Vorgehensweise sorgt dafür, dass (Detail)- Spezifikation, Entwicklung und Test zeitlich, aber auch organisatorisch näher zusammenrücken müssen. Eine klassische, sequentielle Abfolge der Tätigkeiten ist innerhalb der kurzen Zykluszeiten ebenso wenig möglich wie eine strikte, formale Trennung der einzelnen Disziplinen innerhalb der Projektteams.
Adaptiertes Testvorgehen erforderlich
Neben dynamischen Entwicklungsprozessen ist auch ein entsprechend adaptiertes Testvorgehen gefordert. Dieses muss die grundlegenden Zielsetzungen agiler Softwareentwicklung optimal unterstützen[2]: hohe Kundenzufriedenheit, Produktqualität, Entwicklungsgeschwindigkeit und Team-Motivation, sowie insbesondere eine schnelle Reaktion auf Änderungen. Damit dies gelingen kann, sollten einem solchen Vorgehensmodell im Idealfall sechs Grundprinzipien zu Grunde liegen[3]:
- Schnelles Feedback
- Hoher Automatisierungsgrad
- geringer administrativer Overhead
- Auflösung von Testabteilungen
- Auflösung von Teststufen
- Enge Zusammenarbeit im Team
Die Details zu diesen Prinzipien und die Konsequenzen daraus, erfahren Sie hier im zweiten Teil des Beitrages.
[1] The 2016 State of SCRUM Report, SCRUM Alliance
[2] Der SCRUM Guide; www.agilist.ch/wp-content/uploads/Scrum-Guide-2016-Deutsch-Schweiz.pdf (abgerufen am 12.01.2018)
[3] DZone / Agile Zone; dzone.com/articles/agile-testing-principles (adaptiert, abgerufen am 12.01.2018)
Quelle: glauxsoft.com
Experte Pascal Bürgy auf Cloud-Finder Schweiz
Glaux Soft AG auf Cloud-Finder Schweiz