Wie ITGAIN den Entwicklungsprozess automatisiert hat…

Einführung SCM bei ITGAIN

Während der Hauptfokus der ITGAIN auf dem Beratungsgeschäft liegt, gibt es seit Januar 2016 auch den Bereich "Product Development". Die Kollegen arbeiten hauptsächlich an Pflege und Weiterentwicklung unserer SpeedGain Familie.
Daneben haben sich in den über 15 Jahren ITGAIN einiges an Tools und Hilfsmitteln angesammelt, welche vielleicht mal als kleine Einmann-Projekte gestartet sind und mittlerweile zu ausgereiften Lösungen für den internen Gebrauch herangewachsen sind. Ein Beispiel ist RITA, welche regelbasiert über eine Drools Engine (https://www.drools.org/) unsere zweitägige ITAKADEMIE plant und ein Curriculum für 120 Mitarbeiter, 6+ parallele Tracks und ca. 40 Vorträge und Workshops erstellt.
Um die gesamte Softwareentwicklung innerhalb der ITGAIN flexibler und effizienter zu gestalten, wurde letztes Jahr begonnen, in die Softwareentwicklungsumgebung eine Sammlung von bewährten Open Source Tools zu integrieren und gleichzeitig die Abläufe weitgehend zu automatisieren.
Es kamen zum Zuge:

  • Buildmanager Jenkins (https://jenkins.io/ - steuert Maven und Gradle)
  • Statische Codeanalyse mit SonarQube (https://www.sonarqube.org/)
  • Artifakt Repository Nexus (https://www.sonatype.com/nexus-repository-sonatype)
  • Anforderungsmanagement und Bugtracker Redmine (http://www.redmine.org/)
  • Testmanagement mit Testlink (http://testlink.org/)
  • Testautomation mit Selenium (http://www.seleniumhq.org/)

Das Ganze wurde in vielen einzelnen Docker Containern aufgebaut und miteinander verknüpft; unterstützt von den Versionsverwaltungssystemen SVN und git.
Einige Monaten nach Fertigstellung der ersten Ausbaustufe  wurden unserer Entwickler nach Feedback gefragt. Hier ein paar Zitate des zurückgespiegelten Antworten:

  • "[...] meiner Meinung nach ist unser ITGAIN SCM kostbar. Während der Entwicklung von (interner Produktname) konnten wir einige Bugs mit Hilfe von SonarQube identifizieren."
  • "Insbesondere die aus meiner Sicht weitreichende Automatisierung von SCM hat die Arbeit verbessert."
  • "die Ergebnisse der statische Codeanalyse genutzt. Als Resultat habe ich [...] Code überarbeitet bzw. einen Review unterzogen. Die Produktqualität ist hierdurch gestiegen (subjektiv)."

Wir planen unsere Systeme mit zusätzlichen Bausteinen zu ergänzen und die Automatisierung fortzuführen, um unseren Entwicklern noch besser helfen zu können.
Haben Sie Fragen zu diesem Artikel? Sprechen Sie uns an!