Temat: Kto płaci za dobry kod?
Jarosław S.:
hmm, [...] To jest ryzyko prowadzenia działalności gospodarczej.
Musiałem się źle wyrazić, ponieważ nie chciałem niczego generalizować i upraszczać (wrzucać w czarno-białe ramy). Zdaję sobie sprawę z tych wszystkich czynników (lecz od razu się przyznaję, że od "zdawania sobie sprawy" do pełnego pojmowania droga jeszcze daleka:), lecz ja wcale nie pisałem, że ich nie ma. Rozumiem, że problem jest dużo bardziej złożony, a im większa firma, im większe pieniądze wchodzą w grę i im większy zakres projektu, tym większa złożoność.
Mój brak zrozumienia dotyczy jedynie tego braku czasu ze strony klienta, co jest niestety nagminnym zachowaniem. Ja naprawdę doświadczyłem niejednokrotnie różnych tłumaczeń i nie mogę powiedzieć, że kiedykolwiek usłyszałem, że "nie, bo nie", zawsze otrzymywałem rozsądne "usprawiedliwienie".
Mimo to zwykle próbowałem tą komunikację i wymianę informacji ulepszyć (z różnym skutkiem), ponieważ to jest działanie na korzyść klienta. Przecież nam nie chodzi o to, żeby sobie pogadać z kimś, bo od tego mamy znajomych czy też kolegów w pracy, nam wszystkim chodzi o to, aby stworzyć coś, co zadowoli zamawiającego i sprosta jego oczekiwaniom. I, choć ciężko to klientowi wytłumaczyć i udowodnić, za tą potrzebą "tracenia" ich czasu, kryje się chęć oszczędzenia ich pieniędzy.
a nie z problemów wewnątrz niej (niekompetencja kierownictwa, "burdel" jak to określiłeś)
Co do burdelu, to odnosiłem się jedynie do wykorzystania terminu "agile" w wielu firmach. Staje się to coraz częstszą praktyką, że brak organizacji i nieumiejętności w zarządzaniu są ukrywane za "byciem zwinnym".
Można stworzyć prototyp. Jedyne o czym nie można jednak zapomnieć, to żeby taki prototyp nie trafił do finalnego produktu.
[...] Tylko proszę nie mów mi że to wynika ze słabego kierownictwa / braku właściwego agile itp. Takie rzeczy zdarzają się najlepszym i bardzo doświadczonym ludziom i wynika min. ze złożoności procesu wytwórczego oprogramowania,
Jasne, że się zdarzają i zdarzać się będą (chociaż życzę każdemu, żeby jak najrzadziej:).
Pisałem o wykorzystaniu prototypów odnośnie potrzeby szybkiego pokazania czegoś sponsorowi. W takim wypadku jest to idealne rozwiązanie, lecz zazwyczaj (zawsze?) należałoby w nim coś zmienić. Że czasami nie zdążymy? Trudno, świat nie jest idealny, a jedyne co my możemy robić, to próbować pomimo to stworzyć jak najlepsze produkty. Problemem nie jest jednak (a przynajmniej nie tragicznym), gdy czasami taki prototyp trafi do produkcji, problem jest wtedy, gdy my od początku zakładamy, że on tam wyląduje.
Niestety polska rzeczywistość jest taka:
- zdecydowana większość kontraktów to fixed price a firma konkuruje z innymi głównie przez pryzmat oszacowanej ceny za wykonanie, tylko niewielka część kontraktów to kontrakty z płaceniem za "konsulting IT" gdzie w pełni świadomy klient płaci za godzinę pracy pracowników software house
- klienci w zdecydowanej większości przypadków nie chcą płacić za analizę biznesową która by drastycznie zmniejszyła ryzyko szacowania kosztów implementacji tego co początkowo chciał klient
Niestety. Tylko ja nadal nie jestem w stanie zrozumieć dlaczego nie chcą?
I tutaj wracamy do kalkulacji. Przy odpowiednio dużym projekcie taka analiza jest opłacalna i tak, jak napisałeś - zmniejsza ryzyko.
Można z tym się nie zgadzać i odrzucać kontrakty (i dopłacać z kieszenie właścicieli do firmy) lub pogodzić się z rzeczywistością. Gdy się połączy powyższe to wcale nie dziwi człowieka dlaczego to tak działa w większości przypadków.
Ale je nie twierdzę, żeby się z tym nie zgadzać i odrzucać kontrakty, bo każdy musi za coś żyć (pracowników trzeba opłacić). Jednak nie widzę też powodów, aby się z tym pogodzić.
Czy nie jest możliwe nie zgadzać się i wprowadzać zmiany? Ja nie mówię o rewolucjach, bo na te nikt się nie zgodzi i szczerze mówiąc, każde drastyczne zmiany niosą ze sobą (moim zdaniem) zbyt duże ryzyko. Ale czy stopniowa ewolucja nie jest możliwa? Nawet w trakcie trwania projektu? Taka rewolucja poprzez (czasochłonną, trudną i wymagającą dużo wysiłku i cierpliwości) ewolucję?
Może moje wypowiedzi były rzeczywiście zbyt czarno-białe jak to określiłeś, jednak nie wynika to z całkowitego braku doświadczenia, nieznajomości tematu bądź świata, w którym się poruszamy. Ja po prostu widziałem nie raz, że to działa, sprawdza się, a klienci są zadowoleni; dobre praktyki wpływają na szybkość tworzenia nowych rzeczy i rozwoju starych oraz na jakość tego, co powstało i powstaje.
Przypuszczalnie nigdy nie będzie mi dane pracować w idealnym projekcie, musimy godzić się na kompromisy, częściej większe niż mniejsze, jednak nie widzę przeszkód w tym, aby zostawiać obóz czystszym, niż się go zastało :)