Digitalisierung auch ohne eigenes Software-Team meistern

Mit diesem Dokument wollen wir Ihnen die Grundzüge der Zusammenarbeit mit externen IT-Dienstleistern erläutern. Sie werden erfahren, warum sich die Zusammenarbeit mit Dienstleistern häufig gegenüber dem Aufbau eigener IT-Teams empfiehlt und wie Sie mit externen Dienstleistern erfolgreiche Software-Projekte initiieren.
 - Gero Duppel - 

Einleitung

Die Digitalisierung ist mittlerweile in aller Munde und stellt für Unternehmen und andere Organisationen eine riesige Herausforderung dar. Um Schritt halten zu können, müssen die bisherigen Arbeitsweisen konsequent hinterfragt und oft genug verändert werden. Denn in einer immer komplexer werdenden Welt hat ein Großteil dieser althergebrachten Methoden ausgedient und es gilt neue Lösungen zu finden.

Bereits jetzt spielt Software dabei eine entscheidende Rolle. Dass Software zukünftig sogar absolut zentral in sämtlichen Bereichen der Wertschöpfung sein wird, ist unumstritten. Gleichzeitig ist jedoch auch zu betonen, dass Software die Digitalisierung ermöglicht und nicht Digitalisierung die Software.

Was aber bedeutet das für die betroffenen Unternehmen und für Sie? Zunächst einmal nur, dass entsprechende Softwarekenntnisse benötigt werden. Um dieses Problem zu lösen, gibt es grundsätzlich zwei Möglichkeiten:

  • Das Unternehmen baut zusätzlich zum eigenen Kerngeschäft selber die benötigte Kompetenz auf.

  • Die Zusammenarbeit mit einem externen Dienstleister.

Keine der beiden Lösungen ist nun erst einmal besser oder schlechter. Es stellt sich einfach die Frage, was für das jeweilige Unternehmen die passende und damit letztlich wirtschaftlichere Variante darstellt. Und doch zieht ein Großteil der Unternehmen nur die erste Variante in Betracht. Dabei bietet die Zusammenarbeit mit einem Dienstleister eine Reihe von Vorteilen, die nicht unbeachtet bleiben sollten.

  • Ein sofort einsetzbares, schlagkräftiges Team, das zeitkritische Projekte umgehend umsetzen kann. Gut funktionierende, erfolgreiche Teams aufzubauen ist ein langwieriger, kostenintensiver Prozess. Selbst wenn Sie ganz klar wissen, welche Software-Kompetenz ihr Unternehmen benötigt, stellt der derzeitig herrschende Fachkräftemangel eine echte Herausforderung dar.

  • Flexibilität in puncto Kompetenzen und Umfang - denn jedes Problem braucht seine eigene, spezifische Lösung und andere technische Kompetenzen. Für jedes Problem, das Sie lösen wollen, gibt es also den richtigen Partner.

  • Flexibilität im Hinblick auf die Kosten und Personalstrukturen. Mit einem externen Dienstleister entziehen Sie sich dem Risiko, einen großen Fixkostenblock aufzubauen. Gleichzeitig bleiben Sie flexibel bei der Entscheidung, wann und in welchem Umfang Sie Projekte umsetzen.

  • Konzentration auf das eigene Kerngeschäft - alle können sich genau auf das konzentrieren, was sie gut können und dort besser werden.

Doch wie kann die Zusammenarbeit mit externen IT-Dienstleistern erfolgreich funktionieren und worauf sollten Sie bei der Auswahl achten? Die wichtigsten Antworten zur Orientierung finden Sie in diesem Whitepaper.

Digitalisierung ist mehr als nur Software

Die Software kann auch von anderen entwickelt werden

Bei aller Diskussion ist auch eindeutig, dass Digitalisierung mehr als nur Software bedeutet. Digitalisierung spiegelt sich in sämtlichen Geschäftsmodellen, Prozessen und Angeboten von Unternehmen wider. Die Software bildet letztendlich nur das Rückgrat für diese.

Und genau in diesen Geschäftsmodellen, Prozessen und Angeboten liegt die Königsdisziplin der Unternehmen. Niemand kennt die Bedürfnisse, Anforderungen und Besonderheiten des Unternehmens besser als die eigenen Mitarbeiter. Bei jeder neuen Entwicklung von Produkten oder Veränderung von Prozessen muss geklärt werden, warum dieses Projekt relevant ist und wohin es führen soll - immer im Einklang mit den Unternehmenszielen.

Nachdem diese Fragen durch das Unternehmen selber geklärt wurden, bietet sich ein guter Ausgangspunkt, um die Entwicklung von Technologien und Software anzustoßen.

Was sich so einfach liest, ist in der Realität oftmals ein schwieriges Unterfangen. Auch hier kann es ratsam sein, sich bei diesem Prozess gegebenenfalls Unterstützung durch externe Innovationsmanager, Coaches und Moderatoren zu sichern. Diese können unter Umständen ebenfalls dabei helfen, Spezifikationen und Anforderungen für die neuen Technologien so zu definieren und zu dokumentieren, dass die Entwicklung für einen IT-Dienstleister erleichtert wird - das ist allerdings keine grundlegende Voraussetzung für diese Form der Zusammenarbeit.

Wie funktioniert die Zusammenarbeit mit einem Dienstleister?

Sobald sie entweder wissen, welches Problem die Software für Sie lösen soll oder eine grobe Idee davon haben, was das neue Produkt/Prozess können soll, können sie in das Gespräch mit einer Softwareentwicklungsfirma treten. An diesem Punkt ist es entscheidend, zu klären, wie die potenziellen Dienstleister bei der Entwicklung vorgehen.

Zwei Varianten für die Software-Entwicklung:

1. Klassische Variante

Bei klassischen Methoden, wie dem Wasserfallmodell, wird von Beginn an eine Software komplett und voll umfassend mit allen gewünschten Funktionalitäten geplant. Gleichzeitig werden für die Entwicklung der Aufwand und die einzelnen Entwicklungsschritte bis zur Fertigstellung festgelegt. Erst mit Fertigstellung der gesamten Software kann sie genutzt werden und die nachträgliche Erweiterung gestaltet sich sehr schwer.

2. Agile Methode

Bei agilen Entwicklungsmethoden wie Scrum oder Kanban wird erst mit fortschreitender Entwicklung der Umfang der gewünschten Software geplant. Als Grundlage dafür dient eine Vision des zukünftigen Produkts, an der sich alle Entscheidungen und Entwicklungsschritte ausrichten. Alle Funktionalitäten werden in kleine Entwicklungspakete gemäß der Produktvision aufgeteilt und Schritt für Schritt realisiert. Die Software ist bereits mit den ersten grundlegenden Funktionalitäten nutzbar und stets erweiterbar.

Agile Softwareentwicklung bietet gegenüber der klassischen Variante einige Vorteile, die wir Ihnen im Folgenden gerne etwas ausführlicher darlegen.

Ablauf von agilen Projekten

Im letzten Jahrzehnt hat sich die agile Softwareentwicklung zunehmend als gängiges Modell unterschiedlicher Ausprägung entwickelt. Hierfür gibt es zahlreiche Gründe auf Seiten der Auftraggeber und der Auftragnehmer. Mit zunehmender Globalisierung und Digitalisierung hält eine neue, bis dato unbekannte Dynamik Einzug in die Wirtschaft.

Durch agile Projekte kann durch die Softwareentwicklung auf diese zunehmende Dynamik der Wirtschaftsprozesse reagiert werden. Die ermöglicht das Reagieren auf neue Entwicklungen und behält eine hohe Flexibilität im Entwicklungsprozess bei. Somit sind auch kurzfristig Änderungen in der Projektausrichtung möglich. Langfristige und unflexible Projekte werden somit vermieden und es wird eine hohe Steuerbarkeit über den gesamten Projektverlauf gewährleistet.

Grafik agile Software Entwicklung

Als Besonderheit an der agilen Arbeit ist zu betonen, dass ein hohes Maß an Kommunikation von größter Bedeutung ist. Über das gesamte Projekt hinweg werden die Schritte und Maßnahmen gemeinsam von Auftragnehmer und Auftraggeber erarbeitet. Es wird nicht nur eine Weisung durch den Auftraggeber getätigt, sondern das gemeinsame Erarbeiten des Projekts durch stetigen Austausch hat ein besonderes Gewicht.

Iterative Entwicklung von Produkten/Software

An dieser Stelle ist es wichtig, mit einem Mythos aufzuräumen: Software muss bzw. kann nicht mehr so geplant und entwickelt werden wie bisher. Moderne Software ist quasi fortlaufend in der Entwicklung und eine Fertigstellung, im Sinne von, dass sie am Ende über alle gewünschten Funktionalitäten verfügt, findet nie statt. Denn die Anforderungen ändern sich heutzutage rasant - sei es durch aktuelle Marktentwicklungen, geändertes Userverhalten oder Ähnliches. Dies sind alles Dinge, die zuvor in der Planung so nicht berücksichtigt werden, aber einen massiven Einfluss auf die spätere Wirtschaftlichkeit haben können.

In der modernen Softwareentwicklung wird eine Software stattdessen in zahlreichen Iterationsstufen Stück für Stück erweitert. So wird in regelmäßigen Zeitabschnitten eine neue Version fertiggestellt, die jeweils neue Funktionen beinhaltet, die die Software umfangreicher macht und die selbstständig nutzbar ist. Diese Intervalle können von einzelnen Tagen bis hin zu mehreren Wochen dauern. Besonders wichtig ist hierbei jedoch, dass die Software dauerhaft ihre Funktionsfähigkeit beibehält und genutzt werden kann. Sie wird durch die neuen Bausteine lediglich in ihrem Funktionsumfang ergänzt oder an neue Erkenntnisse angepasst. Die ersten grundlegenden Funktionen der Software werden bereits mit dem ersten Baustein geliefert und ab dann stetig ausgebaut.

Diese Art der Entwicklung ermöglicht eine hohe Flexibilität beim Umfang der Software und dem gesamten Ablauf des Projekts. So kann mit jeder Iterationsstufe entschieden werden, auf welche neuen Funktionalitäten der Fokus gelegt werden soll. Gleichzeitig ist bei der Zusammensetzung des Entwickler-Teams und den daraus resultierenden Kosten eine größtmögliche Flexibilität geboten.

Prototypen als Beschleuniger für Entscheidungsfindung

Wenn es in Unternehmen um die Umsetzung von neuen Strategien oder Maßnahmen geht, kann die damit verbundene Entscheidungsfindung häufig sehr lange dauern. Je komplexer die geplanten Maßnahmen und je größer die Auswirkungen auf das eigene Unternehmen sind, umso länger können diese Entscheidungsprozesse dauern.

Besonders bei der Umsetzung von Softwareprojekten kann sich der Entscheidungsprozess deutlich in die Länge ziehen. Dies trifft besonders dann zu, wenn die Entscheidungen auf Basis von unzureichenden Informationen, zahlreichen Meetings und komplex formulierten Powerpoint-Präsentationen getroffen werden müssen. Durch die Länge der Entscheidungsprozesse entstehen zudem häufig hohe Kosten für das Unternehmen und Frustrationen bei den involvierten Mitarbeitern.

Häufig könnte eine solche Situation schon im Vorfeld vermieden werden. Bereits für geringe Kosten und mit sehr geringem zeitlichen Aufwand können erste Software-Prototypen entwickelt werden. Diese ermöglichen ein besseres Verständnis für das Projekt, das zur Diskussion steht. Ein vorab entwickelter Prototyp, in der Software-Entwicklung auch Minimal Viable Product (MVP) genannt, simuliert die ersten Funktionalitäten der späteren Software und bietet somit etwas Greifbares für die Entscheidungsträger.

Grafik MVP

Zwar entstehen durch die Entwicklung eines dem Projekt vorweggenommenen ersten Prototyps Kosten, doch sind diese im Verhältnis sehr viel geringer, als die zu erwartenden Kosten und entgangenen Umsätze, welche durch einen langgezogenen Entscheidungsprozess entstehen. Der entwickelte Prototyp reduziert die Dauer des Entscheidungsprozesses deutlich.

Die zentrale Rolle bei agiler Softwareentwicklung

Im Zuge der Entwicklung neuer Technologien mit externen Dienstleistern ist besonders eine enge und einwandfreie Kommunikation zwischen Auftraggeber und Auftragnehmer von Bedeutung. Um diese Kommunikation zu gewährleisten, wird üblicherweise auf jeder Seite eine hauptverantwortliche Person bestimmt - oft als Product Owner oder Projektmanager benannt.

Auf der Seite des auftraggebenden Unternehmens sind die wichtigsten Aufgaben dieser verantwortlichen Person die folgenden:

  • Sie stellt die relevanten Informationen aus Sicht des Unternehmens wie Anforderungen zur Verfügung: Was soll das Produkt/ der Prozess können? Gibt es z.B. gesetzliche Bestimmungen, die berücksichtigt werden müssen etc.

  • Im Anschluss werden diese Informationen den Verantwortlichen des Dienstleisters transparent gemacht.

  • Gleichzeitig steht der Ansprechpartner des Auftraggebers für Rückfragen und weitere Gespräche zur Verfügung.

Auf der Seite des Dienstleisters gibt es eine vergleichbare Person, die als Kommunikationsschnittstelle dient. In regelmäßigen Meetings mit Vertretern des Auftraggebers nimmt sie alle relevanten Informationen entgegen, klärt kritische Fragen ab und koordiniert die Entwicklungsarbeiten im eigenen Team. Die Hauptaufgabe liegt somit in der Übersetzungsleistung zwischen Anforderungen des Kunden und Arbeitsaufträge für das Entwicklerteam.

Vorteile und Erfolgsfaktoren

Vorteile der Softwareentwicklung mit externen Dienstleistern

Die Softwareentwicklung mit externen Dienstleistern bringt eine ganze Menge Vorteile mit sich. Besonders hervorzuheben ist jedoch, dass es für Unternehmen nicht notwendig ist, ein eigenes IT-Team auszubauen. Besonders in Zeiten des Fachkräftemangels und des zunehmenden Wettbewerbs am Arbeitsmarkt ist es schwer, geeignete Mitarbeiter für das eigene IT-Team zu gewinnen. Dieser Herausforderung kann man sich mit einem geeigneten und vertrauensvollen IT-Dienstleister entziehen.

Ein weiterer Vorteil liegt darin, dass das Team des Dienstleisters bereits aufeinander eingespielt ist und somit effektiver zusammenarbeitet. Gleichzeitig ist durch die Zusammenarbeit mit einem externen Dienstleister der Zugriff auf gerade die Fähigkeiten möglich, die just in dem Zeitraum für das Projekt benötigt werden. Dies erhöht zusätzlich die Flexibilität für das Unternehmen als Auftraggeber.

Bei der Wahl von agilen Methoden bei der Softwareentwicklung liegt ein weiterer großer Vorteil darin, dass bereits von der ersten Minute an Wert geschaffen wird. Der Fokus liegt auf dem schnellen Liefern von verwertbaren Ergebnissen.

Unterm Strich erspart die Zusammenarbeit mit einem Dienstleister dem Auftraggeber nicht nur Zeit, sondern auch viel Mühe und bares Geld.

Erfolgsfaktoren für Softwareentwicklung mit ext. Dienstleistern

Doch gilt es neben den zahlreichen Vorteilen auf einige Punkte zu achten, die für den Erfolg besonders wichtig sind. Bei der Auswahl eines Dienstleisters ist besonders auf das Projektmanagement des Dienstleisters zu achten. Der Projektmanager bildet die Schnittstelle zwischen Auftraggeber und Entwicklerteam. Er ist für die Kommunikation verantwortlich und somit von höchster Bedeutung für eine saubere und zielführende Zusammenarbeit. Achten Sie darauf, dass die Kommunikation stets transparent und lückenlos stattfindet.

Ein weiterer wichtiger Faktor für den Erfolg der Zusammenarbeit bildet das Vertrauensverhältnis. Nur mit dem nötigen gegenseitigen Vertrauen kann eine Zusammenarbeit auf längere Sicht funktionieren. Sobald mangelndes Vertrauen zwischen den einzelnen Parteien auftritt, kommt es zu einer mangelhaften Kommunikation. Dabei führen fehlende Informationen zu fehlerhaften Entwicklungen oder zu Verzögerungen im Projektablauf.

Letztlich bleibt noch die Erfahrung des Dienstleisters als bedeutender Erfolgsfaktor zu nennen. Je mehr Erfahrung der externe Partner mitbringt, umso wahrscheinlicher ist es, dass ein hohes Maß an Kommunikation, Vertrauen und Professionalität Bestandteil der Partnerschaft ist. Zwar können auch junge Anbieter einen guten Service bieten, doch hat die Vergangenheit gezeigt, dass mangelnde Erfahrung beim Dienstleister häufig zu hohen Kosten beim Auftraggeber führen kann.

Resümee

Für die Umsetzung von Software-Projekten gibt es verschiedene Möglichkeiten. Sowohl die Inhouse-Entwicklung, als auch die Entwicklung mit externen Dienstleistern sind Optionen. Oft wird die Entwicklung mit externen Dienstleistern als kritisch und kompliziert betrachtet, doch das muss nicht unbedingt sein. Häufig dienen externe Dienstleister als hervorragende Möglichkeit, um schnell und effizient Digitalisierungsmaßnahmen umzusetzen, ohne vorab viel Zeit und Geld in den Aufbau eigener Teams und Strukturen zu investieren. Durch die Zusammenarbeit mit Dienstleistern kann stets auf die notwendige Expertise zugegriffen werden und Projekte sind somit nicht den eigenen Fähigkeiten unterworfen.

Mit der richtigen Herangehensweise bietet die Zusammenarbeit mit externen Dienstleistern eine Vielzahl von Vorteilen, erspart dem Auftraggeber viel Zeit und Geld und erhöht die Flexibilität deutlich.

Kontakt

Portrait von Gero Duppel

Gero Duppel

Sie möchten mehr zum Projekt erfahren? Kontaktieren Sie uns!

E-Mail schreiben

Jetzt anrufen

Portrait von Gero Duppel

Gero Duppel