Software Development Team

Das Software Development Team ist eine der drei Rollen, die bei der agilen Softwareentwicklungsmethode Scrum besetzt werden. Es besteht aus Fachleuten aus unterschiedlichen Bereichen, die zusammen an einem (Teil-)Produkt arbeiten.
Software Development Team
© fauxels
Teilen

Definition Software

Als Software werden Programme und die dazugehörigen Daten verstanden. Sie ist der nicht-physische Teil eines computergestützten Systems und leicht veränderbar. Software bestimmt, was ein Gerät macht und auf welche Weise es Aufgaben ausführt.

Das schwer veränderbare Gegenstück der Software wird Hardware genannt. Hardware sind alle softwaregestützten Geräte.

Soft- und Hardware arbeiten grundsätzlich zusammen. Mittlerweile sind nicht nur Computer mit Software ausgestattet, sondern auch viele eingebettete Systeme, die in alltäglichen Gegenständen, wie beispielsweise in Waschmaschinen, Mobiltelefonen oder Fernseher, vorkommen.

Definition Software Development

Software Development, zu Deutsch Softwareentwicklung, definiert einen Prozess, in dem die Konzeption und Programmierung zum Beispiel von Frameworks (Rahmengerüste) und weitere Softwarekomponenten durchgeführt wird. Im weiteren Sinne ist Software Development alles zwischen der Konzeption der Software, die den gewünschten Anforderungen gerecht werden soll und der endgültigen Fertigstellung. Daher können mehrere Arbeitsprozesse wie bspw. die Forschung, die Neuentwicklung oder das Prototyping in den Prozess der Softwareentwicklung involviert sein.

Das Software Development ist eine Dienstleistung und wird von Fachinformatikern, Developers und Programmierern angeboten.

Der Prozess der Softwareentwicklung umfasst grundlegend die folgenden Aktivitäten:

  • Bedarfsanalyse
  • Planen
  • Entwerfen
  • Implementieren, Testen, Dokumentieren
  • Bereitstellung und Wartung

Bedarfsanalyse

Es gibt vielfältige Quellen von Ideen für Softwareprodukte. Ein Beispiel für eine Quelle ist die Marktforschung. Die Idee für ein neues Produkt wird in den meisten Fällen von einem Marketingmitarbeiter im Hinblick auf z. B. die wirtschaftliche Machbarkeit, mögliche Auswirkungen auf bereits bestehende Produkte und auf die Kompatibilität mit bereits bestehenden Marketingzielen im Business geprüft. In dieser Phase wird die Entscheidung getroffen, ob die Idee weiterverfolgt werden sollte.

Planung

In den Bereich der Planung fällt die sogenannte Anforderungsanalyse, die zusammen mit dem Kunden ausgearbeitet wird. Der Kunde hat eine Vorstellung davon, wie die Software aussehen und welche Funktionen sie beinhalten soll. Die abgestimmten Anforderungen werden daraufhin sorgfältig dokumentiert.

Entwerfen

Im nächsten Schritt wird das Software Design entwickelt. Softwareentwickler können dafür beispielsweise ein Software-Design-Dokument anlegen, in dem ein vorläufiger Entwurf enthalten ist. Zu diesem Zeitpunkt des Prozesses sollte bereits feststehen, welche Sprache, welches Betriebssystem und welche Hardwarekomponenten verwendet werden. Im sogenannten Low-Level-Design werden die Komponenten schrittweise zusammengeführt, um zum Beispiel die erforderlichen Datenstrukturen oder die Quellcodes zu entwerfen. Auf diese Weise werden die Anforderungen an das entstehende Produkt gefestigt.

Implementieren, Testen, Dokumentieren

Innerhalb der Implementierung programmieren die Software-Ingenieure beispielsweise den Quellcode. Der Quellcode ist in einer Programmiersprache verfasst und stellt den Text eines Computerprogrammes dar.

Durch das Testen der Software können Fehler frühzeitig erkannt und behoben werden.

Während der gesamten Entwicklung einer Software wird eine Dokumentation durchgeführt. Es gibt verschiedene Modelle, die vorgeben, in welchen Phasen eine Software entwickelt wird. Dabei kann zwischen plangetriebenen Modellen und agilen Methoden unterschieden werden. Der Dokumentationsaufwand hängt vom gewählten Modelltyp ab.

Ein Beispiel für eine plangetriebene Methode ist das Wasserfallmodell. Es ist in aufeinanderfolgende Projektphasen organisiert und als lineares Vorgehen bezeichnet. Die Ergebnisse „fallen“ in die jeweiligen Phasen hinab und werden dort in die verbindlichen Vorgaben integriert. Die Phasen haben einen terminierten Start- und Endzeitpunkt. Das Management ist für die Erledigung der anfallenden Aufgaben verantwortlich.

Die agile Softwareentwicklung arbeitet schneller und verzichtet auf das Planen bis ins kleinste Detail. Ein gängiges Beispiel einer agilen Methode ist Scrum. Scrum wird innerhalb des Projekt- und Produktmanagements eingesetzt und findet den Ursprung in der Softwaretechnik. Inzwischen wird Scrum auch in vielen anderen Bereichen und Branchen verwendet. Ziele von Scrum sind die Transparenz zu schaffen, Ergebnisse und Funktionalitäten des Produkts in iterativen Schritten regelmäßig zu überprüfen und gegebenenfalls anzupassen.

Bereitstellung und Wartung

Der Einsatz einer Software beginnt, wenn der Code getestet und freigegeben bzw. verkauft wurde. Für die richtigen Verwendung von Software sind Software-Schulungen und Software-Support wichtige Aspekte, die angeboten werden sollten.

Ebenfalls ist die regelmäßige Wartung von hoher Wichtigkeit, da auf diese Weise gemeldete Probleme behoben werden können und die fehlerfreie Nutzung der Software seitens der Hersteller gewährleistet werden kann.

Definition Software Development Team

In der agilen Vorgehensweise Scrum werden drei Rollen vergeben. Diese definieren den sogenannten Scrum Master, den Product Owner und das Software Development Team.

Product Owner

Der Product Owner ist eine Person, die für den wirtschaftlichen Erfolg und die Quality des Produktes verantwortlich ist. Zudem pflegt er das Product Backlog, welches alle Anforderungen an das Endprodukt enthält.

Scrum Master

Der Scrum Master ist für das Coaching des Software Development Teams zuständig. Er besitzt das nötige Know How, um auszubilden, zu unterstützen und zu moderieren und ist für die Beseitigung von Hindernissen, bspw. eine angespannte Kommunikation zwischen den Teammitgliedern, zuständig.

Software Development Team

Das Software Development Team besteht aus Fachleuten, die im Scrum Sprint an einem Teil des Produkts zusammenarbeiten. Der Sprint ist auch als Iterationsphase bekannt und dauert für gewöhnlich zwei bis vier Wochen. In dieser Phase wird ein Teilprodukt, auch Inkrement, des angestrebten Produkts entwickelt. Die Struktur der Arbeit gibt der Sprint Backlog vor, der Teil des Product Backlogs ist. Das Software Development Team arbeitet während des Sprints zusammen und zeichnet sich dadurch aus, dass alle Teammitglieder eigenverantwortlich die Organisation ihrer Tätigkeiten übernehmen.

Mitglieder Software Development Team

Die Mitglieder im Software Development Team kommen häufig aus vielen unterschiedlichen Bereichen zusammen und arbeiten daher in einem multidisziplinären Umfeld. Ihre Spezifikationen hängen von den Anforderungen des zu erstellenden Produkts ab. Im Bereich der Softwareentwicklung befinden sich häufig zum Beispiel UX/UI-Designer, Frontend- und Backendentwickler und Ingenieure, die für die Qualitätssicherung zuständig sind, zusammen.

UX/UI-Designer arbeiten an der Art und Weise wie Users mit dem Produkt interagieren. UX bedeutet User Experience. Experience heißt übersetzt Erfahrung. User Interface wird als UI abgekürzt. Sie konzentrieren sich auf die Funktionalität und die Benutzerfreundlichkeit des Produkts.

Developer für das Front- und Backend arbeiten an der eigentlichen Codierung des Programms. Frontend-Entwickler befassen sich mit den Elementen, mit denen der Kunde am Ende arbeiten wird und optimieren bspw. die Benutzeroberfläche. Alles, mit dem der Benutzer nicht in Berührung kommt, wird vom Backend-Entwickler konzipiert und bearbeitet.

Qualitätssicherungsingenieure werden auch Quality Assurance Engineer (kurz QA) genannt. Sie testen das Produkt und geben Auskunft über den Stand der Funktionalitäten und der Qualitätsstandards. Sie erkennen Fehler und Bugs in der erstellten Software und leiten diese zur Behebung an das Team weiter.

Im Scrum Guide, der ebenfalls von den Entwicklern der Scrum Methode Ken Schwaber und Jeff Sutherland entwickelt wurde, werden Werte beschrieben, die als eine Art Leitfaden bei der Arbeit mit Scrum fungieren. Jedes Teammitglied sollte sich mit diesen Werten identifizieren können:

  • Engagement
  • Fokus
  • Offenheit
  • Respekt
  • Mut

Aufgabenverteilung im Team

Die Aufgaben werden unabhängig der Profession im Team verteilt. Jedes Mitglied sollte in der Lage sein, eine Aufgabe im Product Backlog zu bearbeiten und Ideen im gesamten Team zu entwickeln, wie einander geholfen werden kann.

Daher sollten die einzelnen Product Backlog Items so aufgeteilt werden, dass auch fachfremde Leute einen Teil zur Lösung beitragen können.

Software Development Team Größe

Das komplette Team sollte aus mindestens drei (Scrum Master, Product Owner und Development Team) und maximal zehn Personen bestehen. Der Scrum Master und der Product Owner können dazugezählt werden.

In einer Gruppe, die mehr als zehn Mitglieder hat, wird die Kommunikation untereinander erschwert. Die Aufgabenstrukturierung kann unübersichtlich werden und dazu führen, dass die einzelnen Teammitglieder den Überblick verlieren. Zudem ist es weniger leicht, einander Hilfe anzubieten und das gegenseitige Unterstützen zu gewährleisten.

Unterschiede zu nicht agilen Teams

Die agile Softwareentwicklung basiert auf den vier Leitsätzen und zwölf Prinzipien, die das Agile Manifest hervorbrachte. Die Leitsätze besagen im Wesentlichen, dass der Austausch mit dem Menschen bei der Softwareentwicklung im Vordergrund stehen sollte. Zudem ist es wichtiger, auf Änderungen reagieren zu können, als einem vorgegebenen Plan zu folgen.

Daher ergeben sich grundlegende Unterschiede zwischen den Teams, die in plangetriebenen Modellen arbeiten und jenen, die agile Vorgehensmethoden verwenden, die im Folgenden aufgeführt werden sollen:

Plangetrieben Agil
Der Projektleiter übernimmt die Verantwortung und muss dafür sorgen, dass die Aufgaben der einzelnen Teammitglieder erledigt werden. Der Projektleiter verwaltet die Aufgaben und beseitigt Hindernisse und Ablenkungen. Das Team organisiert sich selbst.
Es ist möglich, dass die Teams an mehreren Projekten gleichzeitig arbeiten. Das Team konzentriert sich zur gleichen Zeit auf ein Projekt.
In plangetriebenen Modellen werden die individuellen Leistungen bewertet. In agilen Methoden stehen die Teamleistungen im Vordergrund.
Im Team sind unterschiedliche Rollenzuweisungen und Berufsbezeichnungen vertreten. Agile Teams sind funktionsübergreifend und haben multidisziplinäre Fähigkeiten.
Die Teamgröße ist unbegrenzt. Im Team sollten drei bis maximal zehn Personen arbeiten.

Software Development Team bei TenMedia

TenMedia ist eine moderne Softwareagentur mit Sitz in Berlin Mitte und arbeitet mit dem agilen Projektmanagement Modell Scrum. Wir realisieren interessante Projektideen und achten dabei auf die Bedürfnisse unserer Kunden. Unser Software Development Team arbeitet in Form kleiner Scrum Sprints und entwickelt Teilprodukte, die dem Kunden transparent in regelmäßigen Meetings präsentiert werden.

Sie haben eine Idee für ein spannendes Produkt? Dann freuen wir uns auf eine erste unverbindliche Kontaktaufnahme. Rufen Sie uns gerne an oder schreiben Sie eine E-Mail.

Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Bleibe auf dem Laufenden in Sachen Software, IT und Start-ups mit unserem Newsletter.
Jetzt abonnieren!
Gefällt dir was du siehst? Teile es!
Kontaktperson
Anica Piontek
+49 (0) 30 5 490 650-0
anica.piontek@tenmedia.de
Du hast auch ein spannendes Projekt?
Gerne bespreche ich ganz unverbindlich alle Projektdetails in einem persönlichen Gespräch.

Zufällige Beiträge

schöne Straße in München mit Häusern Glossar > Städte
Mann läuft durch großen Wald wie sensible Daten, die Kerberos vor Hackern schützt. Glossar > Begriffe

Zufällige Glossareinträge

schöne Straße in München mit Häusern Glossar > Städte
Fünf Menschen sitzen und stehen vor einem Schreibtisch am PC Glossar > Begriffe
Ein Angler sitzt mit seiner Angelrute im Wohnzimmer vor einem Fernseher. Glossar > Begriffe