niedziela, 13 stycznia 2013

100 mandaysów za dodanie jednego checkboxa?!?

Standardowa scenka: spotkanie tak zwanego "biznesu" z tak zwanym "IT"; dyskusja nad "małą kosmetyczną zmianą" polegającą na "dodaniu jedynie małego checkboksa".

Na minach "IT" najpierw pojawia się grymas namysłu, a następnie ekspresja (nie mikro-ekspresja) zagłady i katastrofy. W wyobraźni ujrzeli trzęsienie ziemi, która kruszy katedrę, którą budują od x miesięcy/iteracji/cokolwiek. "IT" przełyka ślinę i odpowiada: "zajmie nam to 100 mandaysów".

Mina "biznesu":

Dalszy rozwój scenariusza może przebiegać różnie w zależności o relacji - czy mamy negocjacje klient-dostawca, dział biznesowy-dział it, itd.
Typową dziecinną techniką jest zaniżanie o połowę, ale IT już wie, że "oni zawsze zaniżają", więc defaultowo  zawyża, jednak biznes, wie, że "oni defaultowo zawyżają", więc zaniża 4-krotnie, itd... wszyscy traktują się nawzajem jak by druga strona była opóźniona.

W każdym jednak przypadku "IT" jest na przegranej pozycji. Podczas gdy "my" doskonalimy się we frameworkach, wzorcach i architekturach, "oni" zdobywają siódmy czarny pas w NLP i technikach manipulacji wszystkim czym da się manipulować...

Skąd bierze się takie niezrozumienie powagi zmiany?
Najprawdopodobniej obie strony mają w swoich umysłach inne modele mentalne problemu oraz jego złożoności.

Bywalcy konferencji oraz czytelnicy książek przyprawionych nutką Agile próbują posiłkować się metaforą "Długu technicznego", który został kiedyś zaciągnięty i oto nadeszła chwila, kiedy trzeba go spłacić. "Ale jaki dług, przecież działa!" - możemy usłyszeć w odpowiedzi.

Gdyby istniał wspólny model domeny problemu, wówczas każdy uczestnik projektu "czułby" intuicyjnie powagę zmiany. Ew. naiwne uproszczenia dokonywane z wielu (zwykle racjonalnych) powodów, mogłyby być dokonywane ze świadomością konsekwencji. Uświadomiony dług techniczny.


Dla przykładu: powyżej widzimy model budynku wydrukowany przez drukarkę 3D. Nawet osoba nietechniczna intuicyjnie poczuje, że "postawienie o tutaj (wskazuje palcem na dach) lądowiska dla helikoptera" będzie "nieco" kosztowne. Trzeba przecież znacznie rozbudować konstrukcję nośną albo jeżeli chcemy ją zachować wymienić słupy na tworzywo wykradzione z NASA;)

Spróbujmy osiągnąć taki poziom świadomości gdyby obie strony siadły do: a) rysunków technicznych, b) dokumentów wizji, przeczuć i życzeń zwanych czasem dumnie artefaktami analitycznymi.

Ten przydługi wstęp miał być zachętą do zapoznania się z ostatnim z publikowanej w programistamag.pl serii "DDD krok po kroku": Modeling Whirlpool – iteracyjny proces modelowania (dostęp jest całkowicie darmowy).

Modeling Whirpool jest zwinnym procesem tworzenia wspólnego modelu, który jest zrozumiały również dla Eksperta Domenowego oraz implementowalny 1:1 w kodzie źródłowym - żadnych poziomów abstrakcji, które tworzą luki semantyczne.

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

W styczniowym numerze rozpoczynam nową serię: "Niezbędnik początkującego Architekta", wktórej znajdziecie systematyzację (mam nadzieję) wiedzy bazowej oraz kilka sprawdzonych receptur.

Zainteresowanych DDD i Modeling Whirlpool zapraszam na konferencję 33rd Degree - prezentacja i warsztaty.

14 komentarzy:

Tomasz Szymański pisze...

Oh skąd ja to znam. Najlepsze jak jeszcze biznes po odpowiedzi 100 mandaysow (czy jakiejkolwiek innej) daje kontrargument w stylu "ale w aplikacji ABC ktora robiliscie 2 lata temu dodaliscie taki checkbox w 1 dzien - przeciez to TO SAMO!". I jak do ściany.

iirekm pisze...

> Podczas gdy "my" doskonalimy się we frameworkach, wzorcach i architekturach, "oni" zdobywają siódmy czarny pas w NLP i technikach manipulacji wszystkim czym da się manipulować...

Nie ma żadnych dowodów naukowych potwierdzających skuteczność NLP (podobnie zresztą jak ma się to z okultyzmem, radiestezją, czy książkami "self-help").

Tak więc nie ma co się bać, nawet tych co mają 47. pas w NLP. :-)

Sławek Sobótka pisze...

Chyba czytałem prace psychologów akademickich, które masz na myśli.

Ale naukowych dowodów być nie może z prostej przyczyny: psychologia nie jest uznawana za naukę przez "twarde" dziedziny stosujące podejście posługujące się rzetelną metodą naukową.

Pomaga takie nastawienie: "psycho-logika to nie logika":P

Irek Matysiewicz pisze...

No tak, ale jakieś ewidentne chociaż empiryczne dowody skuteczności by się przydały, a tu ni ma. Pewnie działa, ale tylko na zasadzie efektu placebo.
Z drugiej strony z konwencjonalną psychologią i psychiatrią, mimo że są tam poważne naukowe teorie, jest niewiele lepiej o czym boleśnie przekonuję się osobiście.

Paweł Badeński pisze...

NLP, PLN, NPL, cokolwiek... istotne jest to, że biznes przykłada się do rozwoju umiejętności komunikacji, negocjacji, perswazji etc. To jest ich priorytetem - podczas gdy my oglądamy prezentacje o najnowszych technologiach, a nie potrafimy kulturalnie i skutecznie wytłumaczyć naszym kolegom dlaczego dodanie checkboxa zajmie 100 dni.

Sławek, dostrzegam problem różnicy modeli mentalnych i zgadzam się z Tobą w tym aspekcie. Zidentyfikowaliśmy problem, pozostaje jednak pytanie co dalej? Ty zaproponowałeś wykonać krok w kierunku DDD i uwspólnienia modelu oraz języka - ok, zgadzam się że to może pomóc. Zaryzykuję natomiast stwierdzenie, że fundamentalnym problemem są kiepskie umiejętności komunikacji ze strony IT. Tam też według mnie należy szukać odpowiedzi. Koledzy programiści, skoro biznes niechętnie uczy się naszego języka, my podszkolmy umiejętności, które pozwolą się otworzyć na biznes.

Irek Matysiewicz pisze...

No bo niestety, nie uczą tematów "miękkich" w szkołach czy chociaż na studiach, a nie każdy miał szansę tego nauczyć się w dzieciństwie czy urodzić się z odpowiednimi genami (nature + nurture).
Nawet w starożytności było lepiej bo uczyli retoryki i to podobno dużo dawało.
A np. na cykl prywatnych szkoleń NLP czy psychoterapii tych co najbardziej tego potrzebują po prostu nie stać.
Nowej technologii przy odrobinie zapału nauczysz się w kilka-kilkanaście dni - ze zmianą złych cech osobowości nie jest tak łatwo, i nic dziwnego że jest jak jest.

Paweł Badeński pisze...

Zgadzam się z opinią, że rozwijanie umiejętności miękkich jest trudne. Nauczenie się TDD, Pair Programmingu, czy pracy z odziedziczonym kodem również nie jest łatwe. Mimo to poświęcamy czas, aby podwyższyć poziom tych umiejętności.

Najważniejsze to zgodzić się, że istnieje problem. To dlaczego on powstał, może być istotne, ale niekoniecznie pomoże w jego rozwiązaniu. Dlatego ja skupiłbym się na tym co my w IT robimy najlepiej :) Czyli jak rozwiązać problem w ramach istniejących ograniczeń.

Rzeczywiście koszt szkoleń NLP czy psychoterapii jest wysoki. Istnieją za to bardzo dobre rozwiązania alternatywne, np.
- kółka teatralne - które w interesujący sposób uczą własnych emocji, samoświadomości oraz pracy w grupie,
- toastmasters - uczą przemawiania oraz skutecznej komunikacji (zarówno przygotowanej jak i ad hoc),
- czy nawet "self help books" (ale tylko te najlepsze),
- etc.

Irek Matysiewicz pisze...

[Zgadzam się z opinią, że rozwijanie umiejętności miękkich jest trudne. Nauczenie się TDD, Pair Programmingu, czy pracy z odziedziczonym kodem również nie jest łatwe. Mimo to poświęcamy czas, aby podwyższyć poziom tych umiejętności.]

Też nie jest łatwe, ale dużo łatwiejsze i prawie zawsze da się tego nauczyć samodzielnie jak np. nie stać ciebie na szkolenie.
Z dorosłymi nie jest jak z dziećmi, że Superniania z TVN posadzi dziecko parę razy na karnym jeżyku i po kilku-kilkunastu dniach wiele można osiągnąć.


[- czy nawet "self help books" (ale tylko te najlepsze),]
A jakie znasz dobre? Ja próbowałem czytać te "bestsellery" i tego czytać się nie da bo to albo sam bełkot rodem z opery mydlanej (ja potrzebuję po prostu dobrych konkretów i dobrych przykładów), albo są to teksty akademickie dla psychologów, które nie nadają się dla niewtajemniczonych.

Paweł Badeński pisze...

[[Zgadzam się z opinią, że rozwijanie umiejętności miękkich jest trudne. Nauczenie się TDD, Pair Programmingu, czy pracy z odziedziczonym kodem również nie jest łatwe. Mimo to poświęcamy czas, aby podwyższyć poziom tych umiejętności.]]

[Też nie jest łatwe, ale dużo łatwiejsze i prawie zawsze da się tego nauczyć samodzielnie jak np. nie stać ciebie na szkolenie.
Z dorosłymi nie jest jak z dziećmi, że Superniania z TVN posadzi dziecko parę razy na karnym jeżyku i po kilku-kilkunastu dniach wiele można osiągnąć.]

Podałem w poprzednim komentarzu trzy przykładowe sposoby jak można zaatakować problem - sądzę, że są one odpowiednikiem Superniani dla dorosłych. Trudno mi odnieść się do tego, w jakim stopniu jest łatwiejsze, z pewnością rozwijanie umiejętności typu TDD czy PP znajduje się w strefie komfortu Homo Informaticus.

[[- czy nawet "self help books" (ale tylko te najlepsze),]]
[A jakie znasz dobre? Ja próbowałem czytać te "bestsellery" i tego czytać się nie da bo to albo sam bełkot rodem z opery mydlanej (ja potrzebuję po prostu dobrych konkretów i dobrych przykładów), albo są to teksty akademickie dla psychologów, które nie nadają się dla niewtajemniczonych.]

Zakładam, że spędziłeś troche czasu szukając dobrej książki typu "self help". Jeśli do tej pory nic nie znalazłeś, to być może dla Ciebie te książki nie działają. Może warto poeksperymyntować z innymi sposobami (niekoniecznie tymi które wypunktowałem).

Irek Matysiewicz pisze...

Nie ma dobrego odpowiednika Superniani dla dorosłych: co u dzieci możesz zmienić w kilka tygodni, u dorosłych może zająć kilka lat. Powinny być odpowiednie zajęcia już w podstawówce. Ja w podstawówce napotkałem się tylko na ignoranckich nauczycieli i na łobuzerkę ze strony kolegów - po prostu miałem pecha i znalazłem się w nieodpowiednim miejscu w nieodpowiednim czasie. DNA, oraz czasu i miejsca urodzenia sobie nie wybieramy :-(

Nie mówię że self-help books na mnie nie działają, może i działają tylko jak mają działać jak tego nie da się czytać? Na Amazonie są tysiące książek self-help, trudno wszystkie przejrzeć i przeczytać chociaż podgląd pierwszego rozdziału. Na youtubie jest wiele filmików self-help, ale w 99% są to reklamy zachęcające do wykupienia jakiegoś drogiego szkolenia NLP online.
Na pewno "autorzy" takiego pokroju jak Robbins czy Tracy i większość NLP-owców są nie dla mnie - tak to i ja umiem bełkotać i teoretyzować i idealizować po czterech piwach, tylko nic z tego nie wynika. Niestety jak dotąd lepszych tytułów nie znalazłem. :-(

Paweł Badeński pisze...

Trudno mi powiedzieć czy zmiana, która trwa u dziecka kilka tygodni, potrwa u dorosłego kilka lat - nie jestem specjalistą w tej dziedzinie. Myślę, że nawet specjalista nie podjąłby się oszacowania długości trwania jakiejkolwiek bez dokładnego poznania szczegółów. Natomiast jak sam zauważyłeś - zmiana jest możliwa.

Stwierdzenie jak "powinno być" jest pomocne jeśli planujesz długoterminową transformację edukacji. Ja skupiam się na "tu i teraz" i jak możemy zareagować na obecne problemy. Jest taki znany żart irlandzki o turyście odwiedzającym ich kraj, który pyta o adres w Dublinie. Zapytany Irlandczyk odpowiada: "Przede wszystkim, gdybym był na Pana miejscu nie zaczynałbym tutaj".

Irek Matysiewicz pisze...

Wiadomo że żaden specjalista ci nie powie ile to potrwa bo nie wie, a szkoleniowcy NLP pewnie nawet będą kłamać że potrwa krótko by zachęcić do udziału w szkoleniu, ale bez trudu można znaleźć w internecie że terapia może trwać nawet kilka lat albo do końca życia. Niestety w okresie dojrzewania podobno w mózgu są "przycinane" mało używane połączenia i jeśli coś się źle przycięło, potem trudno to zmienić.

Zmiany w edukacji nie muszą wcale dużo kosztować. Wystarczy zmniejszyć ilość takich przedmiotów humanistycznych jak historia, religia czy język polski na rzecz czegoś w rodzaju starożytnej retoryki. Ζnajomość Biblii, literatury czy historii nie przyda ci się w życiu tak bardzo jak znajomość rzeczy "miękkich".
Czy wiecie że w Finlandii nawet uczą dzieci z podstawówki programować? Może być tak, że za kilkanaście lat nie USA i Indie, ale Finlandia będzie potęgą w programowaniu. To samo mogłoby dotyczyć tych czy innych zmian w naszej edukacji. Jak na razie to wszystko idzie na gorsze: mam o 15 lat młodszą siostrę, i ona uczy się tego samego co ja, tyle że ja to miałem ze 2-3 lata wcześniej. Średnia ocen w jej klasie: 2 z kawałkiem, a i tak dyrektor nakazał zrobić dodatkowe egzaminy pod koniec minionego semestru bo podejrzewał że nauczyciele za mocno zawyżają oceny. Za moich czasów było już w szkole niefajnie, ale aż takich jaj nie było.

Paweł Badeński pisze...

Dyskusja wydaje mi się zbacza z toru, więc popraw mnie jeśli się mylę.

Ja chcę znaleźć odpowiedź na ptranie: "Jak ulepszyć współpracę dzisiejszych programistów z biznesem (najdalsza perspektywa jaka mnie interesuje to kolejnych 5 lat)".

Ty próbujesz odpowiedzieć na pytanie "Jak polepszyć współpracę programistów z biznesem w perspektywie długoterminowej (15-20 lat?)".

Uważam, że obie kwestie są ciekawe, mnie natomiast bardziej interesuje znalezienie problemu dla "tu i teraz". Zdaje mi się, że szukamy rozwiań na różne problemy i z tego powodu powstał pewien rozdźwięk.

Irek Matysiewicz pisze...

Niestety, rozwiązania "tu i teraz" IMHO nie ma. Odpowiedniki Superniani dla dorosłych są marne. Jakieś drobiazgi można łatwo zmienić, ale jak to coś poważniejszego to dana osoba i jego otoczenie ma w życiu prze...ane. Myślisz dlaczego tyle ludzi pije / bije / ćpa / pali / obżera się - w 99% oni wiedzą że robią źle ale nic nie potrafią z tym zrobić.
Na niektórych podobno dobrze działają leki psychiatryczne, zwłaszcza antydepresanty, ale różnie z tym bywa.

Mimo tych smutnych informacji, jeśli ktoś zna dobry film, albo nadającą się do czytania książkę self-help to mógłby się tutaj podzielić tą informacją.