CI/CD-Chain

Die EMANO CI/CD-Umgebung
ist das Herz des EMANO-SEP

Unser agiler Softwareentwicklungsprozess basiert auf Agile DevOps, dem Scrum-Framework sowie unseren Best Practices aus jahrzehntelanger Softwareentwicklungstätigkeit. Die Produktqualität wird dabei über Capability Maturity Model Integration (CMMI) sichergesellt. Dazu haben wir speziell unseren CMMI Manger entwickelt, um unseren Projekten ein Tool zum projektspezifischen Tailoring und Verknüpfen der reifegradbasierten Qualitätsziele mit den konkreten Entwicklungsmethoden zur Verfügung zu stellen.

Der EMANO-SEP
und seine 4 Phasen

Der EMANO-SEP unterteilt sich in vier Phasen. Diese werden zyklisch durchlaufen, bis das Produkt dann schließlich die gewünschten Features und Functions implementiert. Im folgenden ein Überblick über die vier Phasen.

1. Agile Development

Basierend auf dem Scrum-Framework wird gemäß den Produktanforderungen unserer Kunden ein Product Backlog in der CI/CD-Umgebung aufgebaut.
Dieses wird anschließend agil in iterativen Sprints abgearbeitet, bis letztlich das gewünschte Produkt realisiert ist.
 

2. Continuous Integration

In dieser Phase werden die User Stories aus dem Sprint Backlog durch das Development Team realisiert und dokumentiert. Die Ergebnisse werden über das VCS (Version Control System) automatisiert an den CI-Server übermittelt.

3. Testing & Quality Assurance

Die Qualität der Entwicklungstätigkeiten des Development Teams werden automatisiert und kontinuierlich durch die CI/CD-Umgebung geprüft und das Feedback bezüglich der Ergebnisse automatisiert verteilt (Continuous Feedback). Zusätzlich finden auch systematische Code-Reviews und regelmäßige Audits unterstützt durch die CI/CD-Umgebung statt. Insgesamt wird die Qualität anhand von 7 Quality Gates sichergestellt.

4. Continuous Delivery

Die jeweiligen Produktiterationen werden über den EMANO Delivery Manager freigegeben, wenn die definierten Qualitätsziele über die Quality Gates erreicht wurden. Anschließend wird das Produktpaket generiert und installiert.

Je nach Kunde und Projekt ist es durch unseren EMANO-SEP möglich zwischen der EMANO CI/CD-Umgebung, einer Kunden CI/CD-Lösung oder eine Hybridvariante zu wählen.

Unserer EMANO CI/CD-Umgebung ist aktuell wie folgt geclustert:

  • Continuous Integration – Azure Pipelines, Jenkins
  • Version Control System – GIT
  • Build Tools – Maven, npm
  • Dependency Management – npm, Dependency-Track, Azure Artifacts, Nexus
  • Deployment Automation – Java Secure Channel, Fabric, Docker, Kubernetes
  • Integrated Development Environment (IDE) – Eclipse, Visual Studio
  • Review – Azure Repos, Bitbucket
  • Requirement Management – JIRA, Azure Boards, Azure Delivery Plans
  • Issue Tracking – JIRA, Azure Boards
  • Testing – JUnit, JMockit, Mockito, ReasdyAPI, Azure Test Plans, Xray
  • Analyse – SonarCloud, WhiteSource/Mend, EMANO Delivery Manager
  • Knowledge Sharing – Confluence, Enterprise Architect