Bugs before Features? Priorisierung in der Softwareentwicklung bei Studo

Wie entscheidet das Entwicklungsteam von Studo, welches Feature als nächstes entwickelt wird und welche „Bugs” repariert werden? In diesem Blogpost geben wir einen kleinen Einblick in die Arbeitsweise unseres Entwicklungsteams und verraten, wie wir in der Softwareentwicklung priorisieren.

11.05.2022

von Isabella Zick

Teilen: Twitter iconLinkedin iconFacebook icon
White board with stickypapers

Was entwickeln wir als nächstes? Wenn man in den sogenannten Backlog (dt. „Auftragsbestand”) von Studo schaut, sieht man: Ideen für neue Features gibt es unzählige. Die Inspirationen dazu liefern uns Studierende und Hochschulen Tag für Tag. Doch obwohl im Grazer Büro auf Hochtouren entwickelt wird, können wir leider nicht alles auf einmal erledigen – und das macht in vielen Fällen auch keinen Sinn. Denn Funktionen in einer App bauen oft aufeinander auf, benötigen mehr zeitliche Ressourcen oder werden in Zusammenarbeit mit Kooperationspartner*innen umgesetzt. Nicht außer acht zu lassen sind auch die Instandhaltung und Wartung der Studo App – denn der reibungslose Betrieb der App und Bugs (dt. Fehler im Programm) zu beheben haben bei uns immer die höchste Priorität. 

Wie entscheidet das Entwicklungsteam also, was als nächstes entwickelt wird? Das passiert alle zwei Wochen in der Mitte eines App-Sprints – beim sogenannten Backlog-Grooming. Anhand folgender sechs Kriterien werden Entwicklungen priorisiert:

1. Bugs before Features

Qualität, Beständigkeit, Sicherheit – diese Unternehmenswerte stehen in der Entwicklung der Studo App an erster Stelle. Das bedeutet also, dass die Wartung und Instandhaltung, sowie das Reparieren von Bugs immer priorisiert werden. Denn die Studo App muss immer reibungslos laufen und den neuesten Standards in Sachen Sicherheit und Qualität entsprechen. Diesen Anspruch hat das Entwicklungsteam an die App, diesen Anspruch haben aber auch Studierende und Hochschulen.

Besonders wichtig ist der „Bugs before Features”-Grundsatz am Beginn eines neuen Studienjahres. Während des Semesterstarts hat die Studo App nämlich überdurchschnittlich viele Zugriffe und muss daher serverseitig großen Belastungen standhalten. In dieser speziellen Zeit werden daher weniger Features entwickelt und die Entwickler*innen konzentrieren sich darauf, dass die App wie am Schnürchen läuft.

2. Mission, Vision und Values: Passt diese Entwicklung langfristig zu Studo?

Die Werte von Studo spielen eine große Rolle in allem, was wir tun. Dasselbe gilt für unsere Mission, „ständiger Unterstützer von Studierenden und Hochschulen” zu sein. Feature-Ideen oder Anfragen, die diese Werte nicht erfüllen oder nicht zur Mission und der langfristigen Vision von Studo passen, werden daher abgelehnt oder nicht priorisiert.

3. Wichtig zu beachten: Welches Problem soll gelöst werden?

„Sag mir, WAS gelöst werden soll, nicht WIE” – dieser Leitsatz von Chefentwickler Valentin Slawicek hat sich in die Köpfe von allen Mitarbeiter*innen gebrannt. Was bedeutet das? In der Softwareentwicklung geht es darum, konkrete Probleme darzustellen und zu beschreiben, WAS genau gelöst werden soll. WIE das Problem dann gelöst wird, bleibt dem Entwicklungsteam überlassen. Das liegt daran, dass es oft bereits bestehende Features und Strukturen gibt, auf denen eine Idee aufgebaut werden kann. Außerdem kann die Komplexität eines Problems und der Aufwand der Lösung von den Entwickler*innen am besten eingeschätzt werden.

4. Technische Umsetzung und personelle Ressourcen

Natürlich stellt sich bei jeder neuen Entwicklung auch die Frage, wie viel Zeit und wie viele Personen dafür benötigt werden. Wenn die Entwickler*innen für ein Projekt Kompetenzen in einem neuen Bereich aufbauen müssen oder neue Personen eingestellt werden müssen, dann wirkt sich das auch auf die Priorisierung des Projekts aus.

5. Impact der Entwicklung

Wie wichtig ist dieses Feature jetzt und in Zukunft? Auch in der Softwareentwicklung müssen immer wieder strategische Entscheidungen getroffen werden. Deshalb ist der (langfristige) Impact einer Entwicklung auch ein wichtiges Kriterium für die Priorisierung.

Entwicklungen mit großem Impact bei Studo waren beispielsweise der Ausbau der Server-Strukturen, um ein nachhaltiges Wachstum der App zu garantieren und mehr Nutzer*innen zu unterstützen. Auch die Wartung und Instandhaltung haben großen Impact für die Sicherheit und Qualität der App.

6. Wer kann diese Entwicklung nutzen?

Studierende unterstützt Studierende an über 400 Hochschulen und ist kompatibel mit über 140 Campus-Management-Systeme. Die App ist eine standardisierte Lösung für alle Nutzer*innen, die aber an die individuellen Services der Hochschulen angepasst ist. Diese Standardisierung ist ein wichtiger Faktor in der Priorisierung: Ein Feature, das von allen oder sehr vielen Studierenden genutzt werden kann, ist daher höher zu bewerten, als eine ganz individuelle Entwicklung für eine kleine Gruppe an Nutzer*innen.

Anhand dieser Kriterien entscheidet das Entwicklungsteam also alle zwei Wochen, welche Features in den Sprint aufgenommen werden und woran in den folgenden zwei Wochen gearbeitet wird. Mehr über die technischen Details der Studo App können Sie hier nachlesen.

alle Blog-Eintrage anzeigen