METHODIK
Der „DevOps-Ansatz“
Unter DevOps versteht man einen Ansatz, bei dem es darum geht, Technologie und Experten verschiedener Themengebiete durch gemeinsame Anreize und Prozesse so einzusetzen, dass eine schnelle und regelmäßige Bereitstellung von neuen Auslieferungen in hoher Qualität ermöglicht wird.
Durch neuartige Infrastructure-as-Code-Ansätze kann dabei im Cloudumfeld neben der Applikationsebene von Softwarelösungen auch die zugehörige Infrastruktur betrachtet werden kann.
Mit Werkzeugen, wie etwa Terraform, können Infrastrukturanpassungen, und auch die Bereitstellung komplexer neuer Infrastrukturen, ebenfalls vollautomatisiert durchgeführt werden. Dies ist ein massiver Vorteil, da man neben der Entwicklung (Development) auch den Betrieb (Operations) viel besser im Griff hat und somit die Wertschöpfung gesteigert werden kann.
Unser Ansatz in Kundenprojekten ist es hierbei immer, maßgeschneiderte und dem Zweck angemessene, CI/CD Pipelines aufzubauen – bis hin zu einer kontinuierlichen und vollständigen Automatisierung und Überwachung über den gesamten Lebenszyklus der Anwendung hinweg. Zum Einsatz kommen hierbei Experten aus den folgenden Themenfeldern:
- DevOps
- Terraform
1
Requirements Expert
Experten in dieser Rolle bilden in Projekten die Schnittstelle zwischen der fachlichen Anforderungsebene und der technischen Realisierung.
Auf der einen Seite unterstützen sie die Konzeptionierung, etwa durch Formulierung von User Stories. Auf der anderen Seite stellen sie sicher, dass die formulierten Anforderungen auch technisch sinnvoll realisierbar sind und, dass Anforderungen in der richtigen Reihe und rechtzeitig spezifiziert sind.
In agilen Projekten, basierend auf der Scrum-Methodik, übernimmt der Requirements Expert oftmals die Rolle des Product Owners (sofern diese Rolle nicht vom Kunden ausreichend ausgefüllt werden kann) oder unterstützt den Product Owner des Kunden in seinen Aufgaben.
Requirements Experten sind ein wesentlicher Effizienzfaktor in Projekten, da genau in dieser Schnittstellenfunktion sichergestellt wird, dass Anforderungen so beschrieben werden, dass sowohl der Kunde als auch das Umsetzungsteam die Anforderungen verstehen und auch effizient umsetzen können.
2
Software Expert
In aller Regel wird diese Rolle von einem oder mehreren Experten ausgefüllt, die im Projekt für die Umsetzung tätig sind. Neben spezialisierten Frontend- und Backendentwicklern verfügen wir auch über erfahrene Fullstack-Entwickler, Softwarearchitekten und Mediendesigner. Die Herausforderung in jedem Projekt besteht hierbei für uns darin, ein möglichst gut passendes und gleichzeitig nicht zu großes Team aus unserem Pool an Experten zusammenzustellen. Insgesamt ist dieses Team für die technische Realisierung der Anwendung zuständig.
In größeren Projekten kann an dieser Stelle auch ein UI/UX Experte hinzugezogen werden, der im Projekt die Perspektive des Users einnimmt und alles dafür tut, damit dieser eine positive User Experience erleben kann.
3
DevOps-Engineer
Experten in dieser Rolle kümmern sich in Projekten um den Aufbau und die Verbesserung der CI/CD Pipeline und sind für den Aufbau und den Betrieb der Anwendung zuständig.
Der Aufbau der Infrastruktur erfolgt in aller Regel basierend auf dem Infrastructure-as- Code-Ansatz. Bei der Konzeptionierung der Cloud Architektur wird Hand in Hand mit den Software Experten gearbeitet und es werden gemeinsam grundlegende Architekturentscheidungen getroffen.
Ziel ist es immer, mit der Architektur passende Antworten auf die entscheidenden nichtfunktionalen Anforderungen des Kunden zu finden. Hierzu gehören üblicherweise immer Themen wie „Sicherheit“, „Verfügbarkeit“, „Skalierbarkeit“, „Flexibilität“ und „Governance“. Aber auch Themen, die eher im Betrieb wichtig sind, wie „Backup & Recovery“, „Protokollierung“ und „Monitoring“, werden aus diesem Team heraus betrachtet und, sofern gewünscht, auch im Livebetrieb übernommen. (Cloud Architecture, Infrastrucutre-as-Code, Backup Recovery, Protokollierung, Monitoring)
Lesen Sie mehr auf rds.de →
4
Projekt Manager
Unsere Projekt Manager sind im Projekt als Single Point of Contact für die Einhaltung von Change- und Eskalationsmanagement-Prozessen zuständig und übernehmen die gängigen Aufgaben eines Projekt Managers für Planung, Koordination und Dokumentation. In agilen Projekten, basierend auf der Scrum-Methodik, übernimmt der Projekt Manager oftmals die Rolle des Scrum Masters und stellt so sicher, dass das Scrum-Team vor unnötigen Einflüssen von außen geschützt ist und möglichst effizient arbeiten kann.
5
Software Tester
Der Software Tester ist für mehr als nur die Abarbeitung von Testfällen zuständig. Er koordiniert gemeinsam mit den anderen Experten die Erstellung eines Testkonzeptes inklusive einer Teststrategie. Weiterhin plant und überwacht er die Erstellung von Testfällen und Testdurchführungen und reportet den Teststatus regelmäßig zum Kunden. Testfälle werden, sofern technisch sinnvoll und angemessen umsetzbar, bevorzugt automatisiert durchgeführt. Als Tool für das Testmanagement favorisieren wir die Xray App für Jira.
Für den schnellen Kontakt