DEVELOPMENT AND RELEASE MANAGEMENT PROCESS / DEVELOPMENT PHASE

In den letzten Jahre hat sich neben den Technologien und Tools auch die Softwareentwicklungsmethode stark fortentwickelt. Viele Projekte gehen von dem Wasserfall-Modell weg und verzichten auf das Erstellen eines umfangreichen Pflichten-und Lastenheftes im Vorfeld des Entwicklungsprozesses. Ein riesiger Vorteil ist die enorme Flexibilität bei der Softwareentwicklung, denn was zum Zeitpunkt des Erstellens einer Spezifikation up-to-date war, muss es zum Beginn des Softwareentwicklungsprozesses nicht mehr sein. Dieses führt zu einem enormen Konfliktpotential zwischen den Parteien, denn es geht viel Zeit und Geld auf sog. Chance Request verloren.

Bei AMB Software setzen deshalb seit Jahren auf agile Softwareentwicklung unter Zugrundelegung von Scrum oder Kanban, halten dabei die Kosten zum jeden Zeitpunkt der Entwicklung transparent. Einige unserer Partner sind aufgrund diverser unternehmensinterner Regelungen an ein Festpreis-Modell angewiesen, insofern arbeiten wir stets individuelle Rahmenbedingungen heraus.

Agile Softwaremethoden erlauben jedoch, zyklisch Teile einer zu entwickelnden Software auszuliefern, weshalb auch schnell ein Feedback von den Usern / Stakeholdern eingeholt werden kann.

Auch braucht das Gesamtprodukt zu Projektbeginn nicht vollumfänglich bekannt sein, dieses kann während des Prozesses im Backlog ergänzt werden.

Agile Softwareentwicklung ermöglicht, eine kontinuierliche Anpassung und Ergänzung einer Idee während des Entwicklungsprozess selbst, denn das Projekt bzw. Produkt wird in regelmäßigen Abschnitten, sog. Sprints weiterentwickelt, angepasst oder neudefiniert.

Nach jedem Sprint wird die entstandene Software von unserer Quality Assurance getestet und anschließend von den DevOps Engineers bereitgestellt (deployed).

Bei AMB Software geht die Quality Assurance weiter über ein reines physisches Testen (,,Durchklicken``) hinaus. Quality Assurance Engineers sind verantwortlich für:

  • Test Driven Development (Unit, Integration, Performance und UI Tests)
  • Test Automatisation (Jenkins/Hudson, Bamboo)
  • KPI Monitoring (z.B. Test Coverage)
  • Code Reviews
  • Einhaltung der Definition of Done (DoD)

Zur Einhaltung einer sauberen Entwicklungsumgebung bei der IT-Infrastruktur setzen wir auf  u.a. auf Docker und Vagrant. Diese Tools erlauben eine einfache Auslieferung von Services in einer virtuellen Umgebung und ermöglichen eine frühzeitige Evaluierung und Testen der IT-Architektur.

Als IT-Dienstleister wirken wir stets auf die Standardisierung von Entwicklungs- und Rolloutprozessen. Ein vereineinfachtes Release-Management führt zu Stabilität und optimalen Handhabung des gesamten Release Management Prozesses.

Gerne unterstützen wir Sie vollumfänglich bei dem Aufsetzen des GIT- Flows und sämtlicher Development Phasen.

Unsere Teams haben langjährige Erfahrung in diversen Programmiersprachen und Frameworks und werden von unseren Scrum Mastern unterstützt. Unser Entwickler zeigen die IT-Infrastruktur auf, um die Software zu betreiben (IaaC) und unsere DevOps Entwickler sorgen für eine optimale IT-Infrastruktur und den Rollout-Prozess, einschließlich Cloud Management (z.B. Bereitstellung von Cloud Providers, AWS Accounts, etc.) sowie dem Release Management (Ticket Handling, Monitoring, Log Management).