1. Übersicht und Formales
Moderne Softwareentwicklung
Das Projekt wird durch ein agiles, modellgeleitetes Vorgehen mit iterativen und inkrementellen Entwicklungsschritten geleitet und schließt die kontinuierliche Interaktion mit realen Stakeholdern ein.
Es besteht während sämtlicher Entwicklungsphasen enger Kontakt zu Assistenznehmer*innen im Arbeitgebermodell, Mitarbeiter*innen von Assistenzdienstleistungsfirmen und Assistent*innen. Neben den Stakeholder-Interviews dienen Beobachtungen, die während realer Dienstplanungen und Teamgespräche gemacht wurden, als Grundlage für die Anforderungsanalyse.
Schlüsselszenarien und umfangreiche Anwendungsfälle determinieren die Systemanforderungen. Ihre Identifikation folgt zunächst einem deskriptiven Ansatz mit Fokus auf die Benutzer*innen-Perspektive und wird anschließend mittels UML-Modellierungen in ein Software-Konzept überführt.
Hinweise zur formalen Gestaltung
Formale Klarheit
Die Dokumentation legt besonderen Wert auf formale Klarheit und eine wissenschaftliche Arbeitsweise. Dazu zählen umfangreiche Literaturrecherchen und Quellennachweise, der Einsatz einer präzisen und eindeutige Sprache und die konsequente Anwendung von Fachterminologie. So werden beispielsweise bei der Formalisierung der Anforderungen eindeutige Prozesswörter definiert, um interpretative Spielräume und Bedeutungsverschiebungen zu minimieren. Formale Klarheit unterstützt eine effektive Kommunikation zwischen allen Projektbeteiligten und reduziert das Risiko von Missverständnissen.
Quellennachweise
Für Literaturreferenzen wird in Fällen von nachweispflichtigen Tatsachenbehauptungen und Zitaten (direkt oder indirekt) die Oxford-Zitierweise verwendet. Das heißt, dass Quellennachweise - wo nötig - mittels Klammernotation im Text eingebunden werden. Zusätzlich werden referenzierte Quellen am Ende der entsprechenden Textblöcke verlinkt und im Kapitel Ressourcen unter Literatur gesammelt aufgeführt. Dies gilt auch für weiterführende Informationsangebote, die nicht direkt im Text referenziert werden.
Diskriminierungssensible Sprache
Diskriminierende Ausdrücke werden zugunsten inklusiver Formulierungen, die unterschiedliche Perspektiven berücksichtigen, vermieden. Für die gleichberechtigte Ansprache aller Geschlechter wird der sogenannte Genderstern verwendet, der neben Frauen und Männern auch nicht-binäre Personen einschließt.
Deutsch und Englisch
Der Assistenzplaner wird für den deutschsprachigen Raum entwickelt. Deshalb ist Deutsch die vorherrschende Sprache für die Kommunikation mit den Stakeholdern, die Anforderungsanalyse, die Dokumentation und den Product-Pitch. Bei den Modellierungen zur Anforderungs- und Softwarespezifikation sind diejenigen Modelle, die zur Stakeholder-Kommunikation verwendet werden, in deutscher Sprache verfasst.
Im weiteren Verlauf der technischen Spezifizierung, bei der Implementierung der Webseiten und der App sowie in der Projektorganisation mittels GitHub Project Kanban Boards wird hingegen vorwiegend auf Englisch gearbeitet.
Entwicklungsphasen
Die Timeline zeigt die Phasen des Projekts und ist an den Ablauf klassischer Softwareentwicklungs-Projekte angelehnt. Der tatsächliche Ablauf ist jedoch nicht linear, sondern explizit agil und iterativ. Artefakte aus früheren Entwicklungsphasen werden laufend verbessert und Ergebnisse iterativ an das Feedback der Stakeholder angepasst.
RECHERCHE
- Themenfeldanalyse
- Stakeholder-Interviews
- Literaturrecherche
- Domänenmodell
- Beobachtung der Dienstplan-Erstellung
- Deskriptive HTA der Dienstplan-Erstellung
- Identifikation von (Teil-)Problemen
ANALYSE
- Stakeholder-Analyse
- Identifikation und Darstellung relevanter Szenarien (narrativ und als Experience Map)
- Identifikation relevanter Erfordernisse
- User-Profiles und Personas
ZIELSPEZIFIKATION
- Fokus festlegen (Dienstplan-Erstellung)
- Konkurrenzanalyse
- Selektieren und Verfeinern relevanter Erfordernisse aus der Analyse
- Erste Mockups
- Vorbereitung des Product-Pitch
- Stakeholder-Feedback
ENTWURF
- Festhalten und Formalisieren funktionaler Anforderungen
- Identifikation globaler und inkludierter Anwendungsfälle
- UML-Anwendungsfalldiagramme
- UML-Aktivitätsdiagramme
- UML-Domänenklassenmodell
DESIGN
- Identifikation und Formalisierung nicht-funktionaler Anforderungen
- CRUD-Matrix
- UML-Klassendiagramm der Softwarespezifikation
- UML-Sequenzdiagramme
- UML-Zustandsdiagramm
IMPLEMENTIERUNG
- Definition der technischen Anforderungen
- Technologie-Auswahl
- Sprint-Ziele für Produktinkremente
- Abnahme- und Erfolskriterien
QUALITÄTSSICHERUNG
- Qualitätskriterien
- Vorstellung der funktionalen Prototypen
- Usability-Tests
- Stakeholder-Feedback