Wpis z mikrobloga

@karolwojciszko: Jak poprawić wydajność programisty? https://wojciszko.com/2017/11/13/jak-poprawic-wydajnosc-programisty/

Często mówi się o tym, że dany programista jest “niewydajny”. Pojęcie to jest nieostre – można je różnie zinterpretować, ktoś w organizacji A może być uważany za niewydajnego, natomiast w organizacji B może być najbardziej produktywnym programistą z całego zespołu. Często chodzi jedynie o relatywizm i percepcje. Tak jak wspominałem w poprzednich wpisach – uważam, że ludzie z natury nie są “źli”. Nikt nie przychodzi do pracy z myślą, co by tu dziś opóźnić/zepsuć – starają się pracować najlepiej jak potrafią. Zdarza się jednak, że środowisko projektowe temu nie sprzyja – dzisiaj właśnie będzie o tym.

#wojciszko #programowanie #programista15k #zarzadzanieprojektami #webdev #php #java #javascript
  • 22
@Vetinari: zależy od dziedziny... Jak masz do wykopania dół o odpowiednich rozmiarach, to da się policzyć w jakim czasie wykopie ten dół ktos pracowity, ktos leniwy i koparka i takie coś można porównywać. Gorzej jest przy pracach których trudno zmierzyć,, bo jak, ilość kodu? Czy może ilość poprawianych błędów?, No właśnie jak to określić, tu możemy co najwyżej czuć, że coś idzie odpowiednio szybko, albo niekoniecznie i to też może być
@Kaczus2B: true. Da się określić wydajność programistów jeśli wykonują bardzo podobne zadania. W praktyce rzadko się takie zdarzają, niektórzy błędnie mierzą wydajność przez liczbę zamkniętych zadań (lub sumę story points zamkniętych zadań). Co dąży do tego, że ludzie mnożą zadania (by zamknąć więcej) lub przeceniają ich trudność
Ale prawdą jest to co jest przedstawione w artykule, bardzo demotywuje, że coś jest niedookreślone, ale to jeszcze pół biedy, udajesz sie do osoby akceptującej, by dopytać się szczegółów, dostajesz odpowiedz "zrób tak by było dobrze, ufam ci, że będzie dobrze", ok, robisz pierwszą przybliżoną wersję, podsyłasz, brak jakiejkolwiek reakcji, więc ja realizujesz, kończysz projekt i dowiadujesz się, że no nie do końca o to chodziło, że wyobrażał sobie to inaczej, no
@Kaczus2B: Można to określić na przykład tak: ilość funkcjonalności na sprint (można im dać wagi). Wtedy poprawianie bugów nie jest "produktywne", bo nie dostarcza nic do produktu. Taki podział trochę ułatwia finansowe liczenie, bo z punktu widzenia klienta błędy są niepożądane.
@Vetinari: błedy dzielimy na bugi i błedy projektowe, to nie jest jednoznaczne, bo poprawiając bład projektowy często dajesz mu nową funkcjonalność. Przykład, spotkałem się z czymś takim, że listy słownikowe na każdy rok ktoś zrobił w kodzie, ja miałem wprowadzić poprawki dość znaczne w liście na aktualny rok. Co ciekawe, do tego otrzymywali zarówno ppoprzednicy jak i ja xml-a ze słownikiem i opisem jak i zakresem działania odpowiednich danych w każdym
@Kaczus2B: @Vetinari ja bym w ogóle nie łączył wydajności z błędami. Może zdarzyć się, że ktoś poprawia czyjeś błędy (nie jest to jego wina). Istnieją też sytuacje gdy ktoś pisze kod szybciej ale z błędami - pomimo to jest w stanie szybciej poprawić te błędy niż osoba pisząca wolniej ale z mniejszą ilością błędów - więc w tym przypadku ta pierwsza osoba powinna być uznana za "wydajniejszą"
@karolwojciszko: Miałem ten pech, że moja pierwsza firma miła niemal perfekcyjną higienę projektową. Milestone dla projektów rozpisane na 3-4 kwartały z góry, epic stories na min. kwartał z góry, same zadania z obszernymi kryteriami akceptacyjnymi na min. 1 sprint do przodu, do tego liczone i w miarę stabilne velocity. Regularne spotkania scrumowe na poziomie zespołów i projektów. Każdy wiedział co ma robić i co robią inni, gdzie się pojawiają problemy i
@vanquin: Mam na myśli to, że idealnie z założenia masz na biurku tylko monitory, klawiaturę i mysz. Opcjonalnie kubek z kawą, ale nic więcej. Przynajmniej z takim najczęściej się spotykam.
I ogólnie spoko bo niby poprawia produktywność i obniża liczbę zalanych klawiatur, ale wtedy to biurko jest tak w pełni bezosobowe, że aż słabo się przy nim pracuje.