-
Path: news-archive.icm.edu.pl!news.gazeta.pl!not-for-mail
From: Andrzej Jarzabek <a...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: ilu jest programistow na swiecie?
Date: Tue, 17 May 2011 22:20:12 +0100
Organization: "Portal Gazeta.pl -> http://www.gazeta.pl"
Lines: 96
Message-ID: <iquoqb$ijm$1@inews.gazeta.pl>
References: <iqjp8e$led$1@inews.gazeta.pl> <iqpak7$vef$1@news.onet.pl>
<iqqeag$m5j$1@inews.gazeta.pl> <iqqj2m$i52$2@news.onet.pl>
<d...@p...googlegroups.com>
<iqqt7m$qi0$1@news.onet.pl> <iqqtpa$gt3$1@node2.news.atman.pl>
<iqr4u7$qpo$1@news.onet.pl> <iqr7pi$r95$1@node2.news.atman.pl>
<iqrujs$b8$1@news.onet.pl> <iqs0o4$85o$1@news.onet.pl>
<1...@l...localdomain> <iqtglc$5c5$1@news.onet.pl>
<iqthln$9gp$1@news.onet.pl> <iqtirb$9kr$1@news.onet.pl>
<iqtj7p$fel$1@news.onet.pl>
<c...@w...googlegroups.com>
<iqtpbn$80t$1@news.onet.pl>
<7...@t...googlegroups.com>
<0...@1...googlegroups.com>
<iqu14k$9ee$1@news.onet.pl>
<6...@g...googlegroups.com>
<iqucfc$jta$1@news.onet.pl>
NNTP-Posting-Host: 5acd7098.bb.sky.com
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: inews.gazeta.pl 1305667211 19062 90.205.112.152 (17 May 2011 21:20:11 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Tue, 17 May 2011 21:20:11 +0000 (UTC)
X-User: septi
In-Reply-To: <iqucfc$jta$1@news.onet.pl>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.17)
Gecko/20110414 Thunderbird/3.1.10
Xref: news-archive.icm.edu.pl pl.comp.programming:190413
[ ukryj nagłówki ]On 17/05/2011 18:49, Przemek O. wrote:
> W dniu 2011-05-17 18:53, Andrzej Jarzabek pisze:
>
> Dokumentacja jest potrzebna zawsze przy dużych projektach.
Z mojego doświadczenia wynika, że bieżąca dokumentacja w dużych
projektach jest bardzo często mocno niekompletna, nieaktualna, a koszt
jej utrzymania przewyższa korzyści jakie przynosi. W skrócie - niepotrzebna.
> Tak samo jak komentowanie kodu. Oczywiście nikt nie każe dokumentować
> pierdół. Chodzi o to, że przy projekcie oprogramowania które powstaje
> rok i dłużej, po pewnym czasie nawet osoba siedząca w projekcie od
> początku może nie wiedzieć co gdzie i jak się robi.
Ktoś siedzi rok w projekcie i go nie zna? Chyba żartujesz.
> Dochodzenie do tego na podstawie
> analizy kodu i ewentualnego komentowania kodu jest bardziej uciążliwe i
> długotrwałe w porównaniu do szukania tego w dokumentacji projektu.
Po pierwsze, po to masz coding standards, żeby nie było.
Po drugie, w praktyce zespół, który pracuje nad kodem od roku ma o nim
lepszą wiedzę, niż jest zawarta w dokumentacji. Jeśli praktykujesz
shared ownership, to masz sporą szansę na to, że dany programista będzie
sam znał odpowiedź. A jeśli nie, to praktykując kolokalizację zespołu,
łatwo jest mu po prostu zapytać i dostać odpowiedź. A jeśli utknie, to
po to masz daily standup, żeby ci, co wiedzą, mogli się zgłosić do pomocy.
> Czym innym jest dokumentacja projektowa (dokumentacja kodu) a czym innym
> jest projekt (określający założenia projektu, wymagania, sposób
> realizacji itd itp).
Ja mówię o tym, co w waterfallu jest tworzone w design phase. Wymagań i
analizy do tego nie wliczam.
> Yea! Right! Jak już pisałem to się sprawdzi przy pisaniu notatnika.
A jednak całkiem spore programy się w ten sposób robi.
> A umowę na co się podpisuje? A na jakiej podstawie projekt jest uznany za
> zakończony? Na podstawie tego że customer powie że tak jest? Nawet jeśli
> wszystko ustalicie i wydaje się ze jest ok, to customerowi nagle może
> się przyśnić coś innego, albo zobaczy coś u kogoś i będzie to chciał.
> Tym sposobem projekt nie będzie zamknięty nigdy.
Tu trochę przyznam, że wychodzę poza swoje kompetencje, ale o ile
rozumiem, to przede wszystkim XP pomyślanie jest nie pod kątem
projektów, które się w pewnym momencie zdaje i zamyka, tylko raczej do
takich, które w pewnym (wczesnym) momencie mają pierwszy release, a
potem regularni i dość często kolejne release'y, np. co miesiąc albo co
dwa miesiące.
I jeśli to jest zewnętrznie zlecony projekt, to - na ile się orientuję -
preferuje się umowy sformułowane tak, że dopóki zleceniodawca płaci, to
dostaje kolejne wersja - z jakimiś tam zabezpieczeniami dla obydwu stron.
Jeśli się nie da, a decyduje się na XP, to się zakłada, że kontrakt
będzie renegocjowany po zawarciu, że zlecenidawca będzie skłonny do
zmiany kontraktu jak zobaczy, że dostaje w pierwszej kolejności to,
czego najbardziej potrzebuje i że będzie miał szybko funkcjonalny
produkt. Wtedy odpowiednie role w zespole osłaniają przed tym programistów.
No i oczywiście niektóre projekty są wewnętrzne, więc nie ma całego tego
krapu.
> Powiem Ci tak. (bez urazy oczywiście) Po przeczytaniu tego odnoszę
> wrażenie, że piszesz oprogramowanie sam lub w gronie programistów a nie
> w zespole tworzącym oprogramowanie. Czyli tzw. standard - programista
> "wszystkorobiący". Od zbierania wymagań, poprzez opracowanie projektu
> (lub nie), kodowanie, testowanie (!) i wdrażanie. Sam tak robiłem swego
> czasu.
Powieem ci tak: mylisz się.
> I to by tłumaczyło nasze różne podejście do kwestii tworzenia
> oprogramowania.
> Analityk (dobry analityk) jest nieoceniony. Minimalizuje ryzyko
> wystąpienia sytuacji o których piszesz już na etapie zbierania i
> opracowywania wymagań. I czym jest tutaj okres kilku (nastu) tygodni
> poświęconych na stworzenie dokumentacji wymagań, jeśli wynikiem tego
> jest konkretna punkt po punkcie lista opcji które program musi posiadać,
> z opisem konkretnych działań jakie musi wykonywać. Na podstawie wymagań
> mamy już możliwość oszacowania wykonalności i ewentualnego terminu
> wykonania. Ale żeby tak było analityk musi być dobry, znać branże dla
> której piszemy oprogramowanie. A takich niestety jest niewielu, a ich
> wynagrodzenie jest niejednokrotnie wyższe od wynagrodzenia programistów.
Nie wiem, może pracujesz w jakiejś specyficznej branży, albo
specyficznej kulturze, w której waterfall się sprawdza, ale consensus
jest jednak taki, że nie sprawdza się prawie nigdy.
Ja też pracowałem z analitykami, wydaje mi się, że dość dobrymi, ale
zawsze było tak, że dokumenty, które wyprodukowali trzeba było mocno
modyfikować w trakcie developmentu. I komunikacja, a nie dokumentacja,
była kluczowa dla skuteczności realizacji _rzeczywistych_ wymagań.
Następne wpisy z tego wątku
- 17.05.11 21:30 Andrzej Jarzabek
- 17.05.11 22:02 R. P.
- 17.05.11 23:08 Andrzej Jarzabek
- 17.05.11 23:55 R. P.
- 17.05.11 23:58 R. P.
- 18.05.11 05:57 Andrzej Jarzabek
- 18.05.11 06:02 Zenek1234
- 18.05.11 06:52
- 18.05.11 08:00 MoonWolf
- 18.05.11 08:41 Andrzej Jarzabek
- 18.05.11 08:57 Paweł Kierski
- 18.05.11 09:04 Andrzej Jarzabek
- 18.05.11 09:10 Andrzej Jarzabek
- 18.05.11 10:06 Michal Kleczek
- 18.05.11 10:14 Michal Kleczek
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-03-08 Cięcie wysokich tui
- 2025-03-08 Środa Wielkopolska => SAP FI/CO Konsultant wewnętrzny <=
- 2025-03-08 Prawo "gminne"
- 2025-03-08 Warszawa => Senior Recruiter <=
- 2025-03-08 Warszawa => Key Account Manager IT <=
- 2025-03-08 Najszybciej ładujące się samochody elektryczne
- 2025-03-07 AION przejety
- 2025-03-07 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-07 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-03-07 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-03-07 Gliwice => Business Development Manager - Network and Network Security
- 2025-03-07 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-07 Gliwice => IT Expert (Network Systems area) <=
- 2025-03-07 Chiny-Kraków => Backend Developer (Node + Java) <=
- 2025-03-07 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS