Referenzen

Unterstützung bei digitaler Transformation

Aufbau einer IT-Infrastruktur für die Produktentwicklung & Produktmodernisierung

Der Lebenszyklus von Software-Lösungen ist meist länger als erwartet. Es beginnt als initialer Prototyp, der seinen Weg aus Kosten- und Zeitgründen in die Produktivumgebung findet. Der Prototyp "wächst historisch", sprich der Aufwand um neue Features hinzuzufügen steigt allmählich, während automatisierte Qualitätskontrollen oder essentielle Refaktorierugen weggelassen werden. Früher oder später treten immer häufiger unerwartete Seiteneffekte auf und das Projekt gilt als "unwartbar".

Ein kleines Unternehmen bat uns um Untestützung, um eines Ihrer unwartbaren Projekte vor dem Scheitern zu retten.

Wir haben uns Anfangs darauf konzentriert, die Produktentwicklung durch Einführung gängiger Industriestandards zu stabilisieren, d.h. VCS, Artefaktmanager, automatisierte Tests, Build Server, deployment Umgebungen. Dabei wollten wir jeden notwendingen Schritt zur Erstellung des Software Artefakts automatisieren, um Wissensinseln aufzudecken und menschlichem Versagen vorzubeugen.

Ergebnis

  • täglich wird ein auslieferbares Artefakt erzeugt und jederzeit bei Bedarf (vorher manuell kurz vor Deadline)
  • automatisierte Tests und Pipelines haben Konfidenz in eigene Software wieder erhöht
  • paralelles Arbeiten ist wieder möglich
  • Unternehmen hat mit uns einen Ansprechpartner bei Problemen
  • Neuentwicklung um historisch gewachsenen Code zu ersetzen hat begonnen
    • signifikate Performance Steigerung durch Einsatz von etablierter Technologie
    • Entwicklung unter Berücksichtigung von gängigen Methoden: TDD, DRY, SoC, SOLID

Verantwortlichkeiten im Projekt

  • Mitarbeiter Schulung über agile Arbeitsweise
  • Mitarbeiter Schulung bzgl. Atlassian Cloud
  • Aufbau einer IT-Umgebung, die es mehreren Mitarbeiten erlaubt, gleichzeitig das Bestandssystem weiterzuentwickeln
  • Aufbau einer Infrastruktur für Continuous Integration/Continuous Delivery
  • Aufbau einer automatisierten Qualitätskontrolle, die bei Änderungen am Bestandssystem oder Teile davon verschiedene Test-Szenarien durchführt
  • Aufbau einer Pipeline zur automatisierten Erstellung des Bestandssystem und Bereitstellung von Metriken bzgl. dessen Qualität (bspw. Testreports)

Angewandte Skills

  • Agile Softwareentwicklung
  • Backend Entwicklung
  • Black Box Testing
  • Coaching/Training
  • Continuous Delivery
  • Continuous Integration
  • DevOps
  • Domain Driven Design
  • Frontend Entwicklung
  • Research
  • Scrum
  • Single Page App Entwicklung
  • Technologieberatung
  • Test Driven Development

Eingesetzte Technologien

  • Artifactory
  • Atlassian Cloud (Jira/Confluence)
  • Docker
  • Docker Desktop
  • Git
  • Gitea
  • Jenkins
  • Kotlin
  • React
  • SQLite
  • Selenium
  • Spring Boot
  • Swagger