Method Engineering
ist ein Ansatz zur systematischen Entwicklung und Gestaltung von Methoden und Prozessen in Organisationen. Es befasst sich mit dem gesamten Lebenszyklus von Methoden, Analyse, Konstruktion, Implementierung und Evaluierung von Methoden.
Ziel: Prozesse effizienter und effektiver zu gestalten, um einen besseres Nutzen für die Nutzer und die Organisation zu erzielen.
Wie können ITMW entstehen:
Life-Cycle von ITMW
Problem
Entsteht ein Problem, welches zu lösen ist mit Hilfe eines Werkzeugs
Ausprobieren
Durch Probieren wird versucht das Problem zu lösen
Community
Eine Gruppe als Option zur Lösung
Forschung
Wissenschaft als Option zur Lösung
Beratung
Outsourcing als Option zur Lösung
Werkzeuge
Durch Problemstellung entstehen Werkzeuge, die hilfreich sein können
Akzeptanz
Werkzeuge werden von UN akzeptiert & eingesetzt
Normierung
Durch Weiterentwicklungen & Etablierungen wird zur ISO-Norm
IT-Werkzeuge
In Software umgesetzte Methoden, die durch den Einsatz von Informationstechnik erforderlich sind. Werkzeuge erfüllen einen oder mehrere Zwecke.
Enterprise Architecture Management
Unternehmensarchitektur stellt ein aggregiertes Gesamtbild einer Organisation dar mit dem Ziel, die Gesamtzusammenhänge zu strukturieren und gleichzeitig den Korridor für die zukünftige Entwicklung und Gestaltung aufzuzeigen.
EAM im Hype Cycle
Probleme für das IT-Management
Innovation
Mehrwert schaffen
Wettbewerbsfaktor
stabiler Betrieb Kosten sparen
Methode: BPM
Business Process Management ist ein systematischer Ansatz, um sowohl automatisierte als auch nicht automatisierte Prozesse zu erfassen, zu dokumentieren, zu optimieren, auszuführen. zu messen und zu überwachen.
Elemente von Methoden
Aktivität
Planbare Verrichtungseinheit in Ablauffolge, die Ergebnisse erzeugen
Ergebnisse
Input und Output von Aktivitäten, die verändert oder genutzt werden
Rolle
Zusammenfassung von Entwurfsaktivitäten aus Sicht eines Aufgabenträgers
Metamodell
Struktur von Entwurfsdaten über alle Entwurfsergebnisse als Datenmodell
Techniken
Anleitungen, wie Entwurfsergebnisse erzeugt werden können
Arten von Software
Branchen-spezifische Software
Brachen-neutrale Software
Standard-Software
Individual-Software
On-Premise
Software-as-a-Service
Probleme des Kostenmanagements:
Schwierige Kostenverteilung aufgrund vielschichtiger IT-Kosten.
IT oft unter den größten Kostenblöcken.
Verhältnis von Betriebs- zu Investitionsausgaben im Schnitt 80% zu 20%.
Ziel: Mehr Geld für Geschäftsziele durch Verlagerung zu Investitionsausgaben.
Vermeidung von Investitionen, die als Betriebsausgaben realisierbar sind (z.B. durch Cloud Computing oder Outsourcing).
Werkzeugintegration im Hype Cycle
Probleme bei IT-Strategie:
Strategy Execution Gap:
Lücke zwischen Strategieentwicklung und -umsetzung.
Strategy Awareness:
Mangelnde strategische Bewusstheit und Verständnis.
Vorgehensmöglichkeiten bei der Softwareauswahl
SD
Strategie nach Mintzberg
Strategisches Lernen:
Sammeln, analysieren und lernen aus Informationen.
Intendierte Strategie:
Geplante Ziele, Pläne und Maßnahmen der Führung.
Unrealisierte Strategie:
Geplante Aktivitäten, die nicht vollständig umgesetzt wurden.
Emergierende Strategie:
Spontane oder unerwartete Muster von Handlungen oder Entscheidungen.
Absichtliche Strategie:
Bewusste Anpassungen und Entscheidungen als Reaktion auf neue Erkenntnisse.
Realisierte Strategie:
Tatsächlich umgesetzte und gelebte Strategie, resultierend aus der Wechselwirkung der anderen Strategien.
Software-Architektur
Umfasst den Bauplan und die Konstruktionsregeln eines Softwaresystems. Sie kann auf unterschiedlichen Granularitätsebenen spezifiziert werden. Konstruktionsregeln für Softwarearchitekturen werden insbesondere durch Architekturmuster bestimmt.
Architektur-Erosion
Prozess bei dem die Struktur und Qualität der Architektur immer mehr abbaut oder verschlechtert
Durch Zunahme von Kopplung und Komplexität innerhalb des Systems
--> Verlust von Überblick/Durchblick
Entwicklungsteam --> Schwierigkeiten beim Verständnis des Systems
Wartbarkeit und Erweiterbarkeit beeinträchtigt
Kosten durch Architektur-Erosion
Architektur schwerer zu verstehen --> schlecht für Entwicklung von Erweiterungen
Erweiterungen können Nebeneffekte haben
-> erhöhter Zeitaufwand, steigene Kosten
Sinkt Erfüllung der Qualitätsmerkmale
--> Zunahme Fehler & weitere Kosten
Business-IT-Management
Behandelt institutionalisierte Prozesse, Aktivitäten und Rollen.
Umfasst Planung, Entscheidung, Durchführung und Kontrolle des IT-Einsatzes in Unternehmen.
Betont die untrennbare Verbindung von fachlichen und technischen Aspekten.
Große Einheiten vermeiden
Bad Smell (“Gott-Klasse”)
enthält 90% des Quelltextes und ist für alles zuständig
Methoden, die mehrere Bildschirmseiten lang sind
sind schlecht wartbar
Klassen mit mehreren hundert Methoden/Exemplarvariablen
sind meist zu groß
—> Gleichmäßig große Klassen, Packages, Subsysteme und Schichten entwerfen
Test- Methode
Tests sind in der SE unerlässlich
Aber auch aufwändig und teuer
Mit Hilfe von Werkzeugen wird eine hohe Testautomatisierung angestrebt.
ITMW für ITMW
Probleme:
Schnelle Veränderungen
Komplexe Tool-Ökosysteme
Vorherrschende Paradigmen
Geringe Vergleichbarkeit
Unbekannte Anforderungen
Evolution der Werkzeuge
Zweckentfremdung von Werkzeugen
Gegenmittel:
Standardisierung
Visuelle interaktive Analysen
Mitarbeiter-Entwicklung
Zertifizierung
"Train the Trainer" Ansatz
Messen
Co-Development
BPM im Hype Cycle
Architecture Tradeoff Analysis Method (ATAM)
Zweck:
Bewertung und Analyse von Softwarearchitekturen.
Schwerpunkte:
Identifikation von kritischen Architekturszenarien.
Bewertung von Qualitätsattributen
Ziele:
Früherkennung von Risiken und Schwächen in der Architektur.
Unterstützung bei Entscheidungen durch Trade-off-Analysen.
Ableitung von Handlungsempfehlungen für Architekturverbesserungen.
ATAM - Nutzen
Vor allem: Früh identifizierte Risiken
Eindeutige Qualitätsanforderungen
Verbesserte Architekturdokumentation
Dokumentierte Basis für Architekturentschiedungen
Verbesserte Kommunikation zw. Stakeholdern
—> Höhere Qualität der Softwarearchitektur
ATAM-Schritte
Präsentation:
Bewertungsmethode
Stakeholder Methode vorstellen, Bedeutung von Qualitätszielen klarstellen
Geschäftsziele vorstellen
wichtigste Projektziele & Faktoren, die für wirtschaftlichen Erfolg notwendig sind
Architektur präsentieren
Mit Bezug auf vorher genannten Geschäftsziele
Recherche & Analyse:
Architekturansätze identifizieren
Welche Lösungsansätze für welche Einflussfaktoren verwendet, Architekturstile, Muster, keine Analyse
Qualitätsbaum erstellen
Qualitätsmerkmale identifizieren, durch Sezenarien priorisieren
Architekturansätze analysieren (1)
Zusammenhänge zwischen wichtigsten Szenarien & Architekturenentscheidungen herstellen, um zu belgen dass Architektur die Szenarien erfüllen kann
Test:
Szenario-Brainstorming
weitere Szenarien erstellt, mehr Stakeholder einbinden als bei Qualitätsbaumerstellung
Architekturansätze analysieren (2)
wichtigste Szenarien aus vorgängigen Schritt als Grundlage
Auswertung:
Ergebniss präsentieren
auch Risikothemen darstellen
Methode: Kostenmanagement
Finanzplanung
Kostencontrolling
Analysen
Benchmarking
Als Ziel wird häufig die “Bill of IT” genannt, d.h. die Aufschlüsselung einzelner Leistung, deren Beitrag und Kosten. (Gemeinsamkeit mit IT-Service-Management)
Sichten auf Software-Architektur
Fachliche Sicht
Anforderungen, Kooperation & Benutzbarkeit
Statische Sicht
Subsysteme, Schnittstellen,Beziehungen & Verantwortlichkeiten
Verteilungssicht
Rechner, Prozesse & Netzwerke
Laufzeitsicht
Interaktion, Synchronisation & Performanz
Meta-Ebene: Produktlebenszyklus
Software Egineering
Definition
zielorientierte Bereitstellung und systematische Verwendung von Prinzipien, Methoden und Werkzeugen für die arbeitsteilige, ingenieurmäßige Entwicklung und Anwendung von umfangreichen Softwaresysteme
Nicht-funktionale Anforderungen: Klassifizierung nach ISO/IEC
Funktionalität: Angemessenheit, Richtigkeit
Zuverlässigkeit: Reife, Fehlertoleranz
Benutzbarkeit: Verständlichkeit, Erlernbarkeit
Effizienz: Zeitverhalten, Verbrauchsverhalten
Wartbarkeit/Änderbarkeit: Analysierbarkeit, Modifizierbarkeit
Übertragbarkeit: Anpassbarkeit, Austauschbarkeit
Drei Defizite des bestehenden IT-Managements
Der unklare Wertbeitrag der IT
Konzentration auf Informatikmethoden
Die gedankliche und führungstechnische Trennung zwischen Business und IT
ITIL im Hype Cycle
Virtualisierung im Hype Cycle
Docker im Hype Cycle
Docker:
Containerisierungsplattform
Verpackt Anwendungen in eigenständige Container
Vereinfacht Entwicklung und Bereitstellung
Vorgehen für ITMW-Auswahl
1. Vorbereitung
Stakeholder-Analyse
Ist-Situation erheben
Vorgehen festlegen
2. Anforderungen erheben
Features
Szenarien
K.O.-Kriterien
Lastenheft erstellen
3. Marktübersicht
Longlist erstellen
Shortlist erstellen
Request for Information (RFI)
Request for Proposal (RFP)
4. Demonstration
2-3 zur Demonstration
1-2 Testinstallation
Stakeholder Feedback
5. Entscheidung
Preisverhandlungen
6. Einführung
Datenmigration
Schulung
DevOps
ist eine Kultur und Ansatz für die Zusammenarbeit von Entwicklung- und IT-Betriebsteam, um schnellere und effizientere Softwareentwicklung und -bereitstellung zu ermöglichen
Vorteile:
Schnelle Bereitstellung
Bessere Zusammenarbeit
Nachteile:
Einführungskomplexität
Sicherheitsbedenken
Vorteile
Vorteile von DevOps:
Entwickler verbringen weniger Zeit in Meetings mit Operations.
Schnellere Kapazitätsprognosen und Implementierung von Änderungen in der Cloud.
Effizientere Kommunikation
Selbständige Umsetzung in der Cloud
Beschleunigte Prozesse
Virtualisierung
Nachteile
Vorteile der Virtualisierung:
Höhere Auslastung
Geringere Kosten (Strom, Kühlung, Stellplatz)
Vereinfachte Administration
Nachteile der Virtualisierung:
Geringere Leistung
Overhead
Nicht geeignet für spezielle Hardware-Anforderungen
Testpyramide und dazugehörige Werkzeuge
Monitoring und Observability im Hype Cycle
IT-Security in Unternehmen
Veränderung der Bedrohungslage erfordert bessere Schutzmechanismen.
Schwierigkeiten bei der Umsetzung neuer rechtlicher Anforderungen.
Boom im IT-Sicherheitsmarkt mit vielen Anbietern und neuen Ansätzen.
Herausforderung: Teilaspekte werden oft isoliert betrachtet.
Zunehmender Einsatz einzelner Sicherheitstools führt zu Komplexität.
Schwierigkeiten bei der Integration in einen strategischen Rahmen, insbesondere im Kontext der DSGVO (GDPR).
DevOps im Hype Cycle
Reifegradmodell -Methode-
Bewertung von Arbeitsweisen, besonders in Softwareentwicklung.
Unterteilung in Reifegrade als Benchmark.
Messung von Prozessdefinition und -konsistenz.
Höherer Reifegrad = besser implementierter Prozess.
Besser kann bedeuten: dokumentiert, organisationseinweit genutzt, messbare Kennzahlen.
ITIL - Methode
ist ein Rahmenwerk für das IT-Service-Management, das Best Practices und Prozesse für die Bereitstellung und Verwaltung von IT-Services definiert.
Im Fokus: Kosten einsparen, Zuverlässigkeit steigern
Werkzeuge: Prozessmanagement-Tool, Helpdesk- und Incident-Tool und Change- und Configuration-Management-Tool
IT Operations Control (Steuerung des IT-Betriebs) überwacht und steuert die IT Services und die IT Infrastruktur
Monitoring & ITIL
Monitoring:
Methode zur sinnvollen Überwachung von hybriden und Multi-Cloud-IT-Betrieben.
Schlüsselprinzip: "If You Can't Measure It, You Can't Manage It."
ITIL (IT Infrastructure Library):
IT Operations Control: Überwacht und steuert IT-Services und Infrastruktur.
Führt routinemäßige Aufgaben im IT-Betrieb aus.
Enthält Job Scheduling, Backup, Wiederherstellung, Print- und Output-Management, sowie Wartungsarbeiten.
Infrastructure as Code
Vorteile von Infrastructure as Code
Versionierung
Testbarkeit
Wiederholbarkeit
Teilen
Updates
Größenverhältnis und Kopplungsgrad
God Class: Steuerung der Oberfläche, Steuerung der fachlichen Abläufe, Datenbankverbindung
mit Namen {} Manager, {*} Service
Kopplung: Steuerungsklassen benutzen 100-150 andere Klassen
kein objektorientierter sondern ein prozedualer Entwurf
—> Ausgewogene Größenverhältnisse führen zu geringerer Kopplung
Nutzt spezielle systemnahe Software zur Nachbildung von Hardware als virtuelle Maschine.
Virtualisierungssoftware kann auf vollwertigem Betriebssystem (Typ 2) oder direkt auf Hardware (Typ 1) laufen.
Technische IT-Infrastruktur wird immateriell, Ebenen schwer trennbar.
SDLC Secure Development Life-Cycle -Methode-
OWASP Top 10
OWASP Top 10:
Open Web Application Security Project (OWASP): Gemeinschaft für sichere Anwendungen und APIs.
Ziel: Organisationen befähigen, vertrauenswürdige Anwendungen und APIs zu entwickeln, kaufen und pflegen.
Ursprüngliches Ziel des OWASP Top 10-Projekts: Bewusstsein bei Entwicklern und Managern schärfen.
De facto Standard für Anwendungssicherheit geworden.
Last changed10 months ago