das kommunikations-problem architekten,...
TRANSCRIPT
![Page 1: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/1.jpg)
![Page 2: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/2.jpg)
Das Kommunikations-Problem
Architekten, Entwickler und die Code-Basis
Zusammenfassung
![Page 3: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/3.jpg)
Miteinander, Nebeneinander, Durcheinander – Kommunikation und Koordination in Softwareprojekten
![Page 4: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/4.jpg)
Kommunikation
Übertragung von Informationen
Quelle – Kanal – Senke
Beispiel: Mensch zu Mensch
![Page 5: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/5.jpg)
Experiment
![Page 6: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/6.jpg)
Welche Problem haben Sie erkannt?
Kommunikation ist unsicher!
Explizites und Implizites Wissen
UnvollständigeBeschreibung
MehrdeutigeBeschreibung
UnterschiedlicheBegriffswelten
KontextabhängigeInterpretation
…
![Page 7: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/7.jpg)
Was hat das mit mir zu tun?
Skizze eines kleinen Projekt-Teams
Entwickler
Entwickler
Entwickler
Test
Architekt
Requirements-
Engineer
Operations
„Kunde“
Anwender
Projektleiter
![Page 8: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/8.jpg)
Team A
Team B
Team C
Team …
CCB
TestKunde 1
Kunde 2
Ops
FunctionalTeam
Marketing Management
CS InfraStruct.
![Page 9: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/9.jpg)
Hürden
IndirektionSprachlicheBarrieren
KulturelleDifferenzen
Veränderungenüber die Zeit
Zeitl./RäumlicheTrennung
Erfahrungsabh.Interpretation
Interessens-konflikte
OrganisatorischeTrennung
UnklareStrategie
![Page 10: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/10.jpg)
Hürden
IndirektionSprachlicheBarrieren
KulturelleDifferenzen
Veränderungenüber die Zeit
Zeitl./RäumlicheTrennung
Erfahrungsabh.Interpretation
Interessens-konflikte
OrganisatorischeTrennung
UnklareStrategie
Fehlinterpretationen
Informationsverluste
![Page 11: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/11.jpg)
How Projects Really WorkQuelle: http://www.projectcartoon.com/cartoon/2
![Page 12: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/12.jpg)
How the customerexplained it
How the project leaderunderstood it
How the analystdesigned it
![Page 13: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/13.jpg)
How the programmerwrote it
What the beta testersreceived
How the businessconsultant described it
![Page 14: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/14.jpg)
How the project was documented
What operationsinstalled
How the customer was billed
![Page 15: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/15.jpg)
How it was supported What marketingadvertised
What the customerreally needed
![Page 16: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/16.jpg)
Sind Software-Projektevon Vornherein
zum Scheitern verurteilt?
![Page 17: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/17.jpg)
Software-Projekt = Beherrschung von Komplexität
OrganisatorischSchaffung eines geeigneten Rahmens
FachlichDen Kunden und seine Domäne verstehen
TechnischUmsetzung mit geeigneten
Technologien und Werkzeugen
![Page 18: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/18.jpg)
Ansätze
Grundbegriffe agiler Ansätze
Klare Zuständigkeiten Und Verantwortlichkeiten
Kurze Feedback-Zyklen
Geeignete Besetzungvon Rollen
Abbau organisatorischerBarrieren
Definition undKommunikation
von Zielen und Prinzipien
![Page 19: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/19.jpg)
Miteinander, Nebeneinander, Durcheinander – Kommunikation und Koordination in Softwareprojekten
![Page 20: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/20.jpg)
Entwickler
Entwickler
Entwickler
Test
Architekt
Requirements-
Engineer
Operations
„Kunde“
Anwender
Projektleiter
![Page 21: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/21.jpg)
Großer Umfang (10.000-100.000 Dateien, Mio. LoC)
Unterschiedliche Sichten und Interessen
CodebasisJava-Klassen und Packages
ModuleDatenbank-Skripte
KonfigurationsdateienBuild-Deskriptoren
Versionsverwaltungsystem…
Architekt
Entwickler
Integration
Entwickler
![Page 22: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/22.jpg)
Architekt
Betrachtung auf abstrakter Ebene
funktionale Einheiten und deren Beziehungen
Schnittstellen
Entwickler
Betrachtung auf Detail-Ebene
Klassen, Methoden, Felder, Annotationen
Frameworks, Bibliotheken
Design
Quellcode umfasst mehrere semantische Ebenen
Explizit und implizit Kommunikationsproblem!
![Page 23: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/23.jpg)
Sicht eines Architekten
CORE
Scanner Analysis Report
Plugin
Maven CLI
![Page 24: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/24.jpg)
Sicht eines EntwicklersPlugin
public class CSVFileScannerPlugin extendsAbstractScannerPlugin<FileResource, CSVFileDescriptor> {
@Overridepublic boolean accepts(FileResource item, String path, Scope scope)throws IOException {return path.toLowerCase().endsWith(".csv");
}
@Overridepublic CSVFileDescriptor scan(FileResource item, String path,Scope scope, Scanner scanner) throws IOException {// Open the input stream for reading the file.try (InputStream stream = item.createStream()) {
![Page 25: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/25.jpg)
Verletzung der Architektur
i.d.R. unbeabsichtigt, z.B. fehlendes Wissen
Sehr teuer, wenn zu spät erkannt
CORE
Scanner Analysis Report
Plugin
Maven CLI
![Page 26: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/26.jpg)
Entwickler != Entwickler
Gleiches Problem – Verschiedene Lösungen
System.out.println()
LOGGER.info()
Unverständliche Lösung
for (int i=10; i>0; i--) {
…
}
„Principle of least Surprise“
![Page 27: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/27.jpg)
Festlegung, Kommunikation und Durchsetzung von Regeln
Architektur
Design
Coding-Konventionen
Ziel
Kohärente Strukturen und Namen
Schnelle Orientierung
Einheitliche Design-Muster
Befriedigung von Erwartungshaltungen
Erleichterung von Refactorings
Implementierungen, die zum technologischen Umfeld passen
![Page 28: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/28.jpg)
Rahmenbedingungen
Ständig wachsende Informationsmenge
Personelle Fluktuation
Unterschiedliche Skills und Einstellungen
Zeitdruck
Architekt
Entwickler
Entwickler
![Page 29: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/29.jpg)
Dokumentation
Word, UML, Wiki, …
Ist immer veraltet
Oft nicht einem Softwarestand zuzuordnen
Zusammenführung mit Code
Generierung von Code aus Dokumentation
Modellgetriebene Ansätze
Generierung von Dokumentation aus Code
Entwickler-Dokumentation
Architektur-Dokumentation
Anwender-Dokumentation?
![Page 30: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/30.jpg)
Definition von Verantwortlichkeiten
Nach Funktionalität
Teams mit kompletter Rollenverteilung
Nach Aspekt
Architektur (fachlich)
Architektur (technisch)
Build-/Integrationsmanagement
Pair-Programming und Reviews
Direkte Verteilung von Wissen
Aber: erreicht die Information alle Beteiligten?
![Page 31: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/31.jpg)
Einsatz von Werkzeugen
Statische und dynamische Code-Analysen
Schnellstmögliches Feedback
Quality Gates
IDE
Lokaler Build
CI Build
Report Build
Entwickler
![Page 32: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/32.jpg)
Miteinander, Nebeneinander, Durcheinander – Kommunikation und Koordination in Softwareprojekten
![Page 33: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/33.jpg)
Kommunikation ist fehleranfällig
Verluste, Interpretation, Interessen, …
Softwareprojekte sind komplex
Fachlich, technisch, organisatorisch
Organisatorische Rahmenbedingungen sind wichtigster Faktor für Erfolg/Misserfolg eines Projektes
Abgleich von Organisations- und Projektstrukturen
Nähe zu allen Projektbeteiligten (Kunde bis Operations) schaffen
Schnelle Feedback-Zyklen ermöglichen
![Page 34: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/34.jpg)
Quellcode umfasst verschiedene semantische Ebenen
Nicht alle sind direkt sichtbar
Verschiedene Sichten auf die selben Artefakte
Rollenabhängig
Schaffung von Kohärenz ist elementar
Allen Rollen muss benötigtes Kontextwissen zugänglich sein
Kommunikationsproblem
Ansätze
Dokumentation
Pair-Programming, Reviews
Code-Generierung oder automatisiertes Feedback
![Page 35: Das Kommunikations-Problem Architekten, …st.inf.tu-dresden.de/files/teaching/ws14/ring/Miteinander...Sicht eines Architekten CORE Scanner Analysis Report Plugin Maven CLI Sicht eines](https://reader035.vdocuments.pub/reader035/viewer/2022063006/5fb59f45501f660be50c3518/html5/thumbnails/35.jpg)
buschmais.de
facebook.com/buschmais
twitter.com/buschmais