Architecture assessment
Possible Process (as experienced for defining software maturity level)
Talk with people!
- Figure out what exactly is needed and/or expected.
- Where are overlaps with others`?
- Usually others know the details better. Speak with the people involved (Architects, Devs, QA, RE, PM, PO, ...)
- Just start somewhere
- Check any available assessment model: search for Software quality assessment model, Capability Maturity Model Integration (CMMI), ISO Standards or similar.
- Good start is also to check defined (functional) requirements and quality attributes (non-functional requirements).
- mark what is already there, where is improvement necessary, what is missing (e.g. color code green, orange, red).
- Be concrete:
- What is needed, what do we have.
- Compare with known quality standards and quality attributes.
- Categorize (Foundation <-> Enterprise, Must-Haves <-> Nice-to-Have, Necessary <-> Optional)
- What to look for (Ask people about it & check code, repo, pipelines)
- Are standard components used? Is a standard architecture used?
- Architecture
- Type-safety?
- DB migration
- CI/CD (automation)
- Quality (lint, formatting, style guide, structure)
- Testing
- Dokumentation
- ADR
- SAD
- User manual
- Release-management
- Authorization / Authentication
- Logging, Monitoring, Observability
- PR handling
- More "detailed"/depth
- Auditing
- i18n, a11y
- UX
- API versioning
- Licencing
- Dependency Management / security (see: Vulnerability monitoring)
- Report
- Write everything down that was discussed, decided, identified,
Management Report
Sample table of content
- Management Summary
- Über diesen Report
1. Zielsetzung
2. Zielgruppe
3. Autoren
4. Vorgehen
5. Abgrenzung - Allgemeiner Eindruck
- Grundlagen
- Kein Handlungsbedarf
- Handlungsbedarf
- Dokumentation
- Testfälle
- Automatisiertes Testing
- Linting
- Security Findings
- Pipeline
- Risiken
- Python
- Enterprise Funktionalität
- Kein Handlungsbedarf
- Handlungsbedarf aus RFI
- Role Based Access Control
- i18n (FR 4.7)
- Personalisierbarkeit UI (FR 4.4)
- Speicherung Nutzungsdaten (NFR 3.5)
- Dashboard Systemverantwortliche / Statistik (FR 5.1)
- Feedback-Kanal zu UseCase (FR 5.4)
- DataPool Import
- Handlungsbedarf aus Sicht Enterprise Readyness
- Benutzerhandbuch
- Accessiblity
- User Experience
- White Labeling
- Dependency Management
- License Management
- Weitere Funktionalität
- Handlungsbedarf Backend
- MCP
- Handlungsbedarf Frontend
- Einheitlicher Ansatz im Styling
- Dependencies Update
- Backend Kommunikation
- Cleanup komplexer Codeteile
- Data Mode Router
- Handlungsbedarf Backend
- Aufwandschätzung
- Storypunkte
- Grundlagen
- Enterprise Funktionalität > RFI
- Enterprise Funktionalität > Enterprise Readyness
- Weitere Funktionalität
- Umrechnungsfaktor
- Projekt und Betrieb
- Personentage
- Storypunkte
Beispiel Text - Management Summary
Der Report bewertet die softwaretechnische Qualität von[Project] und zeigt Lücken im Vergleich zu den RFI-Anforderungen sowie Erwartungen an eine Enterprise-Applikation auf. Die Analyse basiert auf Gesprächen und einer Quellcode-Sichtung des Frontends.
Gesamteindruck: Das Projekt macht einen soliden Eindruck, ist gut strukturiert und setzt zentrale Software-Praktiken ein. Die Architektur folgt etablierten Standards.
Verbesserungspotenzial: Es fehlt an vollständiger Dokumentation, Testabdeckung und statischer Analyse (Linting, Security Findings). Für die Enterprise-Readyness sind RBAC, i18n, White Labeling, eine Benutzerdokumentation sowie Massnahmen im Bereich Styling, Accessibility und UX notwendig.
Aufwand: Der geschätzte Aufwand liegt bei 114 Personentagen.