Ziel des Vortrags ist es ein Gefühl für Themen außerhalb der reinen Programmierung zu schaffen. Hierbei siollen vor allem die Auswirkungen wichtiger Entscheidungen herausgearbeitet werden. Zielgruppe: Studierende
2. 211.06.2020ZEISS Digital Innovation, Hendrik Lösch
Sprecher
Hendrik Lösch
Senior Consultant
@HerrLoesch
hendrik.loesch@zeiss.com
hendrik-loesch.de
3. 311.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Gruppe
ZEISS weltweit
31.260
Mitarbeiter
Standorte weltweit (gerundet)
100
Länder (gerundet)
50
4. 411.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Gruppe
Zukunft gestalten
Sparten
der ZEISS Gruppe
Semiconductor Manufactoring
Technology
Semiconductor Manufactoring
Optics
Semiconductor Mask Solutions
Process Control Solutions
Industry Quality & Research
Industrial Quality Solutions
Research Microscopy Solutions
Medical Technology
Ophthalmic Devices
Microsurgery
Consumer Markets
Vision Care
Consumer Products
5. 511.06.2020ZEISS Digital Innovation, Hendrik Lösch
ZEISS Digital Innovation
Strategische Synergien schaffen
Innovative Digitalisierungsprojekte mit und für die Kunden von ZEISS
Sparten
der ZEISS Gruppe
Semiconductor Manufactoring
Technology
Industry Quality & Research Medical Technology Consumer Markets
6. 611.06.2020ZEISS Digital Innovation, Hendrik Lösch
300feste Mitarbeiter
in Deutschland und Ungarn
30
Jahre Erfahrung in
Individualsoftware-
entwicklung
7
Standorte
in München, Dresden, Berlin,
Hamburg, Leipzig, Görlitz und
in Miskolc (Ungarn)
ZEISS Digital Innovation
Unsere Erfahrung in Zahlen
10
Jahre agiles
Management
11. 1111.06.2020ZEISS Digital Innovation, Hendrik Lösch
Quelle: Ron Jeffries http://xprogramming.com/articles/refactoring-not-on-the-backlog
Schlechter Code
12. 1211.06.2020ZEISS Digital Innovation, Hendrik Lösch http://www.objectmentor.com/resources/articles/dip.pdf
Schlechter Code
• It is hard to change because every change affects too many other parts of
the system. (Rigidity - Starr)
• When you make a change, unexpected parts of the system break. (Fragility -
Zerbrechlich)
• It is hard to reuse in another application because it cannot be disentangled
from the current application. (Immobility - Unbeweglich)
13. 1311.06.2020ZEISS Digital Innovation, Hendrik Lösch
• It is hard to change because every change affects too many other parts of
the system. (Rigidity - Starr)
• When you make a change, unexpected parts of the system break. (Fragility -
Zerbrechlich)
• It is hard to reuse in another application because it cannot be disentangled
from the current application. (Immobility - Unbeweglich)
• It is hard to test because it cannot be disentangled from the current
application.
Schlechter Code
26. 2611.06.2020ZEISS Digital Innovation, Hendrik Lösch
Martin Fowler http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
Ward Cunningham
rücksichtslos umsichtig
überlegt
versehentlich
„Wir haben
keine Zeit für
ein Design.“
„Wir müssen jetzt
liefern und uns
später um die
Konsequenzen
kümmern.“
„Jetzt wissen wir
wie wir es hätten
machen müssen.“
„Layer? Was ist
das?“
Technische Schulden
27. 2711.06.2020ZEISS Digital Innovation, Hendrik Lösch
Anpassbarkeit
Business Value
Featureentwicklung mit
geringem Qualitätsanspruch
Featureentwicklung
unter hohem Zeitdruck
Umfassende
Restrukturierung inkl.
neuer Features
Einsatz von
Refactoring
Start der
Entwicklung
Anpassbarkeit vs. Business Value
29. 2911.06.2020ZEISS Digital Innovation, Hendrik Lösch
Quelle: Softwareevolution Erhaltung und Fortschreibung bestehender Softwaresysteme, Harry M. Sneed, Richard Seidl
Entwicklung
Weiter-
entwicklung
Weiter-
entwicklung
Weiter-
entwicklung
Stabilisierung Optimierung Sanierung
Stabilisierung
Stabilisierung
Optimierung
t in Jahren
Aufgaben
30. 3011.06.2020ZEISS Digital Innovation, Hendrik Lösch
Entwicklung
Weiter-
entwicklung
Weiter-
entwicklung
Weiter-
entwicklung
Stabilisierung
Optimierung
Sanierung
Stabilisierung
Stabilisierung
Optimierung
t in Jahren
Aufgaben und Leistungsfähigkeit
LeistungsvermögendesTeams
32. 3211.06.2020ZEISS Digital Innovation, Hendrik Lösch
Development Costs
Operating Costs
Costs
t
Close
Down
ServicingEvolutionInitial Development Phase Out
Phasen & Kosten
33. 3311.06.2020ZEISS Digital Innovation, Hendrik Lösch
Fehlerkosten
Fehlerkosten
Prozessfortschritt
Automatisierte Tests
Manuelle Tests
Abnahme durch Fachbereich
Produktiveinsatz Fachbereich
Auswirkungen auf Endkunden
Entwicklungsintern
Extern