SlideShare a Scribd company logo
1 of 14
Jak znaleźć wadę projektu?
 Wada projektu, wiadomo, droga sprawa.
 FooBarCamp 2012
 Z perspektywy nowego?
 Trywialne
 Albo wręcz przeciwnie :­P
 Wada projektu... znaczy?
 Czym jest wada projektu?
 Jak jej szukać?
Raczej przed niż po
 Problem w tym, że zwykle szukamy PO.
Szukanie PO...
 Jest jak pisanie testów PO, a nie PRZED:
 Po co, skoro działa? Są lepsze rzeczy do roboty.
 Szukajcie, a znajdziecie!
 Skrzywiona percepcja, pospieszne wyciąganie 
wniosków.
Szukanie PRZED...
Dobra architektura...
Znaczy, skąd wiesz?
Tomasz Borek
LAFKblogs @ wordpress.com
@LAFK_pl
LAFK
Wrocław,
20 czerwca 2013
GigaCon – DevCon
Skąd wiesz
 Jak bliski jesteś pożaru?
 Jak duży jest Twój system?
 Jakie wady ma Twój projekt?
 Czy Twoja architektura:
  jest reużywalna?
 się skaluje?
 obsłuży 1000 użytkowników na sekundę?
...
 Czy jest dobra dla potrzeb Twoich i Twoich 
klientów?
Albo mierzysz na bieżąco...
Albo nie wiesz.
Powtórzmy
 Błąd projektu często zabija system.
 Dobra architektura, wada projektu – zależy od 
przyjętych kryteriów (NF­y, albo ang. ­ilities).
 Wiedzieć = mierzyć, wizualizować. Na bieżąco.
 Co mierzyć? Zależy od Waszych potrzeb / celów.
JAK mierzyć
 SAAM
 ATAM
 SALUTA
 NPS
 Złożoność McCabe'a
 Metoda Mikado
 Logi kontroli wersji
 Wizualizacje
 Dług techniczny
Dług graficznie
Złożoność McCabe'a
 Ilość ścieżek przez kod (if, switch...)
 Wpływa na ilość błędów 
Ca. 70 => 90% certainty a bug
exists in that code
Metoda Mikado
Kwadrant FeathersaMcCabe's
cyclomatic
complexity
Design Flaw
Tools
Awkward... but stable
Breeding grounds
Nr of changes
Podsumowując
 Mierzyć warto, a nawet trzeba
 Istotne po co i dla kogo
 Grupowe metody: SAAM, ATAM, SALUTA, NPS
 Dla każdego: kwadrant Feathersa, Mikado, 
złożoność McCabe'a
 Architektura / projekt powinny spełniać postawione 
kryteria (patrz: wymagania niefunkcjonalne)
Pytania?
Tomasz Borek
LAFKblogs @ wordpress.com
@LAFK_pl
LAFK
Wrocław,
20 czerwca 2013
GigaCon – DevCon
Dzięki, i do
zobaczenia!

More Related Content

Similar to Dev con wrocław_2013

Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
krakspot
 
Strefa PMI, nr 44, marzec 2024
Strefa PMI, nr 44, marzec 2024Strefa PMI, nr 44, marzec 2024
Strefa PMI, nr 44, marzec 2024
Strefa PMI
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
Infoshare
 
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
Biznes 2.0
 

Similar to Dev con wrocław_2013 (20)

Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
Open Source - czy aby napewno zło?” - Piotr Pyciński, KrakSpot#5
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karierę
 
Strefa PMI, nr 44, marzec 2024
Strefa PMI, nr 44, marzec 2024Strefa PMI, nr 44, marzec 2024
Strefa PMI, nr 44, marzec 2024
 
Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
O randce projektanta i użytkownika, czyli jak projektować produkty, które ...
O randce projektanta i użytkownika, czyli jak projektować produkty, które ...O randce projektanta i użytkownika, czyli jak projektować produkty, które ...
O randce projektanta i użytkownika, czyli jak projektować produkty, które ...
 
Od Czarnoksiężnik z krainy Oz do modeli na produkcji
Od Czarnoksiężnik z krainy Oz do modeli na produkcjiOd Czarnoksiężnik z krainy Oz do modeli na produkcji
Od Czarnoksiężnik z krainy Oz do modeli na produkcji
 
Projekty na czas
Projekty na czasProjekty na czas
Projekty na czas
 
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
infoShare 2014: Witold Bołt, Bartosz Zięba, Skok na naderwanym bungee, czyli ...
 
Skok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacjiSkok na naderwanym bungee, czyli agile bez automatyzacji
Skok na naderwanym bungee, czyli agile bez automatyzacji
 
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiInfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacji
 
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
Jak skutecznie wykorzystać badania w procesie projektowania serwisów internet...
 
Skuteczne wykorzystanie badań w projektowaniu użytecznych produktów
Skuteczne wykorzystanie badań w projektowaniu użytecznych produktówSkuteczne wykorzystanie badań w projektowaniu użytecznych produktów
Skuteczne wykorzystanie badań w projektowaniu użytecznych produktów
 
Czy UX Designer musi znac wszystkie odpowiedzi?
Czy UX Designer musi znac wszystkie odpowiedzi?Czy UX Designer musi znac wszystkie odpowiedzi?
Czy UX Designer musi znac wszystkie odpowiedzi?
 
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -..."Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
"Zagrożenia w stosowaniu technologii open-source w projektach komercyjnych" -...
 
Szarlatani UX – o zgubnej roli projektantów
Szarlatani UX – o zgubnej roli projektantówSzarlatani UX – o zgubnej roli projektantów
Szarlatani UX – o zgubnej roli projektantów
 
Dwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędówDwa sposoby na pisanie aplikacji bez błędów
Dwa sposoby na pisanie aplikacji bez błędów
 
Narzędzia: Scrum. Czy gamedev jest agile?
Narzędzia: Scrum. Czy gamedev jest agile?Narzędzia: Scrum. Czy gamedev jest agile?
Narzędzia: Scrum. Czy gamedev jest agile?
 
Prototypowanie
PrototypowaniePrototypowanie
Prototypowanie
 
Dzień Otwarty IBM - juz 30 listopada w Krakowie
Dzień Otwarty IBM -  juz 30 listopada w KrakowieDzień Otwarty IBM -  juz 30 listopada w Krakowie
Dzień Otwarty IBM - juz 30 listopada w Krakowie
 
Codility, Paweł Banaszek
Codility, Paweł BanaszekCodility, Paweł Banaszek
Codility, Paweł Banaszek
 

More from Tomek Borek

Architecture visualizers - tools usability study
Architecture visualizers - tools usability studyArchitecture visualizers - tools usability study
Architecture visualizers - tools usability study
Tomek Borek
 

More from Tomek Borek (20)

Noc informatyka - co ja wiem o testowaniu
Noc informatyka - co ja wiem  o testowaniuNoc informatyka - co ja wiem  o testowaniu
Noc informatyka - co ja wiem o testowaniu
 
Teaching PostgreSQL to new people
Teaching PostgreSQL to new peopleTeaching PostgreSQL to new people
Teaching PostgreSQL to new people
 
Nowoczesne architektury
Nowoczesne architekturyNowoczesne architektury
Nowoczesne architektury
 
Java tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy devJava tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy dev
 
Jvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUGJvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUG
 
Java Memory Consistency Model - concepts and context
Java Memory Consistency Model - concepts and contextJava Memory Consistency Model - concepts and context
Java Memory Consistency Model - concepts and context
 
AR drone - Polish JUG short demo
AR drone - Polish JUG short demoAR drone - Polish JUG short demo
AR drone - Polish JUG short demo
 
Testing SAAS, how to go about it?
Testing SAAS, how to go about it?Testing SAAS, how to go about it?
Testing SAAS, how to go about it?
 
Spróbujmy szczęścia bo zaciskanie pięści nie działa
Spróbujmy szczęścia bo zaciskanie pięści nie działaSpróbujmy szczęścia bo zaciskanie pięści nie działa
Spróbujmy szczęścia bo zaciskanie pięści nie działa
 
Lightning talk on Java Memory Consistency Model Java Day Kiev 2014
Lightning talk on Java Memory Consistency Model Java Day Kiev 2014Lightning talk on Java Memory Consistency Model Java Day Kiev 2014
Lightning talk on Java Memory Consistency Model Java Day Kiev 2014
 
Few words about happiness (Polish talk) / O szczęściu słów kilka
Few words about happiness (Polish talk) / O szczęściu słów kilkaFew words about happiness (Polish talk) / O szczęściu słów kilka
Few words about happiness (Polish talk) / O szczęściu słów kilka
 
Jak użytecznie, prawdziwie i solidnie odpowiedzieć na pytanie "jak było"
Jak użytecznie, prawdziwie i solidnie odpowiedzieć na pytanie "jak było"Jak użytecznie, prawdziwie i solidnie odpowiedzieć na pytanie "jak było"
Jak użytecznie, prawdziwie i solidnie odpowiedzieć na pytanie "jak było"
 
To nie zawsze wina aplikacji!
To nie zawsze wina aplikacji!To nie zawsze wina aplikacji!
To nie zawsze wina aplikacji!
 
Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria opti...
Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria opti...Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria opti...
Wprowadzenie do optymalizacji wielokryterialnej / Intro to multicriteria opti...
 
Git nie dla początkujących
Git nie dla początkującychGit nie dla początkujących
Git nie dla początkujących
 
Architecture visualizers - tools usability study
Architecture visualizers - tools usability studyArchitecture visualizers - tools usability study
Architecture visualizers - tools usability study
 
"Narco" emotions - description of study on whether Twitter can be used to gle...
"Narco" emotions - description of study on whether Twitter can be used to gle..."Narco" emotions - description of study on whether Twitter can be used to gle...
"Narco" emotions - description of study on whether Twitter can be used to gle...
 
Polish Java User Group - One Beer Talks - Ubung macht den Meister
Polish Java User Group - One Beer Talks -  Ubung macht den MeisterPolish Java User Group - One Beer Talks -  Ubung macht den Meister
Polish Java User Group - One Beer Talks - Ubung macht den Meister
 
Confitura 2013
Confitura 2013Confitura 2013
Confitura 2013
 
Wesele
WeseleWesele
Wesele
 

Dev con wrocław_2013