Jak rozwijamy program do zarządzania projektami?

Zanim nowe funkcjonalności aplikacji FlexiProject ujrzą światło dzienne, często przechodzą krętą i zawiłą drogę. Choć droga od pomysłu do gotowego produktu wydaje się dosyć prosta okazuje się, że w trakcie trwania tego procesu może wyjść mnóstwo nieprzewidzianych rzeczy. Dobre rozwiązania wymagają jednak pewnych etapów, których nie można pominąć w procesie wytwórczym.

Potrzeby klientów i rynku

Źródeł nowych funkcjonalności może być kilka. Przede wszystkim są nimi potrzeby klientów, które stanowią najważniejszą wartość. To właśnie użytkownik końcowy jest w stanie najlepiej zdefiniować jakich możliwości brakowało mu dotąd w codziennej pracy.

Takie funkcje jak dodawanie projektów do kilku portfeli projektowych, elastyczne kolumny przy przeglądach projektowych, czy dodawanie informacji o projekcie oraz dacie końca na widgetach zadań na dashboardzie, to funkcjonalności wskazywane przez samych klientów.  Należy jednak pamiętać, że potrzeby klientów mogą być potrzebami indywidualnymi, które nie będą miały pokrycia w potrzebach wszystkich użytkowników. Podczas analizy takiego pomysłu zawsze trzeba weryfikować w jakim stopniu wpasowuje się on w wizję całego systemu.

Ważnym elementem jest również cykliczne dokładanie funkcjonalności z naszej roadmapy.  Pozwalają one realizować strategię oraz wizję systemu stworzoną na podstawie doświadczenia i analiz przeprowadzonych przez naszą firmę. Inspiracji możemy również szukać w systemach dostępnych na rynku, obserwując trendy i starając się przewidzieć jak zmiany w biznesowej rzeczywistości przełożą się na potrzeby organizacji.

Projektowanie rozwiązań dla firm

Mając już wybrany pomysł musimy skutecznie go przełożyć na odpowiednią funkcję w aplikacji. Do projektowania rozwiązania wykorzystujemy cykl Deminga, który pozwala nam osiągnąć najlepsze rezultaty.

  1. Zaplanuj

Ten etap zaczynamy od dyskusji, która ma na celu wyłonienie jak największej liczby pomysłów oraz zidentyfikowanie potrzeby na konkretną funkcjonalność w systemie. Często są to tak zwane „burze mózgów” gdzie na w otwarty sposób wymieniamy jak najwięcej sugestii. Ważne jest, aby nie ograniczać swojej kreatywności i by każdy pomysł miał okazję zostać przedstawiony do dyskusji. Po wstępnych dyskusjach staramy się spośród wszystkich propozycji wybrać najlepszą i przystąpić do jej zamodelowania.

  1. Wykonaj

Zdecydowana większość ludzi to wzrokowcy dlatego do wykonania wstępnej koncepcji funkcjonalności używamy graficznych, klikanych makiet systemu, które pozwalają możliwie dokładnie oddać dane rozwiązanie w systemie.

Projektowanie polskiego programu do zarządzania projektami

Każdy z nas inaczej interpretuje proste szkice, które powstają na pierwszym etapie, dlatego w głowie każdego z nas kształtuje się inna wizja rozwiązania w systemie. Makiety pozwalają zminimalizować ryzyko nieporozumień oraz klarownie przedstawiają nasz pomysł. Ważne jest to, aby zamodelowane rozwiązanie było spójne w sposób graficzny z resztą systemu. Ułatwia to odbiór rozwiązania oraz w przypadku akceptacji i przekazania do realizacji zapewnia spójność całego systemu.

  1. Sprawdź

Mając gotowe makiety przystępujemy do sprawdzenia naszej funkcjonalności. Po pierwsze weryfikujemy, czy funkcjonalność spełnia główną potrzebę, która została zdefiniowana na początkowych etapach. Niestety w całym procesie tworzenia dosyć łatwo zapomnieć o celu, który nam przyświecał na początku. Na tym etapie weryfikujemy również nasze wyobrażenia dotyczące funkcjonalności.

Każdy z nas zupełnie inaczej wyobraża sobie zastosowanie wstępnych szkiców w systemie. Widząc graficzne rozwiązanie oraz przechodząc pomiędzy ekranami jesteśmy w stanie ocenić jego jakość.  Staramy się również zbadać, czy rozwiązanie będzie dla użytkownika intuicyjne oraz zrozumiałe.

  1. Popraw

W przypadku negatywnego odbioru funkcjonalności wracamy do początku cyklu Deminga, gdzie tworzymy poprawki dla funkcjonalności za pomocą prostych szkiców. Następnie są one przekładane ponownie na makiety, sprawdzane i raz jeszcze poprawiane. Cały cykl trwa do momentu, aż uzyskamy satysfakcję ze stworzonego rozwiązania. Projektowanie funkcjonalności w taki sposób pozwala również w efektywny sposób zarządzać zasobami naszej firmy.

 

Wdrożenie nowej funkcjonalności

Po wypracowaniu ostatecznego rozwiązania, jest ono dokładnie opisywane. Mając starannie przygotowaną dokumentację programiści mogą przystąpić do implementacji naszego rozwiązania. Po ukończeniu tego etapu, efekt prac jest testowany i może finalnie  trafić do właściwego odbiorcy końcowego – firmy klienta.

Graficzne makiety pozwalają świetnie zasymulować rozwiązanie w system oraz niskim kosztem sprawdzić jego trafność.  Bez angażowania programistów jesteśmy w stanie już na samym początku zweryfikować czy wypracowane rozwiązanie odpowiada klientowi. Takie podejście daje nam też możliwość na bardzo wczesnym etapie wyłapania błędów analitycznych związanych ze źle zaprojektowaną aplikacją do zarządzania projektami. Dodatkowo cykl Deminga pozwala nam już na samym początku udoskonalić nasze rozwiązanie.

 


Dominik Wrzosek - FlexiSolutions

Dominik Wrzosek
Specjalista QA we FlexiSolutions