Wnioski ze współpracy z lokalną grupą

Nawiązując do ostatniego posta jaki pojawił się na moim blogu, chciałbym podzielić się kilkoma wnioskami jakie nasunęły mi się po realizacji ostatniego projektu. Myślę, że mogą być one cenne w perspektywie planowania kolejnych przedsięwzięć. Pewnych błędów można było uniknąć oraz niektóre sprawy zrealizować sprawniej. Nie jest to żadnego rodzaju wiedza objawiona, a jedynie moje przemyślenia 🙂

chmurka z żarówką wśrodku

1. Nie poświęcaj zbyt wiele czasu na drobnostki.

Kilka pikseli przesunięcia przycisku względem żądanej pozycji czy zapytanie bazy danych wykonujące się kilka milisekund dłużej niż by mogło w optymalnym scenariuszu. Dla kogoś, kto przejawia skłonności do perfekcjonizmu to prawdziwe piekło.

“Zrobię wszystko, żeby ten element wyglądał dokładnie tak jak tego chcę”. Takie podejście na pierwszy rzut oka wydaje się bardzo poprawne; ktoś po prostu dba o szczegóły. Ale nie do końca tak jest. W pewnym momencie dbałość o szczegóły staje się kulą u nogi. Spędzałem kilka godzin tylko nad tym aby dopracować jakiś element, który w żaden sposób nie rzutował na ostateczny odbiór aplikacji. Mały detal, którego nie byłby w stanie zauważyć nikt, kto nie przeanalizował by szczegółowo szkiców wyglądu narzędzia.

W takiej sytuacji na ogół pozytywna cecha, dbania o szczegóły wykonania, przeradza się w marnowanie czasu i zasobów. Trzeba zachować trzeźwość w ocenie tego, czy na pewno dana rzecz jest warta określonej ilości czasu. Przydaje się też elastyczność planu. Czasem łatwiej jest zmienić delikatnie plan aplikacji niż męczyć się godzinami z przeszkodami natury technicznej.

2. Bądź otwarty na dialog.

Myślę, że jest to najcenniejsza lekcja jaką wyniosłem z tego projektu. Najwięcej do powiedzenia w procesie tworzenia danego narzędzia powinna mieć osoba, lub osoby, które ostatecznie będą z niego korzystać.

Dlatego cenne okazały się spotkania i konsultacje. Wspólne burze mózgów oraz wersje testowe. Dzięki tym aktywnością ostateczny obraz aplikacji był jak najbardziej zgodny z wizją osób, które teraz jej używają.

Oczywiście pierwsza wersja to dopiero początek. Dlatego każda kolejna aktualizacja i usprawnienie realizuje w ścisłym porozumieniu z użytkownikami.

3. Na koniec dnia liczy się funkcjonalność.

Jako priorytet w trakcie wykonywania projektu postawiłem sobie skuteczność dostarczania. Chciałem zachować regularność wdrażania kolejnych funkcjonalności przy jednoczesnym zachowaniu ich jakości, aby od razu wprowadzane zmiany były gotowe do pokazania.

Efektem ubocznym tego postanowienia była o wiele większa systematyczność samego programowania. Jako, że nie miałem żadnego wyraźnego nadzoru „z góry” łatwo było o rozproszenie czy odkładanie pewnych rzeczy na później.

Ustanowienie sobie regularnych odstępów między kolejnymi wdrożeniami, pozwoliło mi łatwiej szacować czas jaki musiałem poświęcić na rozwój aplikacji oraz zachować systematyczność pracy.

Słowem podsumowania

Jestem przekonany, że przy kolejnym projekcie zastosuje wiedzę jaką wyniosłem z tego projektu. Mam nadzieję, że dzięki temu uda mi się skutecznie określać czy dany szczegół jest wart czasu, jaki trzeba mu poświęcić. Zaoszczędzę na tym prawdopodobnie czas i zasoby. Postaram się też zachować nawyk regularnego wdrażania zmian i regularnych spotkań z użytkownikami danej aplikacji.

Pomimo, że nie był to zbyt duży projekt, to udało mi się wyciągnąć z jego realizacji sporo cennych doświadczeń na przyszłość.

Kolejny wpis nie będzie związany typowo z dziedziną IT, tym razem przejdę do tematyki umiejętności miękkich.

A jakie wnioski nasunęły się Tobie po realizacji Twojego ostatniego projektu? Podziel się nim w komentarzu poniżej ;)

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *