Höllwarth Consulting. Informations- und Kommunikationslösungen
  • Home
  • Technik
  • Ökonomie
  • Organisation
  • Recht
  • Steuer
  • Ökologie
  • Fallstudien
  • Zertifizierung
DEENSLOTaiwanGECHINAPT
  • Vorwort
  • Language Versions
  • Version 2013 DE
  • Version 2012 DE
  • Version 2011 DE
  • Herausgeber
  • Autoren
  • Webedition
    • UNTERNEHMEN-Webedition
    • TECHNIK-Webedition
    • ÖKONOMIE-Webedition
    • ORGANISATION-Webedition
    • RECHT-Webedition
    • SICHERHEIT-Webedition
    • STEUER-Webedition
  • Jetzt bestellen

Softwareentwicklung in der Cloud

Dr. Bernhard Peischl

Developer Clouds

Wer kennt das nicht: Das eigene Notebook, vor drei Jahren noch in Sachen Performance und Speicherkapazität ein Spitzengerät, ist heute lahm, veraltet; neueste Programme sind darauf kaum noch lauffähig. Klar, dass dies in ähnlicher Weise auch für die Server der Rechenzentren gilt. Es wird deutlich: Das Innovationstempo der IT-Branche ist im Vergleich zu anderen Technologien und Marktsegmenten immer schon extrem hoch gewesen. In mathematischer Regelmäßigkeit haben sich die Speicherkapazitäten und Prozessorgeschwindigkeiten vervielfacht. Genauso rasch hat sich auch die Softwaretechnologie weiterentwickelt, Entwicklungsumgebungen wurden umfangreicher und effektiver und bieten bereits vorgefertigte Module, die nach Bedarf eingebunden werden können. Ideale Voraussetzungen für Programmierer. Im Gegensatz zu ihren Kollegen der 70er-Jahre brauchen sie nicht mehr um jedes einzelne Byte zu kämpfen, Programme können über de facto unbegrenzte Codezeilen verfügen. Anwendungsprogramme aller Art wurden und werden mit jedem Release funktional umfangreicher und komplexer. Wer in einer derart dynamischen Branche Software entwickeln oder weiterentwickeln will, muss zunächst einmal massiv investieren, erforderliche Software-Entwicklungsumgebungen und Werkzeuge benötigen eine entsprechend leistungsfähige Hardwarebasis. Zudem müssen Serverlandschaften für Akzeptanz-Tests und Abnahme zur Verfügung stehen. Nicht selten werden solche Entwicklungsumgebungen in Projekten nur temporär benötig. Ist ein solches Projekt abgeschlossen, findet die frei gewordene Hardware nur selten eine sinnvolle Weiterverwendung. Was für Großunternehmen aufgrund ihres größeren Portfolios und ihrer größeren Kundenbasis leicht zu managen ist, stellt für mittelständische Unternehmen und insbesondere für Start-ups eine oftmals unüberwindbare Hürde dar. Wer bislang als Start-up oder als mittelständisches IT-Unternehmen eine geniale Idee für eine bahnbrechende neue Software hatte, musste zunächst Investoren finden, um die vorgenannte Entwicklungsumgebung aufzubauen. Ein solches Investment musste auch wiederverdient werden, also letztendlich den Kundenpreis umgelegt werden, verteuerte somit das Angebot und belastete die Wettbewerbsfähigkeit. Da dies ein unternehmerisches Risiko darstellt, hat es viele davon abgehalten, den Schritt zu gehen. Werden derartige Entwicklungsumgebungen allerdings in der Cloud bereitgestellt, so entfällt jegliche Investition. Sofern überhaupt Kosten anfallen, dann nur eine nutzungsbasierte Gebühr für die Dauer der Inanspruchnahme. Selbst den kleinsten Start-ups wird so Gelegenheit geboten, kreativ zu werden. Heutzutage bestehen bereits viele derartige Entwicklungsumgebungen auf einer gemeinsamen Plattform arbeiten zu lassen. So erschließen sich diese Unternehmen ein erhebliches Einsparungspotenzial. Aber es auch viele öffentlich zugängliche, Cloud-basierte Entwicklungsumgebungen, sogenannte Public Developer Clouds. Diese – zumeist von den globalen Playern der Branche bereitgestellt – bieten alles. was für Software-Entwicklung, -Test und -Abnahme benötigt wird, auf Basis eines verbrauchsorientierten Abrechnungsmodells. Nicht ganz ohne Eigennutz, denn ist die Software einmal fertig, so liegt in der Regel auch der spätere operative Betrieb für diese Software beim gleichen Anbieter. Jeder, der seine Ideen softwaretechnisch realisieren möchte, vom Studenten über das Start-up bis hin zum Mittelständler und Großunternehmen, kann dort entwickeln. Wie erfolgreich solche Developer Clouds sind, verdeutlicht Apple. Dort sind in wenigen Jahren mehr als eine Million iPhone-Apps entstanden, allesamt entwickelt in der Cloud. Dieses im Grundsatz pfiffige Geschäftsmodell könnte für die europäische IT-Industrie allerdings auch sehr leicht zu einem Risiko werden. Denn der spätere operative Betrieb der in der Developer CLoud entwickelten Cloud- Anwendungen, also die so entstandene Software as a Service, müssen längst nicht zwingend in Europa angesiedelt sein. Die Auswirkungen auf das europäische IT-Ecosystem können erheblich sein, denn wer nicht Teil der Wertschöpfungskette ist, ist maximal Verbraucher.

 

nach oben

Software Testing as a Service (STaaS)1

Die heutige Software und Informationssysteme werden zunehmend komplexer und – mit der im Steigen begriffenen Anzahl der mobilen Endgeräte – auch verteilt und hochkreativ. Daher gewinnt die Qualität der Software und Services immer mehr an Bedeutung. Je nach Branche haben dabei die diversen Qualitätsattribute (z.B. funktionale Korrektheit, Performanz, Sicherheit [Security & Safety], Vertrauenswürdigkeit, Benutzbarkeit) unterschiedliche Bedeutung. Um zu demonstrieren, dass die Software bestimmte Qualitätsmerkmale hinreichend gut erfüllt, werden in der Regel entsprechende Software-Entwicklungsmethoden, Verifikations- und Validierungsverfahren etabliert. Das Testen der Software – systematisch und mit fundierter Grundlage durchgeführt – ist heute ein wichtiger Bestandteil des Software-Lebenszyklus. Testen ist eine evidenz-basierte Technik, die (1) die Identifikation von Fehlern ermöglicht und (2) das Vertrauen in das Verhalten der Software stärkt. Daher ist Testen ein wichtiges Instrument, um nachvollziehbare Indikatoren bezüglich der (branchenspezifische) Qualität von Software zu erhalten. Das Testen von Software muss dabei in das Qualitätsmanagement des Unternehmens (oder der Organisationseinheit) eingebettet werden und darf dabei nicht auf rein technische Aspekte reduziert werden. Die Integration in das Qualitätsmanagement und die existierende Prozesslandschaft ist gleichermaßen wichtig wie die Beherrschung der modernen Testwerkzeuge. Typischerweise werden die Aktivitäten rund um das Testen in verschiedene Teststufen eingeteilt. Häufig wird dabei von drei Stufen ausgegangen:

  • Entwicklertest: Mit diesen Tests demonstriert das Entwicklerteam, dass die spezifischen Qualitätsattribute des Projektes oder Produktes erfüllt sind. Meist geht es bei diesen Tests um funktionale Korrektheit. 
  • Systemtest: Damit demonstriert der Lieferant der Software, dass funktionale und nicht-funktionale Qualitätsattribute erfüllt sind. 
  • Akzeptanztest: Mit diesen Tests bestätigt der Abnehmer der Software, dass die gelieferte Software die Erwartungen erfüllt.

StaaS steht im Einklang mit der Transformation von Informationstechnologie zur Business Technologie [2][3]: Wenn Computing (oder IT) zu einer Handelsware wird, dann wird das Testen von Anwendungen ebenso zur Handelsware. Idealerweise würde dies die Notwendigkeit des Testens der Anwendung auf der eigenen Infrastruktur eliminieren. So gibt es keine Notwendigkeit für den Kunden, ein (oft teure) Testinfrastruktur aufzusetzen, die der produktiven Umgebung so gut wie möglich ähnelt. Die Investitionen in das Testen betreffen aber nicht nur die Infrastruktur. STaaS versucht, den Bedarf an Investitionen in die Test-Werkzeuge, Werkzeuge für die Qualitätssicherung und die verschiedenen Support-Tools für das systematische und strukturierte Testen (Risiko-Management, Ressourcenmanagement, Qualitäts-Dashboards [4]) zu reduzieren. Obwohl es verschiedene Gründe für den Einsatz von STaaS gibt, ist in der Praxis eine Mischung von StaaS und Inhouse-Testen anzufinden. Der Grund dafür ist, dass für verschiedene Arten von Tests (Funktionstests, Prüfung der Datenqualität, Integrationstests, Sicherheitstests, Compliance Tests, nicht-funktionale Tests wie Last- und Performance-Tests) die Skalierungsvorteile (und damit der Kompromiss zwischen Risiken und Nutzen) in unterschiedlichem Maße gelten. Im Folgenden diskutieren wir kurz die Treiber für STaaS (und Test-Outsourcing), einschließlich der umstrittenen Frage Farshoring vs. Nearshoring von spezifischen Test-Services.

[1] Weitere Details zu Software Testing as a Service unter www.cloud-migration.eu/de/technology-details.html

[2] Harvard Business Review on The Business Value of IT, Harvard Business Review Press, 1st edition, February 1999.

[3] Faisal Hoque, Lawrence M. Walsh, Diana L. Mirakaj, Jeffrey Bruckner, The Power of Convergence: Linking Business Strategies and Technology Decisions  to Create Sustainable Success, May 2011.

[4] S. M. Lang und B. Peischl, Nachhaltiges Software Management durch Lebenszyklus-übergreifende  Überwachung von Qualitätskennzahlen, To appear in the Proceedings of the Fachtagung Software Management 2012: Nachhaltiges Software Management, Deutsche Gesellschaft für Informatik (GI), November 2012.

nach oben

Test-Outsourcing

Die Idee des Outsourcings von Testaktivitäten ist, von Skalierungseffekten beim Testen von Software zu profitieren. Ein Test-Service-Provider verspricht, die wesentlichen Testschritte rigoroser (z.B. mit vorgegebenen Kriterien der Testabdeckung, Prozessreife oder anderen Kennzahlen zum Testen), schneller und kostengünstiger durchzuführen. Diese Ansprüche werden durch die folgenden wichtigen Treiber untermauert:

Drivers for STaaS and Test-Outsourcing

  • Erstens hat sich das Testen in der jüngsten Vergangenheit stark weiterentwickelt. Heute haben wir einen methodischen Ansatz für Testmanagement, Testdurchführung und Testfall-Design [11], sodass Testen mehr und mehr zu einer gängigen Praxis wird (unterstützt durch geeignete Werkzeuge). Hier geht es insbesondere um die Reduktion von Volumsarbeiten (z.B. automatisierte Testdurchführung oder das Speichern der Testergebnisse). Aber auch komplexere Aufgaben wie z.B. der systematische Entwurf von Testfällen, die Entwicklung einer Teststrategie und Test-Portfolio-Management werden zunehmend durch professionelle Werkzeuge unterstützt.
  • Zweitens sind Inhouse-Tests recht teuer, da diese im Vorfeld Investitionen in Büroflächen und permanentes Personal erfordern. Außerdem entstehen zusätzliche Kosten, um den Spitzenbedarf an Testern zu decken
  • Drittens verfügen wir heute über eine zuverlässige Infrastruktur für den Transfer der Software in die Testing Cloud: Virtual Private Networks (VPNs), Verschlüsselung und günstiger und zuverlässiger Breitbandzugang.

Erfahrungen mit dem Outsourcing von Testaktivitäten haben gezeigt, dass Nearshoring oft die bessere Wahl ist. Im Gegensatz zu Farshoring bietet Nearshoring den Vorteil der gleichen Zeitzone, einen ähnlichen kulturellen Kontext und die Bereitschaft der Test-Berater und der Tester, zuverlässig acht Stunden pro Tag zu arbeiten. Hier sollte man im Hinterkopf behalten, dass Test-Berater den geschäftlichen Nutzen verstehen müssen, um entsprechend gute Testfälle und Testberichte bereitstellen zu können. Dies erfordert technisches und branchenspezifisches Know-how

 

nach oben

Nearshoring Tests

Die Erfahrung zeigt, dass die folgenden Punkte für einen erfolgreichen Nearshoring-Software-Test berücksichtigt werden müssen:

  • Nearshoring stellt externe Test-Ressourcen bereit, die den größten Teil des Testaufwandes bewältigen können. 
  • Prominente Einsatzgebiete sind: Entwurf einer Teststrategie, die Durchführung von Funktionstests, Überprüfung der Datenintegrität und -qualität, Durchführung von Integrationstests, Prüfung auf Sicherheit und Compliance.
  • Das Nearshore-Team hat Zugriff auf Fachkonzept und Fehlermanagementsystem.
  • Der Wissenstransfer kann über einen zentralen Koordinator für die Testentwicklung und das technische Support-Team aufgebaut werden.
  • Etablierung regelmäßiger Berichterstattung und Überwachung der Fortschritte ist unvermeidlich.
  • Der Projektleiter kenn das Nearshore-Testteam und kommuniziert von Anfang an die Ziele der Testaktivitäten. Es wird ein Kick-Off-Meeting aufgesetzt, um den Wissenstransfer zu erleichtern, in weiterer Folge können nach Bedarf Video-Konferenzen durchgeführt werden.

 

 

SiteSecurity TrustSeal issued for eurocloud-staraudit.eu by cyscon GmbH
© 2026 CLOUD Migration. Alle Rechte vorbehalten.
  • Impressum
  • AGB