Lieferantenmanagement in der Softwareentwicklung

Newsletter


Der Einsatz von Software in Produkten nimmt weiter zu. Ob als Steuerungssoftware o.a. Dienst, wird dieser Trend die Zukunft der Produktentwicklung bestimmen. Gegenwärtig wird die zunehmende Bedeutung von Software in der Industrie unter dem etwas unscharfen Begriff der „Digitalisierung“ subsumiert. Die Tatsachen sprechen jedoch für sich. Schon vor Jahren wurde konstatiert, dass sich der Anteil von Software in der Fahrzeugindustrie ca. alle 2 bis 3 Jahre verdoppelt (BMW, ingeneur.de, 2001). Heute entfallen ca. 90 Prozent der automobilen Innovationen auf die Bereiche Elektronik und Software (intensity GmbH, 2014). Dieser Trend zwingt die Fahrzeughersteller, Software-Entwicklung als zusätzliche Kernkompetenz zu begreifen.

 

Bedeutung von Softwareentwicklung im Fahrzeug

Quelle: Accenture 2015

 

Mit diesem Trend steigt parallel das Risiko von Fehlern bzw. der Fehleranfälligkeit von Produkten. Ein Großteil von Steuergeräte-Software wird von externen Softwarelieferanten erstellt. Dem Lieferantenmanagement kommt dadurch eine zunehmende Bedeutung zu. Ziel ist die Steuerung von:

  • Qualität
  • Zeit
  • Kosten

Wie sollte das Lieferantenmanagement im Bereich Softwareentwicklung effektiv gestaltet werden? Im Mittelpunkt steht die Zusammenarbeit zwischen dem Auftraggeber und dem Auftragnehmer. Eine enge Verzahnung zwischen den relevanten Prozessen beider Unternehmen ist unerlässlich. Werden die Schnittstellen in der Zusammenarbeit nicht bereits vor Beginn der Entwicklung definiert und klar beschrieben, sind Fehler so gut wie vorprogrammiert. Damit verbunden Aufwände der Fehlerbehebung, Zeitverzüge, höhere Software Entwicklungskosten.

Um all das zu vermeiden, ist ein effizientes Lieferantenmanagement unabdingbar. Nach Möglichkeit sollten die Entwicklungsabteilung, die Qualitätssicherung und ggfs. der Einkaufs des Auftraggebers in dieses mit eingebunden werden. Diese drei Parteien bilden die Schnittstellen zum Lieferanten auf Basis definierter Prozesse.

 

Die Hautaufgaben des Software-Lieferantenmanagements sind:

  1. Vermeidung von Abhängigkeiten zu Lieferanten
  2. Qualitätssicherung der Softwareentwicklung
  3. Sicherstellung der Produktqualität
  4. Prozessfähigkeit Lieferanten bei der Softwareentwicklung
  5. Schaffung von Kostentransparenz für Software-Entwicklungsumfänge
  6. Systematische Vergabeprozesse

 

Zu 1: Keine Schaffung von Abhängigkeiten

Eine externe Vergabe von Softwareentwicklungen schafft automatisch Abhängigkeiten zu Lieferanten, denen der Auftraggeber zumindest teilweise ausgeliefert ist. Um ein Ausgeliefertsein zu vermeiden, sollten für bestehende Lieferantenbeziehungen Rückfallszenarien entwickelt werden für den Fall, dass sich eine Zusammenarbeit nicht erfolgreich entwickelt.  Es ist notwendig, über ein Verzeichnis alternativer Dienstleister zu verfügen, auf die im Notfall zurückgegriffen werden kann. Eine nicht abgesicherte „Single Sourcing“ Strategie ist immer risikoreich.

 

Zu 2: Direkte Einflussmöglichkeit auf die Qualität der Softwareentwicklung über den gesamten Entwicklungsprozess hinweg

Der Prozess der Softwareentwicklung, insbesondere die Qualitätssicherungsmaßnahmen, darf für den Auftraggeber keine Blackbox sein. Es ist wichtig, dass der Auftragnehmer größtmögliche Transparenz und Einflussmöglichkeiten in Bezug auf den Entwicklungsprozess hat, um frühzeitig Fehlentwicklungen feststellen zu können.

Es ist dabei keineswegs damit getan, ein regelmäßiges Reporting zu etablieren. Notwendig ist eine aktive Zusammenarbeit inklusive Aufgabenteilung. Bedarfsanalyse, Entwicklung und Qualitätssicherung bilden dabei natürliche Schnittstellen. Das V-Modell bietet im Rahmen der Softwareentwicklung einen guten Ansatzpunkt, Aufgaben zwischen dem Auftraggeber und dem Lieferanten zuzuordnen.

 

Softwareentwicklung

 

Desweiteren sollte ein Eskalationsprozess festgelegt werden, der eine Lösung von aufgetretenen Problemen innerhalb eines verbindlichen Zeitraums vorsieht. Zu definieren sind die verschiedenen Eskalationsebenen sowie Zeiten und die  Resultate.

 

Zu 3: Umsetzung der geforderten funktionalen und nicht-funktionalen Vorgaben des Auftraggebers

Um eine vollständige Umsetzung aller funktionalen und nicht-funktionaler Anforderungen zu gewährleisten, sollten verbindliche Meilensteine bzw. Quality Gates festgelegt werden, von deren Erreichen  die Freigabe des nächsten Entwicklungsschrittes abhängt.

Software Tests sollten maßgeblich durch den Auftraggeber vorgegeben und nach Möglichkeit mit durchgeführt werden.

Ein weiterer wichtiger Aspekt ist die Code Analyse.  Durch den frühen Hinweis auf Fehler in den Softwarecodes können gezielte Verbesserungsmaßnahmen eingeleitet werden, die zu einem späteren Zeitpunkt hohe Kosten verursachen würden.

Durch die Vorgabe von KPIs (Key Performance Indikator) lässt sich die Qualität der Softwareentwicklung quantifizieren und zukünftige Verbesserungspfade bestimmen.

 

Zu 4: Softwareentwicklung auf Basis anerkannter Prozessstandards

Die Prozessfähigkeit der Softwareentwicklung wird anhand internationaler Standards wie SPICE (Software Process Improvement and Capability Determination; ISO 15504) bewertet. Der Auftraggeber sollte nach Möglichkeit ein Zielprozessbild vorgeben, dem die Softwarelieferanten entsprechen müssen.

 

Zu 5: Herausforderung Kostenabschätzung in der Softwareentwicklung

Die Schaffung von Kostentransparenz in der Softwareentwicklung ist eine schwierige Aufgabe. Verschiedene Ansätze, wie z.B. die Function Point Methode, haben sich entweder als zu komplex, teilweise als irreführend erweisen. 

Neben Zeit & Material haben sich Festpreise oder auch Höchstgrenzen etabliert. Festpreise berechnen sich  oft über Arbeitsstunden, Aktionspunkte, damit Aktionspunkte pro Stunde multipliziert mit dem entsprechenden Stundensatz. Unabhängig davon, welche Methode ein Auftraggeber zu Bestimmung der Softwareentwicklungskosten wählt, stellt die Schaffung von Kostentransparenz ein unerlässliches Instrument des Lieferantenmanagements dar.

 

Zu 6: Auftragsvergabe gemäß den Anforderungen des Lieferantenmanagements

Die Vergabekriterien sollten sich an den genannten Faktoren des Lieferantenmanagements orientieren. Durch diese werden alle relevanten Anforderungen an einen Lieferanten abgedeckt, parallel dienen sie der Steuerung. Im Rahmen von Ausschreibungen sollte somit Bereitschaft der Lieferanten überprüft werden, den vorgegebenen Anforderungen zu folgen.

Das Lieferantenmanagement steht damit im Mittelpunkt der Bereich Lieferantenentwicklung, Lieferantenbewertung, Lieferantequalifizierung und bedeutet die definierte Zusammenarbeit zwischen Auftragnehmer und Auftraggeber im Rahmen der Softwareentwicklung.

 

Lieferantenmanagement

« Zurück