Offshore Software-Entwicklung im Griff

9. März 2006, 0:00 Uhr |

Offshore Software-Entwicklung im Griff. Model Driven Offshoring ist ein Ansatz, der flexiblere Arbeitsteilung zwischen On-Site- und Offshore-Teams ermöglicht. Kunden erhalten zudem mehr Kontrolle über den Entwicklungsprozess und somit auch über die Arbeitsergebnisse.

Offshore Software-Entwicklung im Griff

Insbesondere in der Entwicklung von Individualsoftware haben viele Kunden in der Vergangenheit ernüchternde Erfahrungen mit reinen Offshore-Projekten gemacht. Konsequenterweise sucht die Industrie heute nach flexibleren Projektmodellen und verbesserten Kontrollmöglichkeiten. Der klassische Offshore-Ansatz weicht heute häufig dem Mix-Shore Ansatz. In vielen Mix-Shore-Projekten arbeiten Teams aus technischen Businessanalysten und erfahrenen Systemarchitekten vor Ort, und geben die detaillierten Anforderungen des Kunden an die Programmierteams im Offshore-Center weiter. Im Gegensatz zu Projekten, wo die »fertige« Spezifikation zu Beginn des Entwicklungsprojektes an das Offshore-Team übergeben wird, erlaubt dieser iterative Ansatz das schnelle Reagieren auf Spezifikationsprobleme und Fehlentwicklungen im Projekt.
Allerdings stellt der iterative Mix-Shore-Ansatz auch hohe Anforderungen an die Effizienz der Zusammenarbeit zwischen On-Site und Offshore-Team. Hier setzt das Konzept des Model Driven Offshoring (MDO) an. Ihm liegt Model Driven Architecture (MDA) zugrunde, einem Ansatz zur industriellen Softwareentwicklung, der durch das internationale Standardisierungsgremium OMG (Object Management Group) propagiert wird. Die MDA beschreibt, wie durch iterative Verfeinerung von Anwendungsmodellen komplette Software-Systeme entstehen. Durch Code-Generierung aus UML Modellen können Teile der Software-Systeme automatisch erstellt werden, wodurch die Einhaltung von Vorgaben für die Anwendungsarchitektur, sowie von Programmierkonventionen und -Standards forciert werden kann. Außerdem unterstützt die MDA die arbeitsteilige Erstellung von komplexen Software-Systemen. Dies geschieht insbesondere dadurch, dass Anwendungs-Modelle in der MDA in unterschiedlichen Detail-Tiefen bearbeitet werden, die in mehreren Schritten von unter-schiedlichen Team-Mitgliedern verfeinert werden. So kann etwa ein Business Analyst vor Ort ein rein fachliches Modell eines Teils der Anwendung erstellen. Dieses Teil-Modell würde dann von einem technischen Spezialisten verfeinert werden, etwa um Aspekte der Datenhaltung. Dieser Schritt könnte entweder On-Site oder Offshore ausgeführt werden, je nach Kundenanforderungen und technischer Komplexität. Im letzten Schritt würde dann aus dem verfeinerten Modell eine Rumpf-Implementierung generiert werden, die dann beispielsweise von einem Offshore-Entwickler komplettiert werden könnte. Ein technischer Architektur-Spezialist stellt allen Entwicklern ein MDA-Blueprint zur Verfügung, das die System-Architektur des Gesamtsystems bestimmt, welches sich aus einzelnen Anwendungsmodulen zusammensetzt, die mittels MDA aus den fachlichen Teilmodellen abgeleitet wurden.
MDO greift die Konzepte der MDA auf, um die Verteilung der Arbeit in den verschiedenen Teams besser zu koordinieren. Durch die Möglichkeit, Domänen-Teilmodelle in unterschiedlicher Detail-tiefe zu spezifizieren, kann für einzelne Teile des Gesamtsystems bestimmt werden, in welcher Produktionstiefe jeweils vor Ort gearbeitet wird, abhängig von der Komplexität und Wichtigkeit der jeweiligen fachlichen Domäne.


  1. Offshore Software-Entwicklung im Griff
  2. Offshore Software-Entwicklung im Griff (Fortsetzung)

Jetzt kostenfreie Newsletter bestellen!

Matchmaker+