Veröffentlicht: von

Agiler Proof-of-Concept zur Evaluierung von OASP4JS im professionellen Software-Projekteinsatz

Dieses GP-A wird in Zusammenarbeit mit Prof. Stumpf im WS 2015 durchgeführt. Externer Projektpartner ist Capgemini. Nachfolgend finden Sie die Aufgabenbeschreibung.

Problembeschreibung

Unter der Federführung der Beratungs- und IT-Dienstleistungsfirma Capgemini wurde das Open-Source-Projekt Open Application Standard Platform (OASP) ins Leben gerufen. OASP hat es sich zur Aufgabe gemacht, bewährte Open-Source-Frameworks zu einem „Best-of-Breed“-Anwendungspaket zu bündeln. Mit Hilfe von OASP können Softwareprojekte für kostensensitive Kunden (z.B. öffentliche Auftraggeber) ohne Zeitverlust durch die sonst übliche „Technologie-Findungsphase“ realisiert werden. Außerdem vermeidet man technologischen Wildwuchs, da OASP eine in sich konsistente Basisarchitektur darstellt. Zufallsarchitektur (Accidental Architecture) wird so zumindest bei der Technologieplattform vermieden.

Zusätzlich zum Basis-Stack in OASP (http://oasp.github.io/) existiert auch eine JavaScript-Variante OASP for JavaScript (OASP4JS, http://oasp.github.io/oasp4js/oasp4js_overview.html), die auf dem Google-Framework AngularJS basiert. OASP4JS ist als Plattform für Open-Source-basierte Webanwendungen konzipiert.

Professionelle Webanwendungen müssen den Anforderungen von „Power-Usern“ an herkömmliche Rich Clients genügen (z.B. Tastaturbedienung, schnelle Reaktionszeiten). In Zusammenarbeit mit Capgemini soll dieses Projekt in einem „Proof of Concept“ klären, ob das AngularJS-basierte OASP4JS diesem Anspruch genügt. Bei einem Erfolg des Projekts werden die Ergebnisse seitens Capgemini in die Umsetzungsentscheidungen bei öffentlichen Softwareprojekten einfließen.

Projektbeschreibung

In Teams von 4-5 Studierenden wird ein Proof-of-Concept-Projekt realisiert.

  • Navigationsmöglichkeit in verschiedene Funktionsbereiche des Systems
  • Suche zum schnellen Aufrufen verwalteter Objekte
  • Detailansicht für Objekte mit Gliederung durch Rahmen
    • Jeweils adäquate Darstellung verschiedenartiger Attribute
  • Bearbeitungsmaske für Objekte mit Feldern für verschiedenartige Attribute
    • Kleine Listen für referenzierte Objekte
  • Listenansicht mit Möglichkeit zum Filtern, Selektieren, Sortieren, Blättern und Inline-Darstellung für zusammengesetzte Informationen
  • Modellgetriebene Generierung von Nutzeroberflächen

Der Gegenstand des Projekts wird ein hypothetisches Entwicklungsprojekt für einen öffentlichen Auftraggeber sein.

Die Umsetzung des Projekts sowie die Erstellung des Evaluationsberichts wird nach agiler Methodik erfolgen. Die agilen Teamprozesse werden gemäß Typ-A-Definition von Prof. Stumpf und seinem Team methodisch begleitet. Die agilen Teams wählen jeweils einen Scrum Master und einen Product Owner.

Das Projekt wird in (vermutlich dreiwöchige) Sprints gegliedert. Ein Vertreter von Capgemini wird bei den Entwicklungs-Demos am jeden Sprints als Kunde zugegen sein. Prof. Bente wird das zusätzlich eine kurze Einführung in agile Entwicklungsprozesse geben, und als Ansprechpartner für Fragen der agilen Methodik verfügbar sein.

Learning Outcomes

  • Erfahrungen mit dem Prozess der Software-Entwicklung
  • Methodik zur systematischen Evaluierung von Software-Technologien
  • Erfahrungen mit Erstellung von AngularJS-basierten Webanwendungen
  • Erfahrung mit agiler Entwicklungsmethodik in einem realistischen Softwareprojekt
  • Expertise in Kommunikation und Dokumentation
  • Teamwork- und Projektmanagement-Erfahrung

Voraussetzungen

  • Programmierkenntnisse
  • Interesse an der Softwarearchitektur sowie Gestaltung von Nutzeroberflächen
  • Interesse an komplexen Aufgabenstellungen und methodischem Vorgehen
  • Bereitschaft, Teamarbeit tatsächlich physisch gemeinsam (im gleichen Raum, „collocated“) durchzuführen, um zu einem agilen Team zu reifen

Externe Projektpartner

Capgemini