Zaczynamy

Efektywny system do zarządzania projektami - czyli lepszy przepływ informacji

Dominik Żochowski

Project manager

Pracując nad systemem do obsługi zgłoszeń serwisowych bardzo szybko doszliśmy do potrzeby rozróżnienia zgłoszenia otrzymanego przez klienta oraz zgłoszenia wysłanego do programisty realizującego dane zadanie (Task).

Od pewnego czasu pracujemy nad system poprawiającym kontrolę nad prowadzonymi pracami, który umożliwia szybkie i proste przekazanie zadania zleconego przez klienta bezpośrednio do osoby realizującej dane zadanie. Jedną z podstawowych funkcjonalności tego systemu jest możliwość kontroli czasu przyjęcia i realizacji zgłoszenia oraz możliwość określania kosztorysu prac.

Na rynku istnieje wiele gotowych systemów, które umożliwiają śledzenie informacji na temat tasków oraz tworzenie zadań dla poszczególnych osób uczestniczących w projekcie. Korzystanie z nich okazało się jednak niesatysfakcjonujące. Prace programistyczne wymagają znajomości projektu, historii realizowanych zmian, zakresu funkcjonalnego projektu. Zdarzało się, że zadanie opisane przez klienta wymagało objaśnienia technicznego (dodatkowych informacji technologicznych lub sposobu realizacji) lub wymagało współpracy więcej niż jednej osoby, gdzie każda z danych osób zajmowała się fragmentem ze swojego działu. Doszliśmy do wniosku, że samo przypisanie zadania do danej osoby jest niewystarczające i lepszym rozwiązaniem będzie rozróżnienia zgłoszenia otrzymanego przez klienta od zgłoszenia wysłanego do programisty realizującego dane zadanie.

Prace nad systemem zaczęliśmy od stworzenia struktury umożliwiającej dodawanie do zgłoszenia wielu tasków z możliwością dodatkowego opisu, indywidualna datą i statusem.


Zasada tworzenia zgłoszeń przyjęła formę

  1. Klient po zalogowaniu się na swoje konto w systemie może dodać zgłoszenie dotyczące realizowanego projektu - np uwag, zgłosić błąd lub zlecić rozbudowę systemu.
  2. Informacja o nowym zgłoszeniu wysyłana jest na adres email managera projektu. Po zapoznaniu się ze zgłoszeniem Manager nadajemy mu odpowiedni typ - jeśli zgłoszenie wymaga dodatkowych informacji dodaje komentarz do zgłoszeniem. Na podstawie zgłoszenia manager tworzy taki i przypisuje je do odpowiednich pracowników.
  3. Informacja o nowym tasku wysyłana jest na adres email pracownika (programisty) . Gdy prace nad taskiem  zostaną zakończone programista zmienia status tasku i uzupełnia informację na temat czasu realizacji zadania. System wysyła powiadomienie na email managera o realizacji zadania.
  4. Manager ma teraz czas na przeprowadzenie testów akceptacyjnych i zgłoszenie ewentualnych uwag.  Jeśli zadanie zostało zrealizowane w sposób prawidłowy - zmienia status zgłoszenia,, które od razu informuje Klienta o zakończeniu prac nad zgłoszeniem.


Istotnym elementem tej struktury jest możliwość tworzenia wielu tasków do jednego zgłoszenia, zapamiętywanie daty utworzenia zarówno zgłoszenia  jak i tasku, oraz zapamiętywanie zmiany statusu realizacji zarówno przy zgłoszeniu jak i przy tasku. Taka struktura realizacji zgłoszeń serwisowych jest szczególnie istotna z punktu widzenia prac programistycznych, w których procedura realizacji jednego zgłoszenia może wymagać kilku zadań  wykonanych przez kilka osób oraz potwierdzenia prawidłowej realizacji zgłoszenia.

Informacje o nowym zgłoszeniu przepływają przez trzy grupy odbiorców:

Klient

(wysyła zgłoszenie)


->
Manager

( kontroluje zgłoszenie)


->
Programista

(realizuje zgłoszenie)

Warto podkreślić tutaj, że każda z powyższych grup potrzebuje nieco innego zakresu informacji dla prawidłowego wykonania swojej pracy. Z punktu widzenia klienta, nie ma znaczenie czy zadanie będzie podzielone na jedno czy kilka zadań i czy będzie je realizować jedna czy więcej osób, podobnie dla programisty nie ma znaczenia czy dane zgłoszenie dotyczy rozbudowy funkcjonalnej czy jest to funkcjonalność wynikająca z zakresu umowy. Założenie jest proste - dana grupa powinna widzieć tylko informacje jakie są dla nich potrzebne - w jak nas czytelniejszej formie i możliwie jak najlepiej opisane.

Aby zrealizować powyższe założenie niezbędne było dostosowanie widoku listy zadań do odpowiedniej grupy odbiorczej. Zgodnie z tymi założeniami - każda z grup widzi nieco odmienne informacje o danym zgłoszeniu.

Konto klienta - Lista zgłoszeń

Po zalogowaniu się na swoje konto klient widzi listę swoich zgłoszeń. Przy każdym zgłoszeniu znajduje się szczegółową informacja na temat zgłoszenia:

  • ID - numer identyfikacyjny zgłoszenia
  • Dotyczy  - nazwa projektu
  • Temat  - Opis zgłoszenia
  • Status realizacji - Informuje klienta o tym na jakim etapie znajduje się dane zgłoszenie - np. W  realizacji, oczekuje lub zrealizowane
  • Typ zgłoszenia - Typ zgłoszenia nadawany jest przez managera po zapoznaniu się ze szczegółami zgłoszenia np, że zgłoszenia dotyczy błędów w aplikacji lub zmiany sposobu wyświetlania/działania istniejącej funkcji
  • Data dodania zgłoszenia
  • Data ostatniej aktualizacji - np zmiany statusu lub pojawienia się nowego komentarza


Konto  programisty - Lista Tasków

Po zalogowaniu się na swoje konto klient widzi listę swoich zgłoszeń.Przy każdym zgłoszeniu znajduje się informacja:

  • Priorytet - priorytet zgłoszenie - wysoki, średni i niski nadawany jest w sposób automatyczny względem planowanej daty realizacji zgłoszenia. Priorytet nadawany jest przez Managera projektu.
  • Imię - Do kogo zadanie zostało przypisane
  • Dotyczy - nazwa projektu
  • Task- Opis tasku
  • Numer zgłoszenia z jakim połączony jest task
  • Status realizacji - Informuje managera o tym na jakim etapie znajduje się dany task - nowe, oczekuje lub zrealizowane
  • Data utworzenia pasku
  • Czas realizacji - programista może w tym miejscu określić czas realizacji danego zgłoszenia

Manager - Lista zgłoszeń

Po zalogowaniu się na swoje konto manager widzi listę zgłoszeń oraz podpięte pod nie taski. Przy każdym zgłoszeniu znajduje się szczegółową informacja na temat zgłoszenia:

  • ID- numer identyfikacyjny zgłoszenia
  • Dotyczy - nazwa projektu
  • Temat - Opis zgłoszenia
  • Status realizacji - Informuje klienta o tym na jakim etapie znajduje się dane zgłoszenie - np. W  realizacji, oczekuje lub zrealizowane
  • Typ zgłoszenia - Typ zgłoszenia nadawany jest przez managera po zapoznaniu się ze szczegółami zgłoszenia np, że zgłoszenia dotyczy błędów w aplikacji lub zmiany sposobu wyświetlania/działania istniejącej funkcji
  • Data dodania zgłoszenia
  • Data ostatniej aktualizacji - np zmiany statusu lub pojawienia się nowego komentarza
  • Podpięte Taki
    • Priorytet - priorytet zgłoszenie - wysoki, Średni i niski nadawany jest w sposób automatyczny względem planowanej daty realizacji zgłoszenia. Priorytet nadawany jest przez Managera projektu.
    • Imię - Do kogo zadanie zostało przypisane
    • Task- Opis tasku
    • Data utworzenia tasku
    • Data realizacji tasku
    • Status tasku - określony przez programistę
    • Czas realizacji - określony przez programistę

Rozróżnienie na taski i zgłoszenia przy zachowaniu powiązania pomiędzy obiema obiektami okazałam się wygodnym i praktycznym rozwiązaniem realizacji zgłoszeń programistycznych.

Podobna zasada mogła by sprawdzić się przy wszystkich usługach związanych z realizacją zadań serwisowych - np. w przypadku serwisów każdego rodzaju produktów: komputerów, samochodów, narzędzi, sprzętu agd itp, jaki produktów digitalowych - w tym oprogramowania, serwerów wirtualnych, usług telefonicznych, usług poligraficznych itp. Myśląc o każdym oprogramowaniu należy dokładnie przeanalizować potrzeby jej grupy odbiorczej, przemyśleć jej potrzeby i maksymalnie uprościć procedurę jaką musi przejść dany użytkownik aby uzyskać pożądany efekt. Przy każdym polu jaki będziemy dodać warto zastanowić się czy jest to informacja istotna z punktu widzenia jej odbiorcy , czy mogę ją usunąć, czy jest ona niezbędna do realizacji danego zgłoszenia. Jeśli formularz będzie krótki - a jego aktualizacja szybka - wówczas użytkownicy chętniej bedą je wypełniać - a zbierane informacje bardziej miarodajne.

Opowiedz nam o swoich planach,
a my pomożemy Ci je zrealizować.

Zacznij nowy projekt