Continuous Integration

Der EMANO CI-Server
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 im CI-Server 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 den CI-Server 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 den CI-Server 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 den EMANO CI-Server, einen Kunden CI-Server oder eine Hybrid Variante zu wählen.

Unserer EMANO CI-Server ist aktuell wie folgt geclustert:

  • Continuous Integration – Jenkins
  • Version Control System – GIT
  • Build Tools – Maven
  • Dependency Management – Nexus
  • Deployment Automation – Java Secure Channel, Fabric
  • Integrated Development Environment (IDE) – Eclipse, Visual Studio
  • Review – Upsource
  • Requirement Management – JIRA, Enterprise Architect
  • Issue Tracking – JIRA, Enterprise Architect
  • Testing – JUnit, JMockit, Mockito, SoapUI, Enterprise Architect
  • Analyse – SonarQube, EMANO Delivery Manager
  • Knowledge Sharing – Confluence, Enterprise Architect