Entwickler Magazin   4.2017 - Full-Stack Swift

Erhältlich ab:  Juni 2017

Autoren / Autorinnen: 
Elena BochkorVeikko Krypczyk ,  
Tom Hombergs ,  
Danny Reinhold ,  
Tam Hanna ,  
,  
Mascha Schnellbacher ,  
Carsten Eilers ,  
Axel KalenbornMichael KläsHartmut Schmitt ,  
Stefanie Schäfers ,  
Krystof Beuermann ,  
Dennis Nobel ,  
Johannes Kanig ,  
Elena BochkorVeikko Krypczyk ,  
Alexander Rudolph ,  
Peter NehrenPeter Leo GorskiHartmut Schmitt

Liebe Leserinnen, liebe Leser,

über die Frage, welche Programmiersprache man denn bitte unbedingt beherrschen muss, lässt sich vortrefflich streiten. Jeder hat natürlich seine eigenen Vorlieben, die meist – aber nicht immer – daran gekoppelt sind, was für das aktuelle Projekt gerade gebraucht wird. Gerne wird aber auch einfach auf die neueste Technologie gesetzt, also die, die schon bei ihrer Veröffentlichung in Version 1.0 als eierlegende Wollmilchsau in den Himmel gelobt wird. Und das ist meist unabhängig davon, ob sie tatsächlich das hält, was sie verspricht. Vor allem im JavaScript-Umfeld ist das etwas, was wir zum Beispiel mit React und Angular beobachten konnten. Während beides zweifellos hervorragende Technologien sind, die mittlerweile längst ihre ersten Kinderkrankheiten überwunden haben, gibt es aber bereits hunderte neuer Sprachen, Frameworks und Tools, die uns das Leben beim Entwickeln einfacher machen sollen, doch deren Erfolgsgeschichte oft nur von kurzer Dauer ist.

Generell sollte man vielleicht diese Überfliegertechnologien auch erst mal aus der Ferne beobachten, bevor man sich ganz dem neuesten Trend verschreibt. Und überhaupt: Wer definiert eigentlich, was aktuell gerade als Programmiersprache „in“ ist? Gut, es gibt natürlich zahllose Indexe und Statistiken, die regelmäßig Trends und die aktuelle Verbreitung von Programmiersprachen und Frameworks unter die Lupe nehmen. Leider sind aber auch TIOBE, PYPL-Index und Co. mit Vorsicht zu genießen. Trotzdem können sie – gerade bei neuen Sprachen – einen ersten Anhaltspunkt bieten, wie die Community auf das neue Wundermittel für Entwicklungsprobleme reagiert.

Nehmen wir als Beispiel etwa mal Apples Programmiersprache Swift. Sie wurde von Apple im Jahr 2014 als Nachfolger für Objective-C präsentiert – und schaffte als Neueinsteiger schon kurz nach ihrer Präsentation den Sprung in die Top 20 des TIOBE-Index. Dort hat sich Swift in den letzten drei Jahren auch stetig gehalten und nur hier und da den ein oder anderen Platzwechsel erleben müssen. Im März 2017 schaffte es Swift sogar erstmals in die Top 10 des TIOBE-Index, was durchaus Rückschlüsse auf die Beliebtheit der Sprache in der Entwicklercommunity erlaubt. Aktuell (Stand Mai 2017) rangiert Swift auf Platz 13; letztes Jahr zur gleichen Zeit lag die Sprache auf Platz 15. Und die Entwicklung von Swift ist noch lange nicht abgeschlossen: Im Herbst 2017 soll mit Version 4 die neue Major-Version erscheinen und weitere Verbesserungen implementieren.

Außerdem will Apple nun die nächste Hürde angehen und mit Swift auch in der Cloud durchstarten. Aktuell erscheinen immer mehr Frameworks und Libraries, mit deren Hilfe Swift das nächste große Ding im Backend werden soll. Nur kann das klappen? Unser aktuelles Titelthema beschäftigt sich genau mit dieser Frage und nimmt die derzeitigen Entwicklungen rund um Swift genauer unter die Lupe.

Eins steht dabei jedoch fest: Swift wird uns auch in den nächsten Jahren begleiten, denn Swift ist schon lange nicht mehr die neue „Supertechnologie“, die kurzzeitig die Community in Staunen versetzte und dann langsam wieder in Vergessenheit geriet. Stattdessen ist Swift ein De-fakto-Standard, der nicht nur aus der iOS- und macOS-Entwicklung nicht mehr wegzudenken ist.

schaefers_stefanie_sw.tif_fmt1.jpgStefanie Schäfers, Redakteurin

Entwickler Magazin Website Entwickler Magazin Entwickler Magazin

Das Internet of Things (IoT) hat das Potenzial, Prozesse zu optimieren, Produkte intelligenter zu machen und sogar völlig neue Geschäftsmodelle zu entwickeln. Die Konzeption und Entwicklung von IoT-Lösungen stellt jedoch in vielerlei Hinsicht eine Herausforderung dar. Prototyping kann dabei Abhilfe schaffen.

Insbesondere hohe Investitionskosten und fehlendes Know-how sowie die Unsicherheit, ob die einzuführende Lösung den erwünschten Erfolg verspricht, schafft Barrieren, auf die viele Unternehmen beim Thema IoT treffen. Die schnelle Umsetzung von IoT-Lösungen mithilfe eines iterativen und agilen Prozesses hilft dabei, genau diese Risiken zu minimieren. Prototyping ist ein wichtiges Werkzeug in diesem Prozess. Schnell umsetzbare Prototypen minimieren Risiken, helfen bei der Verständnisbildung und ermöglichen ein frühes Feedback aus der Praxis.

Innovation schaffen

Bevor Prototypen entstehen können, braucht es zuallererst eine Idee oder Vision. Viele Unternehmen wissen nicht, wie sie IoT für sich nutzen können oder haben nur eine vage Vorstellung von einer Lösungsidee. Darüber hinaus ist jede IoT-Lösung individuell, was es für viele Unternehmen schwer macht, eine konkrete Anwendung zu identifizieren. Im Umfeld von IoT soll die Idee häufig besonders innovativ sein. Echte Innovation entsteht jedoch selten spontan und im Vakuum. Kreative Ideenfindung ist ein langwieriger, schwieriger und aufwändiger Prozess. Die Innovationsforschung hat gezeigt, dass sich Innovationen am besten in Gruppen und Workshops erarbeiten lassen. Sowohl die Gruppenzusammenstellung als auch die Rahmenbedingungen sollten dabei kreativitätsfördernd sein.

Entscheidend ist, dass die Idee ein reales Problem oder Bedürfnis des Nutzers oder Kunden löst. Es gibt Methoden wie das Design Thinking, die beim Prozess der Innovationsfindung unterstützen. Beim Design Thinking steht zunächst eine ausgiebige Auseinandersetzung mit den existierenden Prozessen und Kunden sowie deren Bedürfnissen und Problemen im Vordergrund. Daraus lassen sich Fragestellungen ableiten, für die nach konkreten Lösungen gesucht wird. Mit verschiedenen Kreativitätstechniken können so Ideen generiert und anschließend bewertet werden. Die beste Idee wird als Prototyp umgesetzt und direkt erprobt. Dieser Prozessschritt kann beliebig häufig wiederholt werden, um neue Prototypen zu erstellen oder die existierenden weiter zu verfeinern.

Prototyping

Prototyping bezeichnet einen Prozess, in dem eine komplexe Lösung oder ein Produkt zunächst möglichst aufwandsarm in Form eines Prototyps umgesetzt wird. Der Prototyp ist eine Annäherung an die spätere Lösung, mit dem sich bereits wichtige Erkenntnisse gewinnen lassen. Es existieren verschiedene Formen von Prototypen, die von sogenannten Papierprototypen bis hin zu voll funktionsfähigen Produktprototypen reichen.

Selbst ein Papierprototyp, mit dem sich beispielsweise eine Smartphone-App simulieren lässt, erlaubt schon wichtige Rückschlüsse – beispielsweise auf die Bedienbarkeit der späteren App. Noch besser sind Funktionsprototypen, die im Kontext von IoT alle Komponenten – von der Hardware über die Cloud bis zur App – berücksichtigen können. Durch die zunehmende Verbreitung von IoT existieren eine Vielzahl an Hardware- und Software-Prototyping-Werkzeugen, mit denen sich IoT-Szenarien innerhalb weniger Wochen bis hin zu wenigen Stunden umsetzen lassen. Diese extrem schnelle Herangehensweise wird als Rapid Prototyping bezeichnet. All diese Formen von Prototypen haben gemeinsam, dass sie zwar eine Vorstellung für das spätere Produkt vermitteln, jedoch nicht produktiv eingesetzt werden können. Es sind Einwegprodukte, die zumeist verworfen werden, sobald mit der richtigen Lösung gestartet wird.

MVP-Prototypen

Im Gegensatz dazu erlaubt der Minimal-Viable-Product-(MVP-)Prototyp sogar einen produktiven Einsatz. Ein solcher Prototyp erfüllt alle Qualitätskriterien wie Robustheit und Performance und ist lediglich in seiner Funktion auf ein absolutes Minimum beschränkt. Obwohl sich mit einem minimalen, aber sinnvollen Featureset in der Regel schon ein echter Mehrwert für den Nutzer erzielen lässt, sind Lastenhefte meist übersät mit Anforderungs- und Featurelisten, wenngleich viele Features häufig ohnehin nicht genutzt werden. Die Kunst besteht darin, die wirklich relevanten Features zu identifizieren und den Rest erst in den nächsten Produktiterationen nachzuschieben. Der Übergang zwischen Funktionsprototyp und MVP-Prototyp ist dabei fließend, und selbstverständlich kann auch ein Funktionsprototyp zu einem MVP-Prototyp ausgebaut werden.

IoT-Prototypen

Die Besonderheit von IoT-Prototypen ist die Kombination aus Hardware und Software, die eine komplette IoT-Lösung ausmachen. Die IoT-Hardware (Things) misst Werte und verarbeitet Befehle, um Aktionen auszulösen. Die Verarbeitung dieser Werte und Steuerungs- sowie Businesslogik findet wiederum im Internet statt. Dazu müssen die Geräte zunächst über eine Netzwerktechnologie und ein Kommunikationsprotokoll mit dem Internet verbunden werden. Darüber hinaus wird eine zentrale Stelle – die IoT-Cloud – benötigt, mit der sich die Geräte verbinden und in der die Businesslogik der IoT-Anwendung abläuft. Hierzu gehört neben der Interpretation und Nutzung von Daten sowie deren Visualisierung häufig auch die Integration von Drittsystemen. Ein funktionaler IoT-Prototyp sollte alle Kernaspekte einer Anwendung abdecken. Obwohl das zunächst sehr aufwändig klingt, gibt es sowohl im Hardware- als auch im Softwarebereich eine Reihe von Werkzeugen, die das Prototyping stark vereinfachen.

Hardware-Prototyping

Bis vor wenigen Jahren war Hardware-Prototyping lediglich echten Bastlern vorbehalten, die keinen Lötkolben oder Assembler-Code scheuen. Spätestens seit dem Erscheinen des Raspberry Pi im Jahr 2012 sind die Hürde und das notwendige Know-how deutlich geringer. Kleinstcomputer wie der Raspberry Pi oder der Arduino haben damit die Do-it-yourself- und Maker-Szene befeuert und erlauben es jedem ambitionierten Maker, eigene Hardwarelösungen für ganz individuelle Herausforderungen aufzubauen.

Grundlage des Internet of Things sind vor allem Sensoren und Aktoren, die eine Verbindung zum Internet aufbauen und dort mit einer IoT-Cloud kommunizieren. Innerhalb weniger Stunden lassen sich entsprechende Elektronikbauteile beispielsweise mit einem Raspberry Pi verbinden und es lässt sich ein Stück Code schreiben, das die Werte ausliest und ins Internet schickt. Noch schneller und einfacher geht es jedoch mit fertigen IoT-Development-Kits. Im Folgenden werden einige der Development-Kits und Module vorgestellt, die sich besonders gut für das Prototyping von IoT-Lösungen eignen.

Smartphone als IoT-Sensor

Unsere Smartphones sind mit derart vielen Sensoren ausgestattet, dass man sie gut als IoT-Sensor verwenden kann. So ziemlich jedes Smartphone besitzt einen Beschleunigungssensor und einen GPS-Sensor. Je nach Modell kommen noch ein Kompass, ein Gyrometer, ein Helligkeitssensor, ein Näherungssensor oder ein Temperatursensor hinzu. Android-Smartphones erlauben einen einfachen Zugriff auf alle Sensoren per App. Die kostenlose App Sensors Multitool [1] stellt beispielsweise alle Sensordaten in Echtzeit und mit Diagrammen dar. Mit entsprechenden Kenntnissen lässt sich auch eine eigene App mit spezifischen Sensordaten entwickeln, die an einen Onlineservice gesendet werden können. Insbesondere mit dem Bewegungs- und GPS-Sensor lassen sich bereits viele IoT-Szenarien wie beispielsweise eine Diebstahlsicherung prototypisch umsetzen. In einer selbst entwickelten App können zudem virtuelle Buttons platziert werden, die Aktionen auslösen sollen.

TI SensorTag: Der Chiphersteller Texas Instruments hat mit dem TI SensorTag ein mächtiges und mit 29 Dollar günstiges IoT-Gerät geschaffen. Der SensorTag verfügt neben einem Temperatur- und Beschleunigungssensor über einen Infrarotsensor, einen Magnetsensor, zwei Knöpfe sowie fünf weitere Sensoren. Verbunden wird der SensorTag wahlweise je nach Modell über 6LoWPAN, ZigBee oder Bluetooth. Auf GitHub finden sich unzählige Projekte, die den SensorTag über das Bluetooth-API mit den verschiedensten IoT-Protokollen und -Plattformen verbinden. Auch aufgrund seiner sehr geringen Größe ist der SensorTag ein optimales Prototyping-Werkzeug, mit dem sich die verschiedensten IoT-Szenarien schnell umsetzen lassen.

WunderBar: Mit der WunderBar hat das Berliner Unternehmen relayr ein IoT-Hardwarekit in Form einer Schokoladentafel geschaffen. Das Gerät stellt Daten von sechs Sensoren bereit, wobei jeder Sensor ein eigenständiges kleines Modul ist, das kabellos mit dem Hauptmodul kommuniziert. Dieses ist wiederum für die Verbindung zum Internet verantwortlich. Der Vorteil der WunderBar gegenüber dem SensorTag liegt darin, dass sich die einzelnen Sensoren individuell positionieren lassen und so gezielt in bestehende Szenarien integriert werden können. Dafür schlägt das Gerät auch mit einem deutlich höheren Preis zu Buche und kommuniziert standardmäßig nur mit der relayr-IoT-Cloud. Seit Anfang 2017 wird die WunderBar in ihrer ursprünglichen Form nicht länger vertrieben; Firm­ware und SDKs finden sich aber noch auf GitHub.

littleBits: Im Gegensatz zu den vorher genannten Sensorkits ist littleBits ein vollwertiges Hardware-Prototyping-Kit mit Sensorik und Aktorik. Die Bausteine des amerikanischen Herstellers sollen einen spielerischen Umgang mit Elektronik ermöglichen. Deshalb lassen sich die einzelnen Module ganz ohne Kabel magnetisch zusammenstecken und komplexe Prototypen auf diese Weise selbst von Kindern aufbauen. Die Liste der Module ist lang und umfasst neben den üblichen Sensoren wie Bewegungsmelder, Geräuschsensor, Drucksensor und Knöpfe eine Reihe wirklich interessanter Aktoren wie einen MP3-Player, eine Zahlensegmentanzeige, einen Lautsprecher und einen Servomotor. Zur Kommunikation steht neben einem Bluetooth-Modul ein sogenanntes cloudBit zur Verfügung, das sich über eine WiFi-Verbindung mit dem Onlinedienst IFTTT [2] verbindet. Darüber lassen sich die einzelnen Bits mit anderen Internetdiensten wie Twitter und Co. verbinden.

Die zusammengestellten Modulkits bieten die richtigen Bausteine für bestimmte Anwendungsszenarien wie Smart Home oder Sound. Das cloudBit-Kit beinhaltet beispielsweise sechs Bits (cloudBit, Button, LED, Servo, Sound Trigger, USB-Power) und ist beim Hersteller für 99 Dollar zu haben. Der Preis eines einzelnen Bits liegt zwischen acht und 40 Dollar. Mit der Fülle an Sensoren und Aktoren lassen sich komplexe Prototypen binnen weniger Minuten wirklich einfach zusammenstecken. Die Integration der Hardware mit IFTTT oder einem Arduino-Board macht littleBits zudem extrem flexibel und damit zu einem der ausgereiftesten Hardware-Prototyping-Kits auf dem Markt.

Software-Prototyping

Mit den Hardware-Prototyping-Werkzeugen lassen sich bereits beeindruckende Lösungen umsetzen. Um vollwertige IoT-Prototypen aufzubauen, fehlen allerdings noch die Businesslogik sowie die Interaktion mit anderen Geräten, Systemen und Nutzern. Dazu wird eine zentrale Cloud-Komponente benötigt, die eine besonders schnelle Integration von verschiedenen Geräten erlaubt und idealerweise bereits über Visualisierungen der Daten und ein Regelmanagement verfügt. Auf das Software-Prototyping von Smartphone-Apps und Webanwendungen wird an dieser Stelle bewusst nicht weiter eingegangen, da die Herausforderung der Gerätekommunikation im Fokus steht.

IFTTT: Der Onlinedienst If This Then That (IFTTT) erlaubt das Erstellen von Regeln, die dem Prinzip „Wenn X passiert, dann reagiere mit Y“ folgen. Die Trigger (X) und Aktionen (Y) können dabei beliebige Onlinedienste und Geräte sein, die allgemein als Services bezeichnet werden. IFTTT beherbergt bereits eine große Anzahl an Services, die von Twitter über E-Mail und SMS-Benachrichtigung bis hin zu Geräteintegrationen wie Philipps Hue reichen. Beliebte Kombinationen von Channels können mit anderen Nutzern in Form von Rezepten geteilt werden. Neben den bereits fertig integrierten Geräten, zu denen auch die vorher beschriebenen littleBits gehören, können über den Maker-Channel auch andere Geräte ohne eigene Programmierung angebunden werden. Der Maker-Channel kann als Trigger HTTP-Requests empfangen und als Aktion HTTP-Requests absetzen. IFTTT ist kostenlos und erfordert lediglich eine Benutzerregistrierung.

Insbesondere wenn Hardware eingesetzt wird, die bereits in IFTTT integriert ist, bietet sich diese Plattform für Rapid Prototyping an. Die Regelerstellung ist intuitiv und kann auch von nicht technisch versierten Usern – beispielsweise in Workshops – verwendet werden, um zwei Geräte über eine Regel miteinander zu verbinden oder eine E-Mail zu versenden, falls ein bestimmtes Ereignis eintritt. Daher ist es ein optimales Tool für das Rapid Prototyping von ersten Funktionsprototypen. Mit dem Maker-Channel besitzt IFTTT zwar ein Minimum an Flexibilität, sobald jedoch komplexere Prototypen umgesetzt werden sollen, stößt IFTTT mit seiner Einfachheit schnell an seine Grenzen.

Node-RED: Im Gegensatz zu IFTTT ist Node-RED kein Onlinedienst, sondern ein Open-Source-Tool, das sich lokal oder auf einem eigenen Server betreiben lässt. Node-RED ist von IBM entwickelt, greift im Kern die Idee einer klassischen Enterprise-Middle­ware-Anwendung auf und überträgt sie auf das Internet der Dinge. Mit Node-RED lassen sich verschiedene Geräte und Services über einen grafischen Editor miteinander verbinden. Dazu modelliert der Nutzer einen Dataflow, bei dem Daten über verschiedene Kanäle wie beispielsweise MQTT empfangen und im weiteren Verlauf konvertiert, adaptiert und weiter versendet werden können. Auch wenn der grafische Editor durchaus intuitiv ist, erfordert die Modellierung von Dataflows deutlich mehr technisches Know-how als IFTTT. Dafür sind jedoch auch deutlich komplexere Use Cases umsetzbar. Node-RED selbst ist in JavaScript implementiert und läuft auf einem Node. js-­Server. Als Nutzer lassen sich eigene JavaScript-Bausteine in die Module des Dataflows einfügen, um Businesslogik oder Konvertierungen auszuführen.

Node-RED unterstützt von Haus aus bereits eine große Menge an sinnvollen Protokollen und Logikblöcken wie WebSocket, HTTP, MQTT, E-Mail und Twitter. Aufgrund der immer größer werdenden Community kommen darüber hinaus kontinuierlich weitere Module hinzu. Mit seiner hohen Flexibilität eignet sich Node-RED optimal als funktionales Prototyping-Werkzeug und kann eingesetzt werden, wenn beispielsweise ein individuelles Gerät mit einem eigenen Protokoll verwendet wird oder zwei sonst miteinander inkompatible Geräte schnell miteinander verbunden werden sollen. Inwieweit sich Node-RED eignet, um darauf MVP-Prototypen aufzubauen, die weiter skaliert werden sollen, ist jedoch fraglich.

Freeboard und dweet.io: Wenn es in einem Prototyping Use Case darum geht, möglichst schnell Daten in einem Dashboard zu visualisieren, dann eignet sich Freeboard [3] in Kombination mit dweet.io [4]. Beides sind Onlineservices, die sich kostenlos nutzen lassen – dweet.io sogar ohne Registrierung. dweet.io ist eine extrem einfache Datenablage für IoT-Geräte. Über eine REST-Schnittstelle können Daten als JSON-Struktur an eine beliebige Geräte-ID gesendet werden. Die Geräte können über einen definierbaren Schlüssel zudem geblockt werden, sodass man exklusiv auf Geräten arbeiten kann. Die Werte lassen sich anschließend per HTTP auch wieder abrufen. Freeboard hingegen ist eine IoT-Dashboardanwendung, die das Erstellen eines Dashboards mit Werten und Charts ermöglicht. Da Freeboard eine dweet.io-Integration hat, können die Werte aus dweet.io mit wenigen Klicks visualisiert werden. In Kombination sind die beiden Services sehr mächtig und eignen sich optimal, wenn es um schnelle Datenvisualisierung geht – insbesondere, weil ein Dashboard binnen weniger Minuten erstellt werden kann. Inwieweit allerdings ein Kunde bereit ist, seine Daten öffentlich in eine amerikanische Cloud zu legen, gilt es unbedingt im Vorfeld abzuklären.

Enterprise-IoT-Plattformen

Im Gegensatz zu den im Vorfeld genannten Plattformen, die eher für Privatanwender und allererste Prototyping Use Cases geeignet sind, gibt es eine Reihe von Enterprise-IoT-Plattformen, mit denen sich ebenfalls sehr schnell Lösungen umsetzen lassen. Der Vorteil dieser Plattformen liegt darin, dass sich die initial aufgebauten Prototypen zu vollwertigen Lösungen ausbauen lassen. Je nach Businessmodell der Unternehmen gibt es häufig Gratisaccounts für eine bestimmte Anzahl an Clients. Alternativ bieten viele Anbieter eine Testphase, nach der dann die regulären Gebühren anfallen, die sich nach Clients oder Nutzung richten. Die Liste der Enterprise-IoT-Plattformen wächst stetig. Zu den bekannteren Plattformen zählen AWS IoT, Azure IoT Suite, Cumulocity, relayr und Predix. Im Kern bieten alle Plattformen ein Device- und Connection-Management. Weitere Features wie konfigurierbare Oberflächen und Regelmanagement gehören ebenfalls zu den meisten Plattformen. In welcher Zeit sich mit den genannten Lösungen schnelle Prototypen aufbauen lassen, ist recht unterschiedlich und auch häufig ein schmaler Grat zwischen Einfachheit, Sicherheit und Ergebnisqualität.

Die com2m-IoT-Cloud bietet beispielsweise für Entwickler einen kostenlosen und unbefristeten Testzugang und legt insbesondere viel Wert auf die schnelle und einfache Anbindung von Geräten. Trotzdem lässt sich ein schnell erstellter Prototyp in späteren Produktiterationen sehr gut skalieren und zur eigenen Enterprise-Anwendung ausbauen. Ob beim Prototyping direkt auf eine IoT-Plattform zurückgegriffen wird, hängt vom Umfang und Ziel des Prototyps sowie der zur Verfügung stehenden Zeit ab. Während sich IFTTT, Node-RED und Freeboard für extrem schnelle Funktionsprototypen eignen, die innerhalb weniger Stunden umgesetzt werden sollen, können Enterprise-IoT-Plattformen dann eingesetzt werden, wenn Feldtests vor allem auch mit den späteren Nutzern der Anwendung geplant sind. Diese Prototypen erlauben dann nicht nur eine frühe Validierung von Ideen außerhalb einer Laborumgebung, sondern auch einen iterativen Ausbau und eine kurze Time-to-Market. Die Entwicklungszeit beträgt dann einige Tage oder wenige Wochen.

Aus der Praxis: IoT-Evolution einer Kaffeemaschine

Nachdem nun einige Prototyping-Werkzeuge bekannt sind, wird im Folgenden demonstriert, wie sich die Werkzeuge kombinieren lassen, um eine vollwertige IoT-Lösung zu realisieren. Als Beispiel dient das reale Szenario der com2m-Büro-Filterkaffeemaschine. Um bei der com2m auch intern Innovation zu fördern, wird regelmäßig in Miniworkshops diskutiert, wie das Head-Office mithilfe von IoT-Technologie noch smarter gestaltet werden kann. Beim Identifizieren von Problemen ist uns aufgefallen, dass wir häufig nicht wissen, ob ein Kollege bereits einen Kaffee aufgesetzt hat oder nicht. In dem Miniworkshop haben wir über mögliche Lösungen diskutiert und erste Szenarioprototypen entwickelt. Nachdem wir die Idee als sinnvoll und umsetzbar eingestuft haben, sind wir mit dem Rapid-Funktions-Prototyping gestartet.

Als MVP sollte der Prototyp uns eine Benachrichtigung senden, wenn der Kaffee durchgelaufen ist. Die Grundidee für die technische Umsetzung besteht darin, den Stromverbrauch der Maschine zu messen und daran abzuleiten, ob die Maschine gerade Kaffee kocht. Dafür haben wir als Hardware einen Belkin Wemo Insight Switch ausgewählt, der über das WiFi-Netzwerk einfach angebunden werden kann. Der Wemo Switch besitzt eine IFTTT-Integration. IFTTT lässt sich wiederum ohne Probleme mit dem Unternehmensmessenger Slack verbinden. Damit lässt sich der MVP-Prototyp durch die Nutzung vorhandener Dienste – und ganz ohne eine Zeile Quellcode programmieren zu müssen – vollständig und binnen kürzester Zeit umsetzen. Tatsächlich war dieser Prototyp sogar eine ganze Zeit im Einsatz, da er schon einen großen Mehrwert dargestellt hat. Wir haben damit Feedback und Erfahrungen gesammelt, die wir in die nächste Phase eingebracht haben.

In der nächsten Ausbaustufe haben wir IFTTT durch die IoT-Cloud der com2m ersetzt. Auf Basis der Plattform können die gemessenen Werte langfristig gespeichert und ausgewertet werden. Darüber hinaus ist noch ein eigenes Kaffeedashboard hinzugekommen, in dem Statistiken zum Kaffeekonsum sowie der aktuelle Status der Kaffeemaschine visualisiert werden. Für die Benachrichtigung wird neben Slack nun auch Twitter verwendet, wobei beide Dienste über einen Node-RED-Server angebunden sind. Diese Iteration ließ sich mithilfe der Plattformstandardfunktionen mit einer individuellen Datenvisualisierung innerhalb weniger Tage umsetzen und könnte in einem realen Kundenprojekt in dieser Form schon für einen ersten Friendly-User-Test genutzt werden. Anschließend könnte die Lösung vollständig ausgebaut, ausgerollt und skaliert werden. Der aktuelle Kaffeekonsum der com2m lässt sich auch jederzeit online einsehen [5].

Auch wenn hier lediglich ein internes Szenario als Beispiel skizziert wurde, lässt sich dieser Prozess ebenso auf reale Kundenprojekte übertragen. Dabei spielt es keine Rolle, ob Consumer-Produkte oder Industriemaschinen im Fokus des Projekts stehen. Mithilfe der Prototyping-Werkzeuge und etwas Phantasie lassen sich Lösungen für alle erdenklichen Use Cases in kurzer Zeit umsetzen. In mehreren Kundenprojekten wurden mit genau diesem Prozess bereits Lösungen für das Management von Leuchten, Industriekompressoren oder Ladesäulen für Elektrofahrzeuge entwickelt. In allen Projekten wurde dabei zunächst die technische Machbarkeit gezeigt, im Anschluss mit dem Kunden ein MVP-Prototyp definiert und gemeinsam getestet, bevor die Lösung mithilfe der Erfahrungen aus dem Prototyping skaliert und live genommen wurde.

Die Angst vor dem Starten

Viele Kunden wollen mit IoT-Projekten starten. Trotzdem kommt es immer wieder zu Situationen, in denen der Kunde den Beginn der eigentlichen Umsetzung herauszögert. Die Gründe hierfür sind extrem vielfältig, rühren allerdings oft im Kern aus der Angst davor, die falsche Entscheidung zu treffen. Anstatt mit der Umsetzung zu beginnen, wird stattdessen eine lange Analysephase durchgeführt, in der Unmengen an PowerPoint-Folien und Konzeptpapieren produziert werden. Als Ergebnis erhält man zwar ein etwas besseres Bild der Lösung, aber es fehlt an realer Erfahrung. Hätte man direkt mit der Umsetzung gestartet, wären möglicherweise Fehler passiert, aber man hätte diese früh bemerkt und sie korrigieren können. In einigen Unternehmen führt diese Angst sogar zu kuriosen Situationen, in denen am Ende die Analysephase länger dauert und teurer ist als die Umsetzung selbst. Daher ist es aus Sicht des Autors die schlechteste Entscheidung, keine Entscheidung zu treffen. Ausgehend von einer Idee und Zielvorstellung mit einem groben Konzept einfach zu starten, kostet zwar Überwindung, aber mit dem richtigen Team oder Partner wird es am Ende immer die erfolgversprechendste Option sein.

Fazit

Die Herausforderungen, vor denen Unternehmen mit IoT-Ambitionen stehen, sind groß. Gerade deshalb ist es so wichtig, IoT-Projekte in dem skizzierten agilen Prozess umzusetzen und so früh wie möglich an den Markt zu gehen. Wie groß der Nutzen von Prototypen dabei ist, lässt sich schwer beschreiben, sondern muss real erlebt werden. Selbst Papierprototypen oder mit LEGO aufgebaute Storyprototypen helfen, Anwendungen besser zu verstehen und Konzepte zu entwickeln. Aufwandsarme Funktionsprototypen können Türöffner für größere Projekte sein. Darüber hinaus schaffen sie Vertrauen und demonstrieren früh die technische Machbarkeit. Auch im weiteren Verlauf des Projekts eignet sich prototypisches Vorgehen auf die gleiche Art, um neue Features frühzeitig zu evaluieren. Der Prozess minimiert damit die genannten Risiken, solange man früh und häufig die Lösung in Betrieb nimmt und evaluiert. Die Hardware- und Softwarewerkzeuge zur Realisierung von IoT-Prototypen sind vorhanden und müssen lediglich genutzt werden. Für die ersten Schritte sind weder Programmier- noch Elektronikkenntnisse notwendig. Selbst der prototypische Aufbau individueller IoT-Lösungen, die bereits mit Kunden erprobt werden können, ist innerhalb weniger Wochen möglich. In das Internet der Dinge zu starten ist einfacher denn je.

nobel_dennis_sw.tif_fmt1.jpgDennis Nobel arbeitet als IoT-Architekt und -Berater bei der com2m GmbH. In Kundenprojekten realisiert er auf Basis der com2m-IoT-Cloud individuelle Lösungen für das Internet der Dinge.

Das Investitionsvolumen von Unternehmen aller Branchen in IT-Technik ist hoch und wird noch weiter steigen. Die dafür notwendigen Ressourcen werden oft durch externe Dienstleister bereitgestellt, da man nicht alle Leistungen selbst erbringen kann. Starken Aufwind erfährt das Thema durch ein zunehmendes Outsourcing in die Cloud.

Die Bedeutung der IT steigt in fast allen Unternehmen und Unternehmensbereichen. In vielen Fällen wird sie zu einem entscheidenden Erfolgsfaktor. Damit sie den stetig wachsenden Aufgaben und Herausforderungen gerecht wird, muss sie über die notwendigen Ressourcen verfügen. Im unternehmerischen Umfeld handelt es sich um Investitionen. Weitet man diesen Begriff zum Beispiel auch auf den Bereich Personal aus, so spricht man von Beschaffung. Ein wichtiges Merkmal der unternehmerischen Beschaffung ist ihre Kontrolle durch das Management, weshalb sie auch die Bezeichnung IT-Beschaffungsmanagement trägt. In unserem abschließenden Teil der Artikelserie zu den Fragen des IT-Managements beschäftigen wir uns genau mit diesem Teilaspekt. Dabei ist es als IT-Dienstleister sehr hilfreich, die Sichtweise und grundsätzliche Vorgehensweise unserer Kunden zu verstehen, um mit passgenauen Angeboten zu punkten.

Beginnen wir zunächst damit, das IT-Beschaffungsmanagement etwas genauer zu definieren. Das IT-Beschaffungsmanagement – oft lediglich als Sourcing bezeichnet – ist ein komplizierter und umfangreicher Prozess mit einem breiten Aufgabenspektrum. Ganz allgemein erklärt, beschäftigt sich das Beschaffungsmanagement mit den Entscheidungen über die Versorgung mit Gütern und Leistungen, die über den Einzelfall hinausgehen. Was fällt alles darunter? Außer der Bedarfsermittlung, der Bereitstellung von Finanzmitteln und der Auswahl von Hardware und Software zählen auch die Beschaffung von Arbeitskräften, Informationen, Nutzungsrechten und externen Dienstleistungen dazu. Zum Bereich der externen Dienstleistungen gehören beispielsweise die IT-Beratung und Versicherungen. Entscheidende Fragen, die zu beantworten sind, lauten: Was soll und will der eigene IT-Bereich selbst „machen“? Welche Produkte und Dienstleistungen werden von anderen Inhousebereichen zur Verfügung gestellt? Für welche Leistungen soll man externe Dienstleister beauftragen? Aus der Beantwortung dieser Fragen kann man als Erstes die Beschaffungsstrategie ableiten. Gleich gehen wir auf die einzelnen Schritte zur Umsetzung der Strategie ein. Zuvor untersuchen wir jedoch die Frage, wie sich die unternehmerische bzw. organisationale Beschaffung von privaten Kaufentscheidungsprozessen unterscheidet.

Merkmale organisationaler Beschaffungsvorgänge

Unterscheidet sich der private Kaufprozess von den Beschaffungsvorgängen im Unternehmen? Die Antwort auf diese Frage lautet eindeutig: Ja. Vielleicht wenden Sie an dieser Stelle ein, dass Sie für den Kauf des letzten Autos oder für die Auswahl des Sommerurlaubs einen enormen Aufwand betrieben haben. Sie haben erforscht, was Sie möchten, haben Preise verglichen und Bewertungen gelesen. Letztendlich haben Sie sich für ein Produkt entschieden, von dem Sie glauben, dass es alle Ihre Anforderungen bestmöglich erfüllt. Trotzdem gilt: Die meisten Kaufentscheidungen im privaten Umfeld werden ad hoc und intuitiv getroffen. Viele Käufe sind so genannte Impulskäufe. Es geht auch nicht anders, sonst hätten wir am Abend nichts zu essen auf dem Tisch, wenn wir jede kleine Entscheidung erst stundenlang abwägen würden. Kauf- und Investitionsentscheidungen im unternehmerischen Bereich laufen anders ab. Sie bezeichnet man als organisationale Kaufentscheidungsprozesse und sie weisen die folgenden Merkmale auf [1]:

  • derivative Nachfrage

  • mehrere Personen

  • hoher Grad an Formalisierung

  • teilweise hoher Individualisierungsgrad

  • große Bedeutung von Dienstleistungen

  • mehrere Organisationen

  • langfristige Geschäftsbeziehungen

  • persönliche Interaktion ist maßgebend

Erläutern wir diese Merkmale, um sie besser nachvollziehen zu können: Die Anschaffung von Hard- und Software bzw. die Beauftragung eines Dienstleisters erfolgt aus unternehmerischer Sicht stets aus dem Grund, eine Leistung für die eigenen Kunden erbringen zu können. Preisintensive Lizenzen für Entwicklungsumgebungen wird man nur dann anschaffen, wenn man diese für die kommenden Aufträge auch benötigt. Das Ausmaß der Beschaffungen und Investitionen wird also über die Nachfrage der Kunden bestimmt. Man spricht daher von derivativer bzw. abgeleiteter Nachfrage.

Ab einer bestimmten Größenordnung werden Beschaffungsprozesse in der Regel nicht durch eine Person alleine getroffen. Daran beteiligt sind zum Beispiel die Geschäftsleitung (grundsätzliche Vorgaben und Budget), die entsprechende Fachabteilung (Festlegung der Anforderungen) und der Einkauf (Abwicklung des Kaufprozesses). Für den Vertrieb bedeutet das, dass man sich mit allen wichtigen Beteiligten auf Seiten des Kunden beschäftigen muss. Im Gegensatz zum Kaufverhalten für Endkunden hat man es im organisationalen Umfeld oft mit so genannten Buying-Centern zu tun.

Vom Bedarf bis zur endgültigen Beschaffung ist es oft ein weiter Weg. Die Kaufentscheidungen sind meist stark formal und laufen nach strengen Regeln ab. Beispiele sind: Einholung von Angeboten, Verhandlung, Genehmigung, Auftragserteilung und Controlling des gesamten Kaufentscheidungsprozesses. Soft- und Hardware werden in vielen Fällen an die besonderen Herausforderungen angepasst. Produkte von der Stange müssen oftmals individualisiert werden. Bei Software passiert das beispielsweise durch Konfiguration oder durch Programmierung von speziellen Schnittstellen.

„Respekt, wer es selber macht“, tönt eine bekannte Baumarktgruppe in ihrem Werbespot und richtet sich damit eindeutig an die Endverbraucher. Die IT in Unternehmen wird durch professionelle Dienstleister betreut. Das führt dazu, dass auch Standardaufgaben als Dienstleistungen ausgelagert werden. An den Kaufentscheidungsprozessen sind oftmals mehrere Unternehmen und Organisationen beteiligt. Oft sind die Aufträge derartig komplex, dass sie nicht von einem Auftraggeber alleine übernommen werden. Ein Beispiel: Die IT eines Arztzentrums soll erneuert werden. Dieses Projekt umfasst die Beschaffung von Hard- und Software und die Einbindung in bestehende Prozesse. Hard- und Software werden von unterschiedlichen Lieferanten bereitgestellt. Die individuelle Konfiguration und Anpassung in die betriebliche IT wird dagegen von einem externen IT-Entwicklungsunternehmen vollzogen. Die gesamte Koordination liegt bei der hauseigenen IT-Abteilung.

Sie lieben die Abwechslung beim wöchentlichen Einkauf? Ist ja auch klar, denn die Käse- und Joghurt­sorten des Discounters in der Nähe kennen Sie schon auswendig. Daher erledigen Sie diese Woche den Einkauf in einem anderen Supermarkt. Es dauert zwar länger, einen Überblick über die Preise haben Sie auch nicht, aber das macht auch nichts – Hauptsache, es macht Spaß! Anders sieht das im betrieblichen Umfeld aus: Hier besteht ein großes Interesse an langfristigen Geschäftsbeziehungen. Sie erleichtern die Bestellprozesse und die Abwicklung des Zahlungsverkehrs. Formale Hürden können damit verringert werden. Jeder Einkäufer in einem Unternehmen ist froh, wenn er bei einem bekannten Lieferanten bestellen kann. Gerade für immer wiederkehrende Produkte führt das zu erheblichen Vereinfachungen.

Der Vertrieb von Hard-und Software im Endkundenbereich ist meist vollständig anonym. Käufer und Verkäufer kennen sich nicht und schließen mit dem Kauf einen Vertrag. Ob es sich dabei um einen erstmaligen Kauf oder um eine Wiederholung handelt, spielt keine Rolle. Betriebliche Beschaffung basiert in großen Teilen auf persönlichen Kontakten. Die verkaufenden Unternehmen betreuen die Kunden persönlich und beraten zum Produkt und Produktumfeld. Dazu müssen sie sich umfassend mit den Gegebenheiten ihrer Kunden beschäftigen (Key-Account-Management).

Nach dieser grundsätzlichen Charakterisierung der unternehmerischen Bestellprozesse gegenüber den Kaufentscheidungen im privaten Umfeld sehen wir uns jetzt den Beschaffungszyklus genauer an.

Beschaffungszyklus im Überblick

Vorerst versuchen wir zu klären, was die Objekte der Beschaffung in der IT sind. Versuchen wir es mit einer Definition: Die betriebliche IT-Beschaffung umfasst alle Produkte, Dienstleistungen und Rechte, die ihrerseits Prozesse der betrieblichen Wertschöpfung durch Infrastruktur und Services unterstützen [2]. Was versteht man alles darunter? Neben den physischen Gütern betrifft es auch Dienstleistungen, Informationen und Rechte. Mit dem Wissen über die Objekte der Beschaffung können wir zum Beschaffungszyklus übergehen. Der Beschaffungszyklus umfasst die Schritte, die bei einem Erwerb von Waren durchlaufen werden (Abb. 1).

krypczyk_bochkor_itmanagement_1.tif_fmt1.jpgAbb. 1: Beschaffungszyklus im Überblick [3]

Los geht es mit der Festlegung der Strategie! Diese ist entscheidend, denn davon hängt der gesamte nachfolgende Prozess der Beschaffung ab. Es macht Sinn, am Anfang eine klare Strategie zu definieren. Dafür sollte man sich mit folgenden Fragen auseinandersetzen: Was soll mit der Beschaffung der Ressource erreicht werden? Um welche Art von Ressourcen handelt es sich? Welche Risiken liegen in der Beschaffung und Nichtbeschaffung der Ressource?

Sobald die Strategie der Beschaffung feststeht, kann man zur Auswahl der am besten geeigneten Vertragspartner übergehen. Ausschlaggebend sind hier die Überlegungen zu Kosten und Nutzen. Diese Phase ist durch folgende Teilschritte gekennzeichnet [3]:

  • Definition der Anforderungen an die Beschaffung.

  • Zusammenfassung der Inhalte in einem Pflichtenheft, um für alle Beteiligten die Entscheidungsgrundlagen klar zu definieren.

  • Klärung des Nutzens, des Werts und der Kosten der Ressource.

  • Festlegung des Auswahlverfahrens zur Zuschlagserteilung.

Weiter geht es mit der Vertragsentwicklung. Ziel ist es, eine reibungslose Beziehung zwischen Abnehmer und Lieferanten herzustellen. Je nachdem, um welche Art von Ressourcen es sich handelt, sieht das konkrete Vorgehen anders aus. Ein Beispiel: Beim Outsourcing kann der gesamte Vertragsentwicklungsprozess mehrere Abteilungen innerhalb eines Unternehmens beschäftigen. Der Beschaffungszyklus endet mit dem Lieferanten- und Vertragsmanagement, wozu wir noch später kommen.

Beschaffungsstrategien

Was sind die möglichen Beschaffungsstrategien und wie lassen sich diese im Rahmen des IT-Managements einordnen? Aus der Perspektive der Lieferanten unterscheidet man die folgenden Strategien:

  • Single Sourcing: Gemeint ist die Beschaffung einer Palette von Produkten bzw. Dienstleistungen von einem einzigen Anbieter. Diese Strategie ist zwar mit Ausfallrisiken verbunden, jedoch ermöglicht sie durch Mengenbündelungen und Rabatte einen günstigen Preis. Weiterhin kennt man mit der Zeit schon den Lieferanten und dessen Produkte, d. h. Qualitätssicherungsmaßnahmen können reduziert werden.

  • Dual Sourcing/Multiple Sourcing: Dual Sourcing steht für die Beschaffung eines Produkts bzw. einer Dienstleistung von zwei alternativen Anbietern. Unter Multiple Sourcing ist die Beschaffung von ein und demselben Produkt bzw. ein und derselben Leistung bei mehreren Anbietern gemeint. Bei diesen Strategien besteht eine bessere Absicherung bei Ausfall eines Lieferanten. Natürlich steigt der administrative Aufwand.

Wer sind meine Lieferanten? Beziehe ich meine Güter von der Firma von nebenan oder kaufe ich sie auf dem Weltmarkt? Auch hier gibt es Auswahloptionen:

  • Local Sourcing: Der Lieferant von Produkten bzw. Dienstleistungen befindet sich in der unmittelbaren geografischen Nähe.

  • Global Sourcing: Im Gegensatz zum Local Sourcing sitzt der Lieferant nicht gleich um die Ecke. Es erfolgt die Beschaffung des günstigsten und innovativsten Produkts auf dem Weltmarkt.

Outsourcing – eine Extremform des Sourcings

Beim Outsourcing handelt es sich um eine radikale Form der Unterstützung für das IT-Management. Das Erbringen von IT-Services wird komplett oder in Teilen in die Verantwortung eines Dritten übergeben. In der Regel werden solche Vereinbarungen befristet für einen Zeitraum von fünf bis zehn Jahren getroffen. Der Umfang des Outsourcings kann auf Teile bzw. Segmente der IT-Leistung begrenzt sein oder das komplette Serviceportfolio und alle operativen Tätigkeiten der IT umfassen. Es wird daher zwischen partiellem und vollständigem Outsourcing unterschieden. Bei einem partiellen Outsourcing erfolgt eine Vereinbarung über die Bereitstellung konkreter IT-Services. Diese Servicekomponente wird als Bestandteil in die eigenen IT-Services eingebaut. Bei vollständigem IT-Outsourcing wird die gesamte IT-Funktion an einen Dienstleister ausgelagert. In den letzten Jahren gewinnt das Thema Outsourcing immer mehr an Bedeutung. Nachfolgend listen wir die am meisten verbreiteten Formen im IT-Bereich auf [4]:

  • Application Service Providing bzw. Software as a Service: Die Software wird durch einen Dritten über das Netz zur Verfügung gestellt, d. h. die Software und die IT-Infrastruktur werden von einem externen IT-Dienstleister betrieben. Der Abnehmer zahlt für den Betrieb ein Nutzungsentgelt.

  • Business Process Outsourcing: Ausgelagert werden ganze Geschäftsprozesse und die dahinterstehenden Hilfsprozesse.

  • Business Transformation Outsourcing: Darunter versteht man eine wirtschaftliche Verknüpfung zweier parallel laufender Outsourcing-Projekte: das Reengineering und die laufende Durchführung der Geschäftsprozesse. Angestrebt wird somit neben der Transformation auch die kontinuierliche Optimierung des betreffenden Prozesses.

  • Complete Sourcing: Gemeint ist hier, dass ganze Teile des Betriebs inklusive der Belegschaft an einen Dritten gegeben werden.

  • Managed Service: Teile einer Serviceleistung oder die komplette Serviceleistung wird von einem Dritten angeboten, z. B. der IT-Arbeitsplatz.

  • Outtasking: Es werden Vereinbarungen über die IT-Leistungen mit dem externen Dienstleister getroffen. Diese Leistungen werden unter Steuerung und Kontrolle des IT-Bereichs kontinuierlich erbracht.

Wie dargestellt, verfolgen die Formen des Outsourcings ganz unterschiedliche Ziele. Um eine geeignete Variante zu wählen, muss man folgende Punkte in die Überlegungen einbeziehen:

  • Vertrauen der Leitung und der Beschäftigten in die Kompetenz des Dritten

  • Umfang des Risikos der auszulagernden Aufgabe

  • technische Lösungskompetenz des Dritten

  • eigener Kapazitätsmangel

  • finanzieller Vorteil von Eigenbetrieb oder Fremdvergabe

Grundsätzlich sind die Teile der IT für ein Outsourcing interessant, die nicht das Kerngeschäft des Unternehmens betreffen. Standardservices und grundlegende Leistungen können im Regelfall durch einen externen Dienstleister bei der gebotenen Qualität kostengünstiger erbracht werden, als wenn man es selbst macht.

Cloud Sourcing

Die Cloud ist heutzutage in aller Munde: Cloud-Technologien, Cloud Computing, Cloud-Lösungen etc. Haben Sie schon von Cloud Sourcing gehört? Das ist ein Oberbegriff für „eine Strategie der Auslagerung von IT-Dienstleistungen und deren Bereitstellung und Wartung durch einen oder mehrere Cloud-Service-Provider“ [2]. Auf diese Weise kann die gesamte IT-Infrastruktur aus der Cloud beschafft werden: Rechenressourcen, Speicherkapazität und Software werden als Services bereitgestellt und entsprechend ihrer Nutzung in Rechnung gestellt. Eine wichtige Rolle im Rahmen der Strategiefestlegung spielen so genannte Cloud-Ökosysteme, Cloud-Marktplätze und Cloud-Plattformen (Tabelle 1).

Kategorie

Funktion

Bedeutung für das IT-Sourcing

Beispiel

Cloud-Marktplatz

Integrierte Abwicklung der Vertragsbeziehung und Abrechnungsprozesse, Erzeugen von Preistransparenz

sehr hoch

Telekom Business Marketplace, Deutsche Börse Cloud Exchange

Cloud-Ökosystem

Vernetzung und Integration ausgewählter Partner, um spezielle Lösungen oder günstigere Koordinationen anbieten zu können

hoch

Equinix Cloud Exchange

Cloud-Plattform

Standardisierte Anbindung von Partnern via API an Infrastrukturen der großen Cloud-Anbieter

hoch

Microsoft Azure, Amazon AWS

Tabelle 1: Cloud-Marktplatz, Cloud-Ökosystem und Cloud-Plattform [2]

Wie wählt man den am besten passenden Cloud-Dienst? Entscheidungsparameter sind u. a. die Art des Cloud-Diensts und die Frist der Vertragsbindung. Heutzutage ist immer noch keine eindeutige und transparente Vergleichbarkeit der angebotenen Leistungen möglich. Das Herausarbeiten von Standards wird in Zukunft dazu beitragen, dass die Cloud-Dienste ihr Potenzial besser entfalten können und man leichter den richtigen Cloud-Partner findet.

Lieferantenklassifikation

Nicht jeder Lieferant ist aus Sicht des Unternehmens gleichbedeutend. Die Klassifizierung der Lieferanten erfolgt in der Regel anhand der Produkte, die diese liefern. Beispiel: Der Lieferant A liefert Standardgüter bzw. unkritische Güter, die keine gravierende Auswirkung auf den Erfolg des Unternehmens haben. Der Lieferant B ist für hochwertige und seltene Güter zuständig, die für das Unternehmen eine strategische Bedeutung haben. Man kann die Lieferanten wie folgt klassifizieren [1]:

  • Standardlieferanten: Diese Lieferanten sind für die Lieferung von Standardgütern zuständig. Es gibt eine große Anzahl von Standardlieferanten auf dem Markt.

  • Hebellieferanten: Sie sind durch ein hohes Einkaufsvolumen der Materialien gekennzeichnet. Ebenso ist eine große Anzahl von Hebellieferanten auf dem Markt vorhanden.

  • Engpasslieferanten: Es sind nur wenige Engpasslieferanten auf dem Markt präsent. Aus diesem Grund dominieren sie die Lieferanten-Kunden-Beziehung.

  • Strategische Lieferanten: Diese Lieferanten sind für kritische Komponenten zuständig. Es ist oft der Fall, dass nur eine Lieferantenquelle zur Verfügung steht.

Lieferantenmanagement

Die IT ist ein Bereich, in dem Produkte und Dienstleistungen in erheblichem Umfang von externen Dienstleistern oder betriebsfremden Personen bezogen werden. Aus dieser Sicht ist das systematische Management der Akteure von strategischer Bedeutung. Man spricht auch von Vendorenmanagement. Mit Vendoren sind Lieferanten für Waren und Dienstleistungen im IT-Bereich gemeint. So beschäftigt sich das Vendorenmanagement mit allen Themen rund um die Lieferanten, u. a. mit der Beziehungspflege, der Verwaltung der Verträge, der Erarbeitung von Übersichten über Umsätze, dem Vergleich von Preisen und Konditionen etc.

Gehen wir noch etwas näher auf die Vertragsgestaltung ein. Lange Zeit wurden Verträge nach dem Motto „Do it yourself!“ gestaltet, d. h. die mit der IT-Beschaffung zusammenhängenden Fragen wurden gewissermaßen nebenbei beantwortet. Ein solches Vorgehen ist vor dem Hintergrund der wachsenden Bedeutung der IT nicht mehr empfehlenswert. Beschaffungsverträge berühren die unterschiedlichsten Rechtsbereiche. Daher ist man als IT-Leiter gut beraten, sich von Fachleuten beraten zu lassen bzw. diese bei Erstellung und Abschluss des Vertrags mit einzubeziehen. Tabelle 2 zeigt anhand einiger Anhaltspunkte, welche Fragen des IT-Beschaffungsmanagements bestimmte Rechtsbereiche berühren. Ein Beispiel: Die Lizenzen für Standardsoftware werden heute üblicherweise für einen bestimmten Zeitraum gegen Zahlung eines Entgelts zur Verfügung gestellt. Innerhalb der Laufzeit besteht oft auch ein Anspruch auf Updates und neue Programmversionen. Doch was ist nach Vertragsende, wenn die Anwendung in der Cloud läuft? Habe ich dann noch ein Recht auf meine Daten, um auf sie zumindest lesend zuzugreifen? Diese und ähnliche Fragen muss ein Lieferantenvertrag beantworten. Die Rechtsfragen sind kompliziert. Eine umfassende Rechtsberatung – zunächst im Hintergrund – dient dazu, Streitpotenzial zwischen den Vertragspartnern zu vermeiden.

Managementfrage

Rechtsfrage

Rechtsgebiet

Ablauf der Beschaffungen

Zustandekommen der Verträge

Allgemeines Vertragsrecht

Hardware

Anschaffung

Kaufrecht, Eigentumsrecht

Miete

Mietrecht

Leasing

Kauf- und Mietrecht

Software

Anschaffung

Kaufvertragsrecht

Miete

Mietrecht

Gebrauchte Ware verkaufen

Eigentumsrecht

Selbst erstellte Software abgeben

Geistiges Eigentum

Urheberrecht, Eigentumsrecht, Mietrecht

Internet

Internetrecht, diverse

Insourcing

Kaufrecht, diverse

Outsourcing

Werkvertragsrecht, diverse

Tabelle 2: Rechtsquellen mit Bedeutung für das IT-Management [4]

Fazit

Unser Exkurs in das IT-Beschaffungsmanagement ist an dieser Stelle am Ende angelangt – genauso wie unsere gesamte Artikelserie zum IT-Management. Egal mit welchem Teilaspekt wir uns beschäftigt haben, die übergreifenden Fragen der IT sind oftmals nur am Rande technischer Natur. IT wird immer mehr zu einem Business-Enabler und damit zu einem Wettbewerbsfaktor. Für uns Entwickler ist das ein Garant für unsere Arbeitsplätze. Der Bedarf an spezialisierter IT steigt weiter. Um jedoch verantwortungsvolle Aufgaben wahrzunehmen, muss man sich mit den dahinterstehenden Managementprozessen beschäftigen.

krypczyk_veikko_dr_sw.tif_fmt1.jpgDr. Veikko Krypczyk studierte und promovierte in Betriebswirtschaftslehre mit dem Schwerpunkt Wirtschaftsinformatik. Er ist Entwickler und Fachautor.

bochkor_olena_sw.tif_fmt1.jpgOlena Bochkor studierte Betriebswirtschaftslehre u. a. mit dem Schwerpunkt Wirtschaftsinformatik.

Desktop Tablet Mobile
Desktop Tablet Mobile