-
Data: 2011-12-19 13:16:36
Temat: Re: Porównanie różnych języków
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Dec 19, 12:54 am, bartekltg <b...@g...com> wrote:
> W dniu 2011-12-18 13:14, Andrzej Jarzabek pisze:
>
> > Co do problemu 50 programistów, to XP i (w mniejszym stopniu) Scrum
> > skalują się na wielkość zespołu do powiedzmy 12-16 programistów. Da się
> > je zastosować do większych projektów, pod warunkiem, że da się podzielić
> > zespół. To nie jest takie hop-siup, które można zrobić mechanicznym
> > dzieleniem, bo każdy zespół musi mieć pewną autonomię i być właścicielem
> > swojego codebase: w praktyce musi tworzyć oddzielny "produkt"
> > (komponent), i w takiej sytuacji jeden zespół jest "klientem" drugiego,
>
> Jednym słowem, najpierw trzeba wszytko dobrze i poprawnie wszytko
> zaprojektować, następnie do klocków które nam powstały podesłać
> programistów mówiąc 'róbta XP'.
Nie wiem, co rozumiesz przez "dobrze i poprawnie wszystko
zaprojektować". Jeśli "wszystko" oznacza faktycznie wszystko, tzn.
cały system, każdy z jego komponentów, każdy z podkomponentów tych
komponentów i tak dalej przez wszystkie poziomy, to odpowiedź brzmi
"nie". W wielu przypadkach nie potrzebujesz literalnie wszystkiego
(albo nawet w grubym przybliżeniu wszystkiego) projektować, żeby
stworzyć listę czterech czy pięciu "loosely coupled" komponentów, z
których składać się będzie system - a o tylu mowa, skoro dzielimy 50-
osobowy zespół na zespoły maksymalnie 16-osobowe (licząc tylko
programistów), przy czym być może mamy jeden zespół nie tworzący
żadnego komponentu tylko zajmujący się integracją produktu.
Jeśli "wszystko zaprojektować" znaczy "zaprojektować system jako
całość" - bez wdawania się w szczegóły, to tak.
Jeśli według ciebie "zaprojektować dobrze i poprawnie" znaczy "na
najwyższym możliwym poziomie abstrakcji", czyli powiedzmy narysować na
tablicy pięć prostokątów, reprezentujących logiczne komponenty
projektowanego systemu, wypunktować w każdym w kilku punktach po
jednym zdaniu czym te komponenty mają się zajmować, i ewentualnie
połączyć je jakimiś kreskami czy strzałkami oznaczającymi zależności,
to tak, należy "zaprojektować dobrze i poprawnie". Ale też właśnie XP
(i Agile jakoś tam w ogólności) twierdzi, że takie projektowanie jest
właśnie dobre i poprawne i tak należy robić.
Jeśli "zaprojektować dobrze i poprawnie" dla ciebie oznacza co innego,
to przykro mi, nie potrafię odpowiedzieć na to pytanie, bo umiem
czytać w myślach.
> Bo sensowność mi umyka. Zwłaszcza, że wyrzucamy
> pracowicie zrobiony projekt i nie kodujemy wg jego założeń, ale
> wg tego, co druga grupa z nami konsultuje.
Jaki projekt? Jeśli chodzi o ten projekt, na którym narysowano
prostokąt i napisano w nim powiedzmy "interfejs do systemu SWIFT", to
niby dlaczego zespół robiący interfejs do systemu SWIFT miałby go
wyrzucić?
Uprzedzając: zanim napiszesz, że "czasem się nie da bez zrobienia
dużego, szczegółowego projektu, stwierdzić, jak można sensownie
podzielić system na komponenty tworzone przez autonomiczne zespoły",
to odpowiem - być może czasem się nie da. W takich przypadkach po
prostu nie należy stosować XP. Z mojego doświadczenia wynika, że w
bardzo wielu przypadkach się da, a nawet że często jest to i tak
robione, nawet jeśli nie stosuje się żadnej metodologii agile. To
raczej monolityczne zespoły z 50 programistami są rzadkością, nawet
przy tworzeniu względnie dużych systemów.
Następne wpisy z tego wątku
- 19.12.11 12:45 Roman W
- 19.12.11 13:47 Maciej Sobczak
- 19.12.11 14:04 Stachu 'Dozzie' K.
- 19.12.11 14:34 Andrzej Jarzabek
- 19.12.11 15:38 Roman W
- 19.12.11 15:52 Andrzej Jarzabek
- 19.12.11 16:48 Andrzej Jarzabek
- 19.12.11 16:50 Andrzej Jarzabek
- 19.12.11 18:11 Andrzej Jarzabek
- 19.12.11 22:20 Roman W
- 19.12.11 22:41 Maciej Sobczak
- 19.12.11 23:21 Maciej Sobczak
- 19.12.11 23:56 Roman W
- 20.12.11 00:37 Andrzej Jarzabek
- 20.12.11 01:02 Andrzej Jarzabek
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=