SlideShare a Scribd company logo
1 of 47
Download to read offline
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

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

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