SlideShare uma empresa Scribd logo
1 de 57
Baixar para ler offline
Evolving Architecture
@dpokusa
https://commons.wikimedia.org/wiki/File:Tecnology_Life_Cycle.png
Quality means doing it right
when no one is looking
- Henry Ford
CZAS
FUNKCJONALNOŚĆ
ZASOBY
CZAS
FUNKCJONALNOŚĆ
ZASOBY
CZAS
FUNKCJONALNOŚĆ
ZASOBY
CZAS
FUNKCJONALNOŚĆ
ZASOBY
JAKOŚĆ
CZASFUNKCJONALNOŚĆ
ZASOBY
JAKOŚĆ
CZASFUNKCJONALNOŚĆ
ZASOBY
JAKOŚĆ
CZASFUNKCJONALNOŚĆ
ZASOBY
JAKOŚĆ
CZASFUNKCJONALNOŚĆ
ZASOBY
fot. Iza Janoszek, Radio Eska
OVERDESIGN
DIE
DRYDIE
UNDERDESIGN
KISS
YAGNIKISS
TECHNOLOGY FREEDOM
TECHNOLOGY PRISON
READABILITY CONSIDERATIONS
EXECUTION TIME
PREPARATION TIME
MAINTENANCE TIME
P + (N*E) + M
P + (N*E) + M
P + (N*E) + M
WASTE
P + (N*E) + M
Profit*
WASTE
(N*E) > P + M
?
>
BALANCE
SEPARATION
1. Klient zawsze oczekuje jakości,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
7. Pisz biblioteki, nie frameworki,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
7. Pisz biblioteki, nie frameworki,
8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
7. Pisz biblioteki, nie frameworki,
8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość,
9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
7. Pisz biblioteki, nie frameworki,
8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość,
9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania,
10. Korzystaj z testów automatycznych zgodnie z ich przeznaczeniem,
1. Klient zawsze oczekuje jakości,
2. Jakość nie jest wartością 0:1,
3. Podejmuj decyzje najpóźniej jak to możliwe,
4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
5. Nigdy nie zapominaj o refaktoryzacji,
6. "Scrappy" zostanie na dłużej niż sądzisz,
7. Pisz biblioteki, nie frameworki,
8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość,
9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania,
10. Korzystaj z testów automatycznych zgodnie z ich przeznaczeniem,
11. Nie traktuj testów jako odrębnego bytu.
ABOUT
software-empathy.pl
@dpokusa
@dpokusa
ABOUT
SPREADIT.PL
18 LISTOPADA 2017
Q&A

Mais conteúdo relacionado

Mais de Future Processing

Mais de Future Processing (20)

DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdfDPTO_Inżynieria oprogramowania to proces uczenia się.pdf
DPTO_Inżynieria oprogramowania to proces uczenia się.pdf
 
DPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdfDPTO_QA w świecie wartości biznesowych.pdf
DPTO_QA w świecie wartości biznesowych.pdf
 
DPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdfDPTO_Hello_Clean_Architekture.pdf
DPTO_Hello_Clean_Architekture.pdf
 
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
[Quality Meetup #20] Michał Górski - Continuous Deployment w chmurze
 
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
[Quality Meetup #20] Dorota Tadych - Hyperion - wystarczy jeden shake
 
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
[Quality Meetup #19] Magdalena Drechsler-Nowak - Tester w pułapce myślenia
 
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
[Quality Meetup #19] Adrian Gonciarz - Testerska ruletka
 
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
[FDD 2018] Krzysztof Sikora - Jak Service Fabric rozwiąże twoje problemy z mi...
 
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
[FDD 2018] Ł. Turchan, A. Hulist, M. Duchnowski - CUDA - results over coffee ...
 
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain[FDD 2018] Lech Kalinowski - Prywatny Blockchain
[FDD 2018] Lech Kalinowski - Prywatny Blockchain
 
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
[FDD 2018] W. Malara, K. Kotowski - Autoenkodery – czyli zalety funkcji F(X)≈X
 
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
[FDD 2018] Jarosław Ogiegło - Ludzie, zabezpieczajcie się! Wprowadzenie do OA...
 
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
[JuraSIC! Meetup] Krzysztof Sikora- Jak Service Fabric rozwiąże twoje problem...
 
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
[JuraSIC! Meetup] Mateusz Stasch - Monady w .NET
 
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
[QE 2018] Aleksandra Kornecka – Kognitywne podejście do testowania aplikacji ...
 
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
[QE 2018] Adam Stasiak – Nadchodzi React Native – czyli o testowaniu mobilnyc...
 
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
[QE 2018] Łukasz Gawron – Testing Batch and Streaming Spark Applications
 
[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation[QE 2018] Marek Puchalski – Web Application Security Test Automation
[QE 2018] Marek Puchalski – Web Application Security Test Automation
 
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester[QE 2018] Rob Lambert – How to Thrive as a Software Tester
[QE 2018] Rob Lambert – How to Thrive as a Software Tester
 
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
[QE 2018] Paul Gerrard – Automating Assurance: Tools, Collaboration and DevOps
 

[QE 2017] Daniel Pokusa - Architektura, która ewoluuje