piątek, 20 kwietnia 2012

Wymowne nazwy metod i kontekst.

Metoda malych kroczkow wprowadzam do kodu, z ktorym na codzien pracuje pewne konwencje. Piszac testy staram sie nazwac metode testowa tak aby w pewien sposob oddala kontekst testu. Jednak na nic te konwencje jesli tylko ja bede ich uzywal. Wiec pokazalem jednemu koledze moj kod z takimi dlugasnymi nazwami metodami (okolo 100 znakow na nazwe) i poprosilem o komentarz. 100 znakow! WTF! No wybacz, sa taki jezyki (nie programowania), ktore potrzebuja duzo miejsca. Podobno jezyk finski przebija wszystkie.

zwracaTrueDlaProcesowZewnetrznychTechnicznieZwalidowanychWersjonowanieRozpoczete

No wiec pokazje koledze pierwsza motode.... a on czytajac ja w polowie dostal stackoverflow. Czyta drugi raz i znowu. Mowi do mnie, ze to nie przejdzie, ze to do dokumentacji, ze jak dla niego 3 wyrazy i basta. Na koniec podkreslil jeszcze dobitnie, ze to za duzo. Sie zdziwilem, ze tak od razu, ze sie nie reebotuje i nie walczy no ale coz. Dla mnie jego zdanie jest wazyne bo przeciez na jednym kodzie pracujemy. Staram sie jednak mu pomoc i go zachecic. Czytam mu nazwe metody i robie przerwy. On to zwuwazyl i mowi mi, ze z tymi przerwami juz kmini ale ich w nazwie nie widzi. No wiec edytuje kod:

zwracaTrue_DlaProcesowZewnetrznych_TechnicznieZwalidowanych_WersjonowanieRozpoczete

Kolega jeszcze sie krzywi, no jest lepiej ale. Pokazuje mu inna, stara nazwe metody testowej:

rodzajSourcinguZmieniony

i pytam czy ta nazwa mu cos mowi. Kolega zaczyna parsowac, glowi sie, patrzy w kod (zaslonilem mu na chwile ;)). No nic, z samej nazwy metody nic nie wyprodukuje, nie wie w ktorym kosciele dzwoni. Odslaniam kod testu. W sumie pogorszylo tylko sprawe :D
No ale nie cisne na sile. Skoro jemu trudno to odczytac i woli w dokumentacji to mu pokazuje dokumentacje klasy i szeroko opisan kontekst. Swieteni, robi sie jasniej. Zmarszczki na czole powoli sie prostuja ( mam nadzieje, ze pod czaszka nastepuje proces odwrotny). W powietrzu czuc porozumienie. No to ide za ciosem. Cialo metody:

// GIVEN
wstepny kontekst, setup, ustawienie stanu systemu
// WHEN
zdarzenie faktycznie testowane (np. wywolenia metody)
//THEN
sprawdzenie wynikow tesotwanej metody, asercja

I tu pozytywna reakcja. Weszlo jak w maslo, sa pochwaly, jest dobrze. Rownoczesnie patrzymy na inne metody testowe napisane dawno temu. Czy ktos myslal kiedys o tym, ze inni beda je czytac szukajac powodu defektu? Czy ty myslisz o tym, piszac kod?


Polska Zazachodnia

Gdzie jest moja Polska? Jaka twoja? - mozesz mnie zapytac, przeciez Polska jest nasza! A ja ci odpowiem tak: to, ze jest nasza nie przeszkadza jej byc moja. Poza tym mam tez taka swoja Polske, domowa czy jak to nazwac. Ta Polska jest mobilna. Jest w tych miejscach, w ktorych slysze moj ojczysty jezyk, wsrod znajomych, wsrod swoich, w domu. Obecnie jest nia Polska Zazachodnia, czyli Polska na zachod od Odry.

czwartek, 19 kwietnia 2012

Ubezpieczenie od NNW

Temat na kabaret. Wyobrazcie sobie, ze dzwoni do mnie jakas osoba z ING i oferuje mi pewna oferte. Z nudow zgadzam sie na jej przedstawienie. I oto co sie dzieje. Ja, jeszcze niedawno kwiat polskiej mlodziezy slysze, ze za 3 zlote miesiecznie w razie smierci dostane 20.000, za 5 zl miesiecznie 25.000, za... a za 21 zl miesiecznie 150.000 z mozliwoscia rozszerzenia oferty jakbym na przyklad zginal w wypadku samochodowym lub poniosl nagla smierc. Swietnie! "I jak podoba sie Panu nasza oferta" - uslyszalem na koniec. I tu poprosilem pania o chwile cierpliwosci bo potrzebowalem sie zastanowic jak moglbym umrzec. Zaczalem sobie wyobrazac te 21 zl miesiecznie w kombinacji z zawalem podczas pracy lub ewentualnie bardziej spektakularnie - w zderzeniu czolowym z tirem, hmmm. A moze 5 zl miesiecznie i zostac rozwalonym na pasach. No ale po co tak hardcorowo od razu. Moze jednak jakies uszczerbki na zdrowiu. I tu pytam pania o to co sie stanie jak zlamie noge ale nie bedzie trwalego uszczerbku na zdrowiu. Ton glosu mojej rozmowczyni posmutnial. Oznajmila mi ze niestety w takim przypadku nic nie dostane, ale....! I tu sie ozywila, ale jakby to bylo taki zlamanie ze wyladuje w szpitalu i w ciagu 180 dni amputuja mi konczyne to jest szansa! Co za oferta! Tylko brac!
W sumie jestem najbardziej pod wrazeniem sposobu jej przedstawienia. Ciekawe czy to jakis nowy rodzaj marketingu czy moza pani ktora mi to przedstawiala dzwoni na zmiane raz z oferta ubezpieczenia, a raz z najnowszym abonamentem kablowki. Jedno jest pewne zrobila na mnie duuuuze wrazenie.

środa, 28 marca 2012

Projekt - miejsce gdzie spedzasz wiekszosc dnia.

Bierzesz udzial w projekcie, w tworzeniu produktu (w moim przypadku jest to software). Narodzil sie on jakis czas temu, co kilka miesiecy ewoluuje o kolejne funkcjonalnosci. Cykl ewolucji powtarza sie z jednego wydania na drugie. W tym wszystkim obserwujesz przerozne formalizmy projektowe, ustawki, rozne formy wspolpracy, podkniecia, czkawki itd. Wszystko dziala w dosc sztywnej ramce, ktora potrzebuje z gory zdefiniwanych kosztow, terminow oddania, zakresu zmian, z gory okreslonego przadzialow prac dla osob w zespole, i calej masy innych z gory przewidzianych rzeczy. Ta ramke mozna co prawda usprawniac jednak wiaze sie to z praca w high tech czyli z ludzmi!
A gdyby tak zamiast myslec o kosztach pomyslec o ciaglych inwestacjach (brzmi troche inaczej)
Zamiast wersji i realeas'ow zalozyc ze produkt niegdy nie bedzie zakonczony za to ciagle rozwijany, ulepszany, malymi kroczkami.
Zamiast z gory okreslonego zakresu bedzie swiadome i ciagle odkrywanie nowych wartosci o jakie mozna go wybogacic, wsparte uczeniem sie w trakcie i umiejetnoscia obchodzenia sie z tym co jeszcze nieznane.
Zamiast zarzadzania zasobami (czyt. ludzmi) starac sie utrzymac balans miedzy tym co powinno zostac dostarczona, a tym ile jestesmy w stanie wytworzyc...

Ta, akurat, pitu pitu bedzie wiosna... juz to widze, ze to moze tak dzialac.

No i tu mozna przypomniec to co Jeff De luca powiedzial:
"I’m saying that
the Agile methods are more suited to types of people
and organisational cultures than types of project.”

środa, 7 marca 2012

water-scrum-fall to norma

Goraco polecam tekst o water-scrum-fall oraz dyskusje czytelnikow jakie mozna znalezc pod artykulem na infoq.

Zajawka na infoq
http://www.infoq.com/news/2011/12/water-scrum-fall-is-the-norm

Tekst w sdtims
http://www.sdtimes.com/content/article.aspx?ArticleID=36195&page=3

Opracowanie
http://www.cohaa.org/content/sites/default/files/water-scrum-fall_0.pdf



Crowdsourcing w tlumaczeniach

Jakis czas temu zabralem sie za tlumaczenie opowiadania na temat Real Options. Jest to swietny przyklad crowdsourcingu i sily jaka mozna uzyskac z spolecznego zaangazowania ludzi. Nie jest to w sumie nic nowego, m.in. OSS od dawna powstaje w podobny sposob. Samo pojecie nie podoba mi sie. Owszem jest cool, jest marketingowe jednak gubi sie w nim istota. W tlumie najcenniejsze sa jego skladowe, ludzie. Mozliwosc czerpania z ich wiedzy i doswiadczenia - nieoceniona plastycznosc mysli, ciagla krytyka oraz dostepnosc 24/7. Wiec na potrzeby marketingu crowdsourcing, a jak dla mnie to ludzie.

O estymacji

Koncze pisac specyfikacje, a co sie z tym wiaze zblizam sie do aktualizacji wstepnych oszacowan.
Podczas rozmowy z jednym z kolegow z projektu na temat tych wlasnie oszacowan uslyszalem cos czym chcialbym sie podzielic.

"Prognozowanie jest trudne zwlaszcza jesli chodzi o przyszlosc."
"Dlaczego nasz leader prosi nas co piatek o aktualizacje oszacowan?
On gra w totolotka i uwaza, ze jestesmy najlepszym generatorem liczb losowach."

Ha ha ha ha...