Aller Anfang ist leicht. Meist beginnt es mit einem kleinen Projekt. Ein kleines Team entwickelt ein Stück Software. Vielleicht ist es nur eine moderne Darstellung im Bedienungs-Terminal. Der Pilot-Kunde hilft aktiv bei der Entstehung mit, toleriert Fehler, bringt Vorschläge und Ressourcen ein.
Die Software wird akzeptiert. Benutzer bringen ihre Verbesserungsvorschläge ein und der Kunde möchte die Software auf weiteren Systemen einsetzen und bezahlt dafür. Er duldet noch Tests auf seiner Maschine.
Vielleicht hat das Industrieunternehmen jetzt unbemerkt den „Point of no return“ überschritten, denn die Software von den Systemen zu löschen ist für einige Stakeholder undenkbar.
Die Software gefällt, sie wird beim zweiten Kunden eingesetzt. Ein schönes Erfolgserlebnis für die „Software-Leute“ – sie sind kein Team, keine Gruppe, keine Abteilung – und sie „machen“ das.
Im Laufe der Zeit verwenden weitere Kunden die Software und der Vertrieb hilft bei der Entstehung der dafür notwendigen neuen Funktionalitäten aktiv mit. Der Vertrieb verspricht auch neue Kunden zu erschließen, wenn die Software entsprechend erweitert wird. Neue Funktionalitäten müssen in kurzer Zeit bereitgestellt werden, sonst kauft der Kunde beim Mitbewerber. Die neu gewonnenen Kunden erwarten die Lieferung fehlerloser Systeme.
Die „Software-Leute“ sind überlastet. Jede Änderung muss für jeden Kunden getestet werden, der Testaufwand wächst exponentiell.
Der „Software-Guru“ wird Leiter des Software-Entwicklung und hat jetzt weder ausreichend Zeit für die Teamleitung noch ausreichend Zeit für die Software-Programmierung. Die Stimmung im Software-Team ist nicht mehr entspannt, erfahrene Entwickler verlassen es. Neue Mitarbeiter verstärken das Software-Team, aber es dauert zu lange bis sie wirklich gute Software schreiben können.
Beim Kunden treten Probleme auf, die IT des Kunden verbietet den Fernzugang auf das System, es gibt keine Aufzeichnung über den Hergang und es kann nicht festgestellt werden ob der Fehler in der Hardware oder in der Software liegt. Vorort werden Updates eingespielt und Fehlerbehebungen implementiert. Der Kunde kritisiert die hohen Wartungskosten.
Der Leiter möchte sein Team mit Ausbildung und Werkzeugen auf den aktuellen Stand der Software-Technik bringen. Weil die Firma mit Software nichts verdient ist hierfür kein Budget vorgesehen. Um die Kosten für Software zu senken, wird eine Offshore-Firma gegründet, doch die Qualität der gelieferten Software entspricht nicht den Erwartungen.
Software wird inzwischen zur Steuerung kritischer Maschinenteile verwendet, im Falle eines Software-Fehlers sind Personenschäden möglich, für die das Management haftet.
Kunden möchte unsere Software mit dem ERP oder Mobiltelefon verbinden, aber hierfür müsste man alles neu programmieren.
Die Stolpersteine aus dieser Kurzgeschichte kann jedes Industrieunternehmen vermeiden. In der Software-Entwicklung steckt nicht nur die Gefahr, viel größer sind die Chancen: Software ist für Industrieunternehmen ein zentrales Element, um sich im Wettbewerb bei der Kosten-, Qualitäts-, Preis- oder Innovations-Führerschaft zu positionieren. Mittels Software lassen sich zusätzliche Alleinstellungsmerkmale (USPs) generieren.
Eine richtig eingesetzte Software-Entwicklung nutzt Skaleneffekte, Synergieeffekte und minimiert durch Effektivität den Aufwand der Qualitätssicherung
Vorab müssen auf Managementebene die Rahmenbedingungen geschaffen werden, indem notwendige Strategien ausgearbeitet, Verantwortungen definiert, Stellen geschaffen und die Firmenkultur neu ausgerichtet werden. Das Management-Consulting von Software Quality Lab zeigt Ihnen den richtigen Weg.