Z czym mierzą się zespoły?
Michał Bartyzel
mbartyzel.blogspot.com
@MichalBartyzel
Podsumowanie
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Znam najlepsze sposoby na
wszystkie problemy w
wytwarzaniu oprogramowania
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Technologie wciąż potykają się
o te same problemy
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
„Biznes” znajduje się w głowie
klienta
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Techniki refaktoryzacji to za mało,
aby zrobić cokolwiek użytecznego
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
*-Driven * nieczego nie zmienią
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kluczem do Software
Craftsmanship są umiejętności
lingwistyczne
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
• Java
• XP/Scrum
• TDD
• OOP, SOLID, GoF, PEAA, POSA
• CI
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Pierwsze obserwacje
Warstwa usług
Warstwa prezentacji
Java, .NET, Delphi
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Wciąż bałagan i brak testowalności…
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Blog: Presentation Layer Under Control
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kiedyś wystarczyło
wszystko porządnie
nazwać i wiadomo
było, o co chodzi…
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Technologie wciąż potykają się
o te same problemy
jedne rozwiązują
inne tworzą
dopóki nie zmienią paradygmatu
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kontrakt „życia”
Zaprojektować architekturę systemu
ERP w firmie budowlanej
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
i jeszcze jeden podobny przypadek
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
i jeszcze jeden…
Jakiego narzędzia użyć?
Jakiej metodyki użyć?
No, a modelowanie??
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
„Biznes” znajduje się
w głowie klienta
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Był sobie system….
• 12 lat
• ~2 MLOC
• C++ => Java
• public class… => ~40 kLOC
• Kontrakt: Tego się nie da rozwijać, zróbcie coś….
Quiz: Których refaktoryzacji użyć?
a) Move Method?
b) Rename Variable?
c) Replace Constructor with Factory?
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Cel refaktoryzacji?
1. Zatrzymaj dalsze psucie
2. Naprawiaj
youTube: Strategiczna Refaktoryzacja
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
infoQ: Natural Course of Refactoring – a Refactoring Workflow
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Dostarczanie to jeden proces
Rozwój architektury drugi
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Techniki refaktoryzacji to za mało,
aby zrobić cokolwiek użytecznego
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Rich Domain Model zdobywa salony!
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
• Zbyt dużą odpowiedzialność entities
• Brak value objects
• Mnożenie metod zamiast ich domykania
– order.purchase();
– order.purchaseAndDicount(couponId);
– order.purchaseWith(coupon);
Wniosek
W głowach programistów brakuje słów
do nazywania elementów modelu
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Czy masz kontakt z
ekspertem domenowym?
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kto wymyśla *-Driven * ?
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
infoQ: *-Driven* do not change anything
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
*-Driven * nieczego nie zmienią
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
• Ubiquitous Language
• Bounded Context
Quiz: Jakie jest schorzenie
zawodowe programistów?
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Nazwa klasy cLOC
LocationManager 26 752
NetworkItem 10 955
TransferOperations 6 871
CalculatorsManager 4 325
MonitorManager 1 514
VTViewInvoker 48
ContactService 47
Address 34
DataRange 21
LoggedUserDetailsModel 13
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kluczem do Software
Craftsmanship są umiejętności
lingwistyczne
S.O.L.I.D
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
infoQ: Conversation Patterns for Software Professionals. Part 1
infoQ: Conversation Patterns for Software Professionals. Part 2
infoQ: Conversation Patterns for Software Professionals. Part 3
Podsumowanie
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Znam najlepsze sposoby na
wszystkie problemy w
wytwarzaniu oprogramowania
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Technologie wciąż potykają się
o te same problemy
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
„Biznes” znajduje się w głowie
klienta
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Techniki refaktoryzacji to za mało,
aby zrobić cokolwiek użytecznego
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
*-Driven * nieczego nie zmienią
2015
2014
2013
2012
2011
2010
2009
2008
….
2004
Kluczem do Software
Craftsmanship są umiejętności
lingwistyczne
Z czym mierzą się zespoły?
Michał Bartyzel
mbartyzel.blogspot.com
@MichalBartyzel

JDD2015: Z czym mierzą się zespoły? - Michał Bartyzel