środa, 1 lipca 2009

Ile Ci to zajmie? (różnice w postrzeganiu czasu)


Niektóre filozofie zakładają, że czas nie istnieje. Jest tylko tu i teraz, upływ czasu to złudzenie. Inni z kolei chcą go wyginać i zaginać.

Ale zejdźmy na ziemię. W biznesie czas to tylko pieniądz. Stąd też najczęściej pojawiającym się pytaniem w komercyjnym procesie tworzenia softu jest nasze ulubione:

ILE CI TO ZAJMIE?

Managerowie uwielbiają zadręczać tym pytaniem swoich/swoje zasoby. Irytują się, gdy developerzy nie są w stanie odpowiedzieć na tak elementarne pytanie. Przecież jeżeli robi się coś od kilku lat to powinno dać się niemal co do godziny określić ilość potrzebnego czasu. Co za durnie, siedzą w tym po uszy i nie potrafią nawet zarządzać sobą, swoimi zadaniami i swoim czasem. Przecież programowanie jest prawie jak budowanie. Macie nawet te swoje wzorce pokrakowe (czy jakieś tam) oparte na latach doświadczeń budowlańców. Muszę mieć harmonogram i się z niego wywiązać. Budżet Panowie! Budżet!

Developerom z drugiej strony ciśnie się na usta "Nie wiem! Nigdy wcześniej tego nie robiłem!" - heh ale tylko Ci o mocnej pozycji w plemieniu mogą sobie pozwolić na zwerbalizowanie swoich myśli. Czy on nie rozumie, ze praca badawczo-rozwojowa (a taką właściwie jest każdy nowy projekt z uwagi na nowe narzędzia) nie jest liniowa a eksponencjalna. Stając w kopalni z kilofem w ręku, kilometr pod ziemią i fedrując na przodku nigdy nie wiadomo kiedy trafimy na skałę, ile będzie trwać stagnacja i kiedy pojawi się nagły wybuch ruszający wszystko do przodu. Programowanie to nie murowanie muru z cegieł (1 cegła na minutę = > mur z 1000 cegieł to 16.7 godziny) - to tak nie działa.

Jedni i drudzy mamroczą pod nosem: co za durnie!



Zagadnienie szacowania czasu, metodyki szacowania to temat na osobna bajkę, dziś będzie o postrzeganiu czasu.

Ale zanim przejdziemy do corowej warstwy posta, zatrzymajmy się na chwilę aby pokazać sceptykom, że postrzeganie czasu rzeczywiście jest względne i każdy doświadcza tego niemal codziennie (proszę nie uciekać od ekranów - względne w sensie poznawczym a nie w sensie teorii względności).

Pomijając filozoficzną i fizyczną naturę czasu, Twój mózg jest po prostu tak skonstruowany, że postrzega upływ czasu. Mamy wbudowane 2 "koprocesory czasu" - zegary dobowy i bieżący. Zegar bieżący opiera się na mechanizmie taktowania (tysiące neuronów) i próbkowania (neurony gwiaździste i piramidalne). Co ciekawe i istotne dla nas, hormony stresu zmieniają stężenie neuroprzekaźników w naszym "koprocesorze" czasu bieżącego co powoduje zmiany w "tykaniu" a co za tym idzie próbkowaniu bodźców ze świata.

Wszyscy znamy uczucie dłużenia się czasu lub odwrotne do niego - szybki upływ czasu. Jak się okazuje niem tu żadnej magii - wszystko zależy od poziomu hormonów stresu. Dzięki temu np w stresowej sytuacji na drodze mamy "gęste" próbkowanie świata, wchłaniamy więcej danych w jednostce czasu i mamy więcej "cykli" na podejmowanie działań związanym z uniknięciem zderzenia z jakimś durniem.


Przejdźmy do meritum, czyli czasu w kontekście IT.
W tym celu zostawmy poziom "techniczny" czyli neurony i przyjrzyjmy się ogólnym strategiom przeżywania czasu: Spontaniczny plan dnia.
Wynika z niego, że dysonans w podejściu do czasu i planowania jaki obserwujemy na różnych stanowiskach może wynikać z różnych sposobów myślenia o czasie. Tak, tak, wg tego modelu różnimy się wewnętrznymi reprezentacjami czasu!

Mamy zatem ludzi żyjących:
- W czasie (In time) - żyją chwilą, odczuwają każdy moment, bez planu i kontroli czasu, skupiają się na aktualnym działaniu
- Pomiędzy Czasem (Between Time) - w pozycji zdystansowanej do czasu, mają na niego ogólny ogląd, widzą możliwości działania, ale nie przypisują im czasu trwania, dowolnie przestawiają zadania
- Poprzez Czas (Through Time) - również z dystansem, ale mając ścisły chronologiczny plan, każde zdarzenie ma czas rozpoczęcia i czas trwania, czas jest linią o ograniczonej pojemności (w sumie logiczne;)

Autorzy artykułu zachęcają nas do trenowania różnych sposobów przeżywania czasu i dobierania najlepszego do danej sytuacji. Powodzenia.

Zastanawiam się czy można w ogóle być dobrym managerem nie żyjąc Poprzez Czas - widząc dokładny plan, zależności czasowe i być przez to cel-oriented?

Czy można w ogóle prowadzić jakąkolwiek kreatywną działalność (mam na myśli sensowną działalność a nie np malarstwo współczesne) nie żyjąc Pomiędzy Czasem - dostrzegając możliwości i potencjał.

A żyjąc chwilą W czasie lepiej chyba nie męczyć się z IT, rzucić to wszystko i rozpocząć karierę w biznesie porno;)

Każdy powinien zająć się tym w czym jest dobry. A szacunek to podstawa.

//==============================

"Ty masz zegarek, ja mam czas"
...Usłyszał w odpowiedzi na nerwowe pokazywanie na cyferblat podróżnik, gdy usiłował ponaglić swego przewodnika na postoju, pod­czas wędrówki gdzieś, na andyjskim bezludziu.

6 komentarzy:

Anonimowy pisze...

Witam!
Bardzo aktualny temat:) W pracy juz chyba tydzien trwa bardzo intensywna dyskusja na temat tego :"co zrobic aby znacznie dokladniej przewidywac terminy?". Jedni i drudzy mamrocza pod nosem co za durnie:)))

Chociaz napisales ze to temat na inna bajke jednak wlasnie metodyki i zagadnienia szacowania czasu najbardziej mnie zainterysowaly.

P.S trafnie to bylo o tym wspolczesnym malarstwie:)

Antek

Sławek Sobótka pisze...

Odnośnie metodyk szacowania to tak na szybko odpowiem hasłami, żeby naprowadzić:
- jest takie coś jak złożoność gui, liczy się punkty złożoności, natomiast co znaczą te ilości - to trzeba sobie na terenie organizacji doświadczalnie wypracować. Jak dla to dosyć naiwne szacowanie, ale zawsze jakieś jest.
- ludzie mają ogólnie tendencję do zaniżania. Nie tylko w temacie szacowania czasu, ogólnie w każdym przypadku gdy w grę wchodzą duże liczny. Stąd czasem zakłada się, że np: czas podany przez develoepra mnoży się przez 2 i dodaje 30%.
- zadanie zajmie co najmniej tyle czasu, ile na nie przeznaczono. To stara prawda i podstawa podstawowych teorii zarządzania
-właśnie zarządzanie ludźmi... są różne strategie: przez wzbudzenie poczucia winy, przez zastraszenie. Najczęściej jest tak, że ktoś zakłada, że chciałby mieć coś zrobione powiedzmy w 2 tygodnie - wówczas będzie zadowolony. Daje się wówczas człowiekowi deadline na tydzień. Człowiek zapieprza, zostaje po godzinach, robi to w tydzień i 2 dni, czuje się winny, ponieważ się spóźnił, przynosi rozwiązanie w zębach ze spuszczonym ogonem. Zleceniodawca robi smutną minę, ale i tak jest lepiej niż zakładał;P

Sławek Sobótka pisze...

Co do dokładniejszego przewidywania terminów jeszcze to podstawa jest taka: jeżeli jakieś zadanie zostało oszacowane na więcej niż tydzień, to takie szacowanie raczej jest bez sensu. Trzeba rozbić to składowe do tego stopnia aby dało się operować dniami.

Oczywiście podstawowa wada: rozbijanie wymaga analizy, która swoje trwa i też kosztuje:)

Anonimowy pisze...

Ano maja ludzie tendencje do zanizania. To mnozenie przez 2 i dodanie 30% wyglada dosyc sensownie( choc nie dokonca rozumiem dlaczego wlasnie taka cyfra,tak po prostu czy tez jest jakis szczegolny powod?;] ). Ale nie dla wszystkich firm taka metoda pasuje. Sa firmy ktore licza pieniadze w godzinach;) Klient placi za godzine pracy. Wiec takie niedokladne szacowanie po prostu nie pasuje, bo te X2 bezposrednio przekladaja sie na ogromne pieniadze. Cel szacowac dokladnie, nie oklamac klienta a juz tym bardziej siebie;). Oczywiscie czy taka metoda wyceniania swoich produktow jest dobra to inna sprawa.

>>Zadanie zajmie co najmniej tyle >>czasu, ile na nie przeznaczono. >>To stara prawda i podstawa >>podstawowych teorii zarządzania
Zauwazylem tez ze ilosc czasu przeklada sie bezposrednio na jakosc kodu;) Jezeli przeznaczono za malo czasu to moze i da sie to zrobic, ale wtedy jest mniejsze prawdopodobienstwo ze wszystko bedzie przemyslane;) I odwrotnie. Oczywiscie nie zawsze ta zaleznosc jest taka oczywista ale jednak to chyba niezla metoda na zarzadzanie jakoscia produktu.

>> -właśnie zarządzanie >>ludźmi... są różne strategie: >>przez wzbudzenie poczucia winy, >>przez zastraszenie. Najczęściej >>jest tak, że ktoś zakłada, że >>chciałby mieć >>coś zrobione >>powiedzmy w 2 tygodnie - wówczas >>będzie zadowolony. Daje się >>wówczas człowiekowi deadline na >>tydzień. Człowiek zapieprza, >>zostaje po godzinach, robi to w >>tydzień i 2 dni, czuje się >>winny, ponieważ się spóźnił, >>przynosi rozwiązanie w zębach ze >>spuszczonym ogonem. >>Zleceniodawca robi smutną >>minę, ale i tak jest lepiej niż >>zakładał;P
Spotykalem sie z takim podejsciem zleceniodawcow. Moim zdaniem jest to bardzo denerwujace, komu by sie podobalo ciagle zapieprzanie po godzinach;) Ale jest na to prosty sposob. Jezeli cos trzeba na wczoraj to taryfe sie mnozy przez 3 i informuje o tym klienta.. Skuteczne!:) Gorzej gdy takie metody stosuje pracodawca. Tutaj pomoze juz tylko mocna pozycja w stadzie;)

Powodzenia!
Antek

Anonimowy pisze...

Sorry, troche zle sformatowal sie tekst z tym cytowaniem;)
Antek

Sławek Sobótka pisze...

Odnośnie zależności ilość czasu:jakość to sprawa jest jak dla mnie złożona...
Często mówi się: jak bym miał więcej czasu to bym to zrobił lepiej. heh spróbuj kiedyś zapytać taką osobę: a co byś wówczas zmienił gdyby dano Ci więcej czasu.

Obawiam się, że w większości przypadków zostało by nabdździane dokładnie tak samo - po prostu niektórzy nie potrafią inaczej;P Inny za to nie potrafią inaczej niż porządnie (a przynajmniej wg ich mniemania, ze jest to porządnie). Poza tym, pewne refleksje przychodzą dopiero po paru tygodniach po zamknięciu danej sprawy (o ile ktoś się w ogóle zastanawia nad tym co robi i poddaje to krytycznemu myśleniu). Ale to temat na osobnego posta...

Pytasz skąd 2*x+30%
Sam nie wiem, ale w wielu miejscach widziałem ten wzór - pytanie czy ktoś się nad nim zastanawiał, czy wszyscy powtarzają głupoty;)

Odnośnie zleceniodawcy to miałem na myśli ogólnie - ktokolwiek, kto zleca Ci pracę (klient, szef, manager).