To jest MÓJ projekt...

W projektach zwykle przyjmuje się, że osoba pisząca dany fragment kodu jest za niego odpowiedzialna. Projektant za projekt. Dział marketingu za sprzedaż. Przykładów takich można przedstawić wiele więcej. Odpowiedzialność skupia się tylko na jednej osobie. Podział odpowiedzialności posiada jeszcze jedną konsekwencje. Nikt inny nie interesuje się kwestią nie związaną z jego obowiązkami. A czymże jest super program bez dobrej reklamy? Projekt bez programistów?

Odpowiedz na to jest prosta i do niej właśnie zmierzam. Do uzyskania sukcesu produkcji oprogramowania potrzebujemy wszystkiego i wszystkich.
Przejście jednak wszystkich procesów od analizy przez programowanie do sprzedaży nie wystarczy. Osoby lub działy muszą ściśle współpracować, a nie tylko wykonywać swoją pracę. Dlaczego? No bo co mogą wiedzieć marketingowcy o programie, który został napisany przez inny dział? Co może wiedzieć programista o projekcie, gdy okazuje się coś nie do końca zrozumiałe? Tutaj odpowiedz nasuwa się sama... Nic... Zupełnie nic... W najlepszy przypadku "coś".
A więc powiadam Wam drodzy czytelnicy do uzyskania sukcesu potrzebna jest wszechobecna współpraca!
To jednak nie koniec, aby współpraca była pełna to trzeba także słuchać w drugą stronę. Nie uważać, że zrobiłem to najlepiej jak się dało. Najczęściej to jest zrobione najlepiej jak umiałem. Programiści często mają dobre pomysły do projektu. Dział marketingu jaka funkcjonalność podniosłaby wartość programu. Boimy się jednak przyznać, że ktoś ma rację. Wolimy stać dumni i mówić, że to NASZ projekt. NASZ kod. NASZ obowiązek i odpowiedzialność.
Z drugiej strony biorąc winę i pochwały za stworzony kod dla siebie jesteśmy skazani na porażkę. Spowodowane jest to czynnikiem ludzkim. A dokładniej omylność. Nikt z Nas nie jest nieomylny. Mamy lepsze lub gorsze dni. Czasami wpadamy od razu na najlepszy sposób rozwiązania. Zdarza się jednak, że na lepsze rozwiązanie wpadamy dopiero po jakimś czasie. A na najlepsze wpadają Nasi współpracownicy ;) W naszym interesie jest także podzielenie odpowiedzialności w ramach zespołu, a nie konkretnych osób.

A teraz coś tylko i wyłącznie dla Was drodzy programiści

Współpraca powinna istnieć także na samym etapie programowania. Nie możemy utożsamiać się i kogoś z kodem. Za napisany kod jest odpowiedzialny zespół. Nie może być tak, że oskarżamy kogoś za popsucie kodu. Skoro osoba coś zepsuła to trzeba jak najszybciej to naprawić i tutaj nie ważne kto to zrobi. Z drugiej strony trzeba wziąć też pod uwagę to, że skoro ktoś coś zrobił nie tak, może nie wie jak to robić? A być może powinniśmy wprowadzić Code Review do zespołu w ramach rozwoju poziomu kompetencji? Za to jest odpowiedzialny cały zespół. I tak powinno być! A jak jest to każdy dobrze wie...

Trendy w informatyce

Cieszy mnie jednak rosnący trend wśród firm informatycznych, gdzie bardziej kładzie się nacisk na umiejętności miękkie oraz współpracę. Mało zawodów idzie tak daleko do przodu i zaczyna współpracować ściśle wraz z klientem. My mamy u siebie metodologie zwinne, które kładą właśnie na to nacisk. Według mnie jest to powód do dumy.

Współpracujmy!

Podsumowując współpraca jest jedną z ważniejszych rzeczy, które potrzebujemy w wytwarzaniu oprogramowania. Musimy zwracać dużą uwagę na jej rozwój. Być otwartym na pomoc i rady. Nie zamykać się w piwnicy i robić wszystko samemu. Czasy się już zmieniły i trzeba dążyć zgodnie z ich duchem.

Comments

Popular posts from this blog

Why TDD is bad practice?

How correctly imitate dependencies?

Software development using Angular 5 with Spring Boot