Perfekte Softwareentwicklung
Prozesse, Technologien und Methoden für erfolgreiche Softwareprojekte
Symposion Publishing
1st Edition
Published on 15. August 2013
Book
Mixed media product
448 pages
978-3-86329-601-8 (ISBN)
Description
Heute sind Unternehmen bei der Softwareentwicklung mit gravierenden Herausforderungen konfrontiert. Zum einen steigen die funktionalen Erwartungen der Anwender, zum anderen die technischen Anforderungen angesichts zunehmender Komplexität und immer kürzerer Innovationszyklen.
Trotz dieser schwierigen Ausgangslage wird erwartet, dass Software immer kostengünstiger und schneller entwickelt wird.
Um diesen Spagat zu meistern, muss die Softwareentwicklung umfassend optimiert werden. Das vorliegende Buch hilft dabei, indem es Antworten auf die wichtigsten Fragen gibt:
Was sind die entscheidenden Trends in der Softwareentwicklung?
Welche Best Practices sind zur Umsetzung dieser Trends geeignet?
Wie lassen sich Entwicklungsprozesse systematisch und kontinuierlich verbessern?
Welche Plattformen, Programmiersprachen und Werkzeuge sind zukunftsfähig und wie müssen sie eingesetzt werden?
Mit welchen Verfahren und Tools kann die Softwareentwicklung effektiv unterstützt werden?
31 Autoren - allesamt ausgewiesene Experten aus Forschung und Entwicklungspraxis - spüren diesen Fragen nach und zeigen aktuelle Ansätze, wie sich der komplexe Bereich der Softwareentwicklung auch bei wachsendem Kostendruck perfektionieren lässt. Qualität, Leistungsfähigkeit und Termintreue sind nämlich kein Zufall, sondern das Ergebnis von abgestimmten Prozessen, zukunftsfähigen Architekturen und innovativen Methoden.
Trotz dieser schwierigen Ausgangslage wird erwartet, dass Software immer kostengünstiger und schneller entwickelt wird.
Um diesen Spagat zu meistern, muss die Softwareentwicklung umfassend optimiert werden. Das vorliegende Buch hilft dabei, indem es Antworten auf die wichtigsten Fragen gibt:
Was sind die entscheidenden Trends in der Softwareentwicklung?
Welche Best Practices sind zur Umsetzung dieser Trends geeignet?
Wie lassen sich Entwicklungsprozesse systematisch und kontinuierlich verbessern?
Welche Plattformen, Programmiersprachen und Werkzeuge sind zukunftsfähig und wie müssen sie eingesetzt werden?
Mit welchen Verfahren und Tools kann die Softwareentwicklung effektiv unterstützt werden?
31 Autoren - allesamt ausgewiesene Experten aus Forschung und Entwicklungspraxis - spüren diesen Fragen nach und zeigen aktuelle Ansätze, wie sich der komplexe Bereich der Softwareentwicklung auch bei wachsendem Kostendruck perfektionieren lässt. Qualität, Leistungsfähigkeit und Termintreue sind nämlich kein Zufall, sondern das Ergebnis von abgestimmten Prozessen, zukunftsfähigen Architekturen und innovativen Methoden.
More details
Edition
1., Auflage
Language
German
Place of publication
DE
Germany
Target group
Ein praxisorientierter Leitfaden für Softwareentwickler, Leiter von Softwareentwicklungsabteilungen, IT-Projektleiter, CIOs sowie Geschäftsführer von Softwareunternehmen.
Illustrations
zahlreiche
zahlr. Abb.
Dimensions
Height: 23 cm
Width: 16 cm
ISBN-13
978-3-86329-601-8 (9783863296018)
Schweitzer Classification
Persons
Dr. Michael Lang ist bei einem der größten IT-Dienstleistungsunternehmen Europas tätig. Zudem ist er Lehrbeauftragter für Projektmanagement und Herausgeber mehrerer Bücher zu verschiedenen Themen des IT-Managements. Herr Dr. Lang studierte Wirtschaftsinformatik an der Universität Bamberg und promovierte im Bereich des IT-Managements an der Universität Erlangen-Nürnberg. Vor seiner aktuellen Tätigkeit war er unter anderem als IT-Inhouse-Consultant bei einem internationalen Unternehmen der Automobilindustrie beschäftigt.
Stefan Scherber ist leitender Berater für Softwareentwicklung bei der DATEV eG, dem IT-Dienstleister für Steuerberater, Rechtsanwälte und Wirtschaftsprüfer. Er hat 25 Jahre Erfahrung in der Entwicklung von Softwarearchitekturen für unterschiedliche Plattformen und Technologien. Dabei liegt sein Schwerpunkt in der Entwicklung von serviceorientierten Plattformarchitekturen für ERP- und CRM-Systeme. Zudem ist Herr Scherber aktiver Nutzer und Vermittler agiler Methoden wie Scrum (Certified Scrum Master) und Kanban.
Stefan Scherber ist leitender Berater für Softwareentwicklung bei der DATEV eG, dem IT-Dienstleister für Steuerberater, Rechtsanwälte und Wirtschaftsprüfer. Er hat 25 Jahre Erfahrung in der Entwicklung von Softwarearchitekturen für unterschiedliche Plattformen und Technologien. Dabei liegt sein Schwerpunkt in der Entwicklung von serviceorientierten Plattformarchitekturen für ERP- und CRM-Systeme. Zudem ist Herr Scherber aktiver Nutzer und Vermittler agiler Methoden wie Scrum (Certified Scrum Master) und Kanban.
Content
Autoren. 9
Vorwort. 17
Wichtige Trends
Jochen Malinowski, Benedikt von Treskow
Industrialisierung der IT - vom Prototyp zur Fertigungsstraße. 21
Notwendigkeit für eine industrielle Softwareentwicklung. 21
Industrielle Softwareentwicklung. 23
Industrielle Softwareentwicklung durch Komponentenorientierung,
Abstraktion und Softwareproduktlinien. 27
Model-driven Development (MDD) als Lösungselement
einer industriellen Softwareentwicklung. 31
Sourcing/Spezialisierung. 42
Fazit. 45
Zusammenfassung. 47
Stephan Krause.
Industrialisierung der Softwareentwicklung in der Praxis. 49
Ausgangssituation und Zielsetzung. 49
Was bedeutet 'Industrialisierung der
Softwareentwicklung'?. 50
Vorgehensweise. 55
Zusammenfassung. 67
Rainer Heinold
Mit der Cloud entwickeln. 69
Was kennzeichnet den Einsatz von Cloud-Technologien
in der Softwareentwicklung?. 69
Worauf ist bei der Einführung zu achten?. 78
DevOps - Brückenschlag zwischen Business,
Entwicklung, IT und Kunden. 82
Die fünf Stufen von Enterprise Cloud Computing -
ein einfaches Modell zur Standortbestimmung. 85
Zusammenfassung. 89
Dragan Macos
Entwicklung von mobilen Anwendungssystemen (Apps). 91
Einführung. 91
Mobile Anwendungen im Unternehmen: eine Übersicht. 95
Mögliche Vorgehensweisen bei der Entwicklung mobiler Anwendungen. 100
Best Practices bei der Entwicklung von mobilen Anwendungssystemen. 103
Zusammenfassung. 107
Optimale Prozesse
Andreas Birk
Requirements-Management für IT- und Software-Organisationen. 111
Requirements systematisch managen. 111
Der Nutzen von Requirements. 112
Requirements: Was ist das?. 113
Grundbausteine des Requirements-Managements. 116
Ausprägungen des Requirements-Managements. 125
Methodische Frameworks. 130
Requirements-Management im Unternehmen etablieren. 133
Zusammenfassung. 138
Ramin Tavakoli Kolagari
Entwurf von Software. 139
Vorbemerkung. 139
Einordnung der Entwurfsphase in den
Softwareentwicklungsprozess. 140
Prinzipien des Entwurfs. 145
Methoden und Techniken des Entwurfs. 151
Werkzeuge des Entwurfs. 158
Was zeichnet eine erfolgreiche Entwurfsphase aus?. 159
Zusammenfassung. 164
Jens Donig
Application Lifecycle Management (ALM). 165
Software - ein 'Bauteil' mit besonderen
Gesetzmäßigkeiten. 165
Ein moderner Application Lifecycle. 166
Ein Unified Data Model im ALM. 174
Practices im ALM. 188
Zusammenfassung. 190
Frank Simon
Testmanagement T4Q: Testen für Qualität. 191
Testen, das vermeintliche Monster kurz vor dem Ziel. 191
Qualität 2.0 - ein multidimensionales Konzept. 197
Testmanager - der Dirigent im Testorchester. 207
T4Q und aktuelle Trends. 212
Zusammenfassung. 218
Thomas Roßner
Systematisches Testen von Apps für Mobile Devices. 219
Herausforderung 'mobile Apps'. 219
Apps sind anders - warum?. 221
Strategien zum Testen von Apps. 225
Neue Testansätze. 240
Zusammenfassung. 244
Zukunftsfähige Technologien und Architekturen
J. Abke, O. Braun, P. Brune, G. Hagel, H. Keller, J. Mottok, M. Niemetz, V. Pfeiffer
Programmiersprachen. 247
Die Welt der Programmiersprachen - eine Landkarte. 247
Einordnung ausgewählter Programmiersprachen. 252
Programmiersprachen in der akademischen Ausbildung. 286
Fazit und Ausblick. 288
Zusammenfassung. 294
Kirstin Kohler, Marcus Trapp
Mit der richtigen User-Interface-Strategie mehr erleben. 295
User Experience -
das wichtigste Qualitätsattribut für Software und ihr User Interface?. 295
Technologieauswahl - eine Frage der Client-Typen. 302
Technologieauswahl im mobilen Umfeld. 308
Aspekte jenseits der Technologie. 316
Zusammenfassung. 322
Uwe Friedrichsen
Scale-out - viel Licht, aber auch etwas Schatten. 323
Die Grenzen vertikaler Skalierung. 323
Bühne frei für Scale-out. 326
Vertikale Skalierung aus Entwicklersicht. 327
Herausforderungen von Scale-out. 329
BASE-Transaktionen. 331
Die Qual der Wahl. 333
Zusammenfassung. 336
Andreas Schmietendorf
SOA & Co. - innovative Software- und Integrationsarchitekturen. 337
Softwarearchitekturen. 337
Software- und serviceorientierte Architekturen. 342
Erfolgsfaktoren zur Implementierung einer SOA. 347
Beispiele für erfolgreiche SOA-Projekte. 353
Zusammenfassung. 357
Marko Boger
Zehn Gründe für Scala in Ihrem nächsten Softwareprojekt. 359
Einführung. 359
Zusammenfassung. 381
Innovative Methoden
Matthias Vitt
Agile Entwicklungsmethoden. 385
Agilität tut gut. 385
Agile Softwareentwicklung. 386
Strategien, Techniken und Werkzeuge. 390
Risiken agiler Methoden. 404
Zusammenfassung. 406
Markus Amend, Stefan Birnkammerer, Viktor Frank, Michael Menchau,
Kai Windhausen
Anwendererwartung im Fokus: agiles Projektmanagement. 407
Die Herausforderung: exakte, verlässliche Anforderungen. 407
Die Lösung: Anwendererwartung im Mittelpunkt. 409
Methodenentscheidung. 411
Agilität einführen. 413
Führen bei agilem Vorgehen. 420
Kosten, Termine, Funktionalität. 424
Zusammenfassung. 429
Christian Brandes
Testen in agilen Softwareentwicklungsprojekten.431
Die Rolle des Testens im Entwicklungsprozess. 431
Veränderungen für den Test am Beispiel SCRUM. 432
Was bedeutet 'agiles Testen'?. 434
Schritte zum erfolgreichen agilen Test. 435
Agile Projekte bieten Chancen auch für den Test. 442
Aktuelle Trends rund ums agile Testen. 444
Der Beitrag des Testens zum Erreichen von Kosten- und Terminzielen. 446
Zusammenfassung. 448
Vorwort. 17
Wichtige Trends
Jochen Malinowski, Benedikt von Treskow
Industrialisierung der IT - vom Prototyp zur Fertigungsstraße. 21
Notwendigkeit für eine industrielle Softwareentwicklung. 21
Industrielle Softwareentwicklung. 23
Industrielle Softwareentwicklung durch Komponentenorientierung,
Abstraktion und Softwareproduktlinien. 27
Model-driven Development (MDD) als Lösungselement
einer industriellen Softwareentwicklung. 31
Sourcing/Spezialisierung. 42
Fazit. 45
Zusammenfassung. 47
Stephan Krause.
Industrialisierung der Softwareentwicklung in der Praxis. 49
Ausgangssituation und Zielsetzung. 49
Was bedeutet 'Industrialisierung der
Softwareentwicklung'?. 50
Vorgehensweise. 55
Zusammenfassung. 67
Rainer Heinold
Mit der Cloud entwickeln. 69
Was kennzeichnet den Einsatz von Cloud-Technologien
in der Softwareentwicklung?. 69
Worauf ist bei der Einführung zu achten?. 78
DevOps - Brückenschlag zwischen Business,
Entwicklung, IT und Kunden. 82
Die fünf Stufen von Enterprise Cloud Computing -
ein einfaches Modell zur Standortbestimmung. 85
Zusammenfassung. 89
Dragan Macos
Entwicklung von mobilen Anwendungssystemen (Apps). 91
Einführung. 91
Mobile Anwendungen im Unternehmen: eine Übersicht. 95
Mögliche Vorgehensweisen bei der Entwicklung mobiler Anwendungen. 100
Best Practices bei der Entwicklung von mobilen Anwendungssystemen. 103
Zusammenfassung. 107
Optimale Prozesse
Andreas Birk
Requirements-Management für IT- und Software-Organisationen. 111
Requirements systematisch managen. 111
Der Nutzen von Requirements. 112
Requirements: Was ist das?. 113
Grundbausteine des Requirements-Managements. 116
Ausprägungen des Requirements-Managements. 125
Methodische Frameworks. 130
Requirements-Management im Unternehmen etablieren. 133
Zusammenfassung. 138
Ramin Tavakoli Kolagari
Entwurf von Software. 139
Vorbemerkung. 139
Einordnung der Entwurfsphase in den
Softwareentwicklungsprozess. 140
Prinzipien des Entwurfs. 145
Methoden und Techniken des Entwurfs. 151
Werkzeuge des Entwurfs. 158
Was zeichnet eine erfolgreiche Entwurfsphase aus?. 159
Zusammenfassung. 164
Jens Donig
Application Lifecycle Management (ALM). 165
Software - ein 'Bauteil' mit besonderen
Gesetzmäßigkeiten. 165
Ein moderner Application Lifecycle. 166
Ein Unified Data Model im ALM. 174
Practices im ALM. 188
Zusammenfassung. 190
Frank Simon
Testmanagement T4Q: Testen für Qualität. 191
Testen, das vermeintliche Monster kurz vor dem Ziel. 191
Qualität 2.0 - ein multidimensionales Konzept. 197
Testmanager - der Dirigent im Testorchester. 207
T4Q und aktuelle Trends. 212
Zusammenfassung. 218
Thomas Roßner
Systematisches Testen von Apps für Mobile Devices. 219
Herausforderung 'mobile Apps'. 219
Apps sind anders - warum?. 221
Strategien zum Testen von Apps. 225
Neue Testansätze. 240
Zusammenfassung. 244
Zukunftsfähige Technologien und Architekturen
J. Abke, O. Braun, P. Brune, G. Hagel, H. Keller, J. Mottok, M. Niemetz, V. Pfeiffer
Programmiersprachen. 247
Die Welt der Programmiersprachen - eine Landkarte. 247
Einordnung ausgewählter Programmiersprachen. 252
Programmiersprachen in der akademischen Ausbildung. 286
Fazit und Ausblick. 288
Zusammenfassung. 294
Kirstin Kohler, Marcus Trapp
Mit der richtigen User-Interface-Strategie mehr erleben. 295
User Experience -
das wichtigste Qualitätsattribut für Software und ihr User Interface?. 295
Technologieauswahl - eine Frage der Client-Typen. 302
Technologieauswahl im mobilen Umfeld. 308
Aspekte jenseits der Technologie. 316
Zusammenfassung. 322
Uwe Friedrichsen
Scale-out - viel Licht, aber auch etwas Schatten. 323
Die Grenzen vertikaler Skalierung. 323
Bühne frei für Scale-out. 326
Vertikale Skalierung aus Entwicklersicht. 327
Herausforderungen von Scale-out. 329
BASE-Transaktionen. 331
Die Qual der Wahl. 333
Zusammenfassung. 336
Andreas Schmietendorf
SOA & Co. - innovative Software- und Integrationsarchitekturen. 337
Softwarearchitekturen. 337
Software- und serviceorientierte Architekturen. 342
Erfolgsfaktoren zur Implementierung einer SOA. 347
Beispiele für erfolgreiche SOA-Projekte. 353
Zusammenfassung. 357
Marko Boger
Zehn Gründe für Scala in Ihrem nächsten Softwareprojekt. 359
Einführung. 359
Zusammenfassung. 381
Innovative Methoden
Matthias Vitt
Agile Entwicklungsmethoden. 385
Agilität tut gut. 385
Agile Softwareentwicklung. 386
Strategien, Techniken und Werkzeuge. 390
Risiken agiler Methoden. 404
Zusammenfassung. 406
Markus Amend, Stefan Birnkammerer, Viktor Frank, Michael Menchau,
Kai Windhausen
Anwendererwartung im Fokus: agiles Projektmanagement. 407
Die Herausforderung: exakte, verlässliche Anforderungen. 407
Die Lösung: Anwendererwartung im Mittelpunkt. 409
Methodenentscheidung. 411
Agilität einführen. 413
Führen bei agilem Vorgehen. 420
Kosten, Termine, Funktionalität. 424
Zusammenfassung. 429
Christian Brandes
Testen in agilen Softwareentwicklungsprojekten.431
Die Rolle des Testens im Entwicklungsprozess. 431
Veränderungen für den Test am Beispiel SCRUM. 432
Was bedeutet 'agiles Testen'?. 434
Schritte zum erfolgreichen agilen Test. 435
Agile Projekte bieten Chancen auch für den Test. 442
Aktuelle Trends rund ums agile Testen. 444
Der Beitrag des Testens zum Erreichen von Kosten- und Terminzielen. 446
Zusammenfassung. 448
Was kennzeichnet den Einsatz von Cloud-Technologien in der Softwareentwicklung?
Betrachten wir zunächst den Einsatz von Cloud-Technologien im Rahmen der Entwicklung. Obwohl viele andere Unternehmensanwendungen bereits als Cloud-Lösungen eingesetzt werden (z. B. SalesForce als CRM, ServiceNow! oder auch ERP-Lösungen), gibt es immer noch massive Widerstände beim Thema Softwareentwicklung. Diese sind zum Teil technisch begründbar (z. B. zu geringe Bandbreite bei der Cloud-Anbindung), aber zumeist psychologischer Natur. Für viele Unternehmen ist die entwickelte Software ein entscheidender Wettbewerbsvorteil, ja sogar gleichzusetzen mit dem Unternehmen. Diese 'Kronjuwelen' aus der Hand zu geben und auf einer Infrastruktur außerhalb des Unternehmens zu entwickeln, erscheint vielen deshalb undenkbar.
Ein weiterer Aspekt ist das oftmals über lange Jahre entwickelte und speziell auf das Unternehmen angepasste Ökosystem der Entwicklung, bestehend aus Prozessen, Tools und der verwendeten Hardware. Die Einführung von Cloud-basierten Lösungen führt zu
- Änderungen/Anpassungen der Prozessabläufe,
- Ablösung und Migration von existierenden Daten in neue Tools
sowie
- höherem Trainingsaufwand zu Beginn der Einführung.
Da jede Änderung ein Risiko darstellt und es ohnehin keinen idealen Zeitpunkt für eine Umstellung oder Änderung der Abläufe gibt (schließlich sind immer irgendwelche Projekte gerade gestartet, kurz vor einem Release oder genau nach einem Release), schiebt man Änderungen an der Infrastruktur gerne hinaus - gelegentlich bis zu dem Zeitpunkt, zu dem die Architektur gar nicht mehr trägt. Ein weiterer, oft übersehener Aspekt hat nicht direkt mit der Softwareentwicklung zu tun. Es handelt sich vielmehr um Fragen der Corporate Security, Governance und Compliance. Viele der Gespräche, die meine Kollegen und ich mit Kunden und Interessenten geführt haben, zeigen, dass die aktuellen Richtlinien oft 'veraltet' sind. Dies gilt weniger für das Datum der letzten Überarbeitung, sondern eher für die zugrunde liegenden Annahmen und Technologien.
Lagen in einem Unternehmen bisher alle Daten und Tools im eigenen Rechenzentrum, abgeschirmt durch ein Firmennetzwerk, so sind die nötigen Sicherheitsmechanismen in der Cloud völlig andere, genauso wie die potenziellen Probleme im täglichen Betrieb. Sollte die in Ihrem Unternehmen entwickelte Software Exportbeschränkungen unterliegen, so bringt die Datenablage in der Cloud Risiken mit sich, die bei einem eigenen Rechenzentrum keine Rolle spielen. Ein einfaches Beispiel soll dies verdeutlichen: Sie haben als deutsches Unternehmen eine Entwicklungsmannschaft in den USA, ihre gesamten Daten liegen aber in einem Rechenzentrum innerhalb der Europäischen Union. Damit unterliegen Sie den Exportbestimmungen der EU. Bei der Umstellung der Infrastruktur auf eine Cloud Lösung wählen Sie einen Provider, der sowohl in den USA als auch in der EU Rechenzentren betreibt. Falls im Service Level Agreement (SLA) nicht ausdrücklich festgelegt ist, dass Daten Ihres Unternehmens keinesfalls in ein Rechenzentrum in den USA geschoben werden dürfen, so unterliegen Sie im schlimmsten Fall den Exportkontrollbestimmungen der USA (mit allen möglichen Konsequenzen) - Ihre Daten liegen dann nämlich auf einer Hardware, die sich physikalisch in den USA befindet.
Betrachten wir zunächst den Einsatz von Cloud-Technologien im Rahmen der Entwicklung. Obwohl viele andere Unternehmensanwendungen bereits als Cloud-Lösungen eingesetzt werden (z. B. SalesForce als CRM, ServiceNow! oder auch ERP-Lösungen), gibt es immer noch massive Widerstände beim Thema Softwareentwicklung. Diese sind zum Teil technisch begründbar (z. B. zu geringe Bandbreite bei der Cloud-Anbindung), aber zumeist psychologischer Natur. Für viele Unternehmen ist die entwickelte Software ein entscheidender Wettbewerbsvorteil, ja sogar gleichzusetzen mit dem Unternehmen. Diese 'Kronjuwelen' aus der Hand zu geben und auf einer Infrastruktur außerhalb des Unternehmens zu entwickeln, erscheint vielen deshalb undenkbar.
Ein weiterer Aspekt ist das oftmals über lange Jahre entwickelte und speziell auf das Unternehmen angepasste Ökosystem der Entwicklung, bestehend aus Prozessen, Tools und der verwendeten Hardware. Die Einführung von Cloud-basierten Lösungen führt zu
- Änderungen/Anpassungen der Prozessabläufe,
- Ablösung und Migration von existierenden Daten in neue Tools
sowie
- höherem Trainingsaufwand zu Beginn der Einführung.
Da jede Änderung ein Risiko darstellt und es ohnehin keinen idealen Zeitpunkt für eine Umstellung oder Änderung der Abläufe gibt (schließlich sind immer irgendwelche Projekte gerade gestartet, kurz vor einem Release oder genau nach einem Release), schiebt man Änderungen an der Infrastruktur gerne hinaus - gelegentlich bis zu dem Zeitpunkt, zu dem die Architektur gar nicht mehr trägt. Ein weiterer, oft übersehener Aspekt hat nicht direkt mit der Softwareentwicklung zu tun. Es handelt sich vielmehr um Fragen der Corporate Security, Governance und Compliance. Viele der Gespräche, die meine Kollegen und ich mit Kunden und Interessenten geführt haben, zeigen, dass die aktuellen Richtlinien oft 'veraltet' sind. Dies gilt weniger für das Datum der letzten Überarbeitung, sondern eher für die zugrunde liegenden Annahmen und Technologien.
Lagen in einem Unternehmen bisher alle Daten und Tools im eigenen Rechenzentrum, abgeschirmt durch ein Firmennetzwerk, so sind die nötigen Sicherheitsmechanismen in der Cloud völlig andere, genauso wie die potenziellen Probleme im täglichen Betrieb. Sollte die in Ihrem Unternehmen entwickelte Software Exportbeschränkungen unterliegen, so bringt die Datenablage in der Cloud Risiken mit sich, die bei einem eigenen Rechenzentrum keine Rolle spielen. Ein einfaches Beispiel soll dies verdeutlichen: Sie haben als deutsches Unternehmen eine Entwicklungsmannschaft in den USA, ihre gesamten Daten liegen aber in einem Rechenzentrum innerhalb der Europäischen Union. Damit unterliegen Sie den Exportbestimmungen der EU. Bei der Umstellung der Infrastruktur auf eine Cloud Lösung wählen Sie einen Provider, der sowohl in den USA als auch in der EU Rechenzentren betreibt. Falls im Service Level Agreement (SLA) nicht ausdrücklich festgelegt ist, dass Daten Ihres Unternehmens keinesfalls in ein Rechenzentrum in den USA geschoben werden dürfen, so unterliegen Sie im schlimmsten Fall den Exportkontrollbestimmungen der USA (mit allen möglichen Konsequenzen) - Ihre Daten liegen dann nämlich auf einer Hardware, die sich physikalisch in den USA befindet.