Korzystam w tym celu z arkusza kalkulacyjnego wyprodukowanego przez amerykańskiego potentata ale jestem przekonany, że taki sam efekt można osiągnąć korzystając z produktów innych producentów.
Arkusz składa się z trzech zasadniczych arkuszy:
- arkusz "Ewidencja projektów"
- arkusz "Ludzie i zasoby"
- arkusz "Plan gry"
Arkusz "Ewidencja projektów"
Jest to prosta lista projektów wraz z parametrami takimi jak:- osoba odpowiedzialna za projekt
- szacowana pracochłonność w osobodniach
- testerzy przypisani do projektu
- rekomendacja wdrożeniowa
- testowy cykl życia
Ostatnia pozycja odzwierciedla aktualny etap, na którym - z perspektywy procesu testów - znajduje się projekt. Może to być, planowanie, wykonanie lub zakończenie.
Ostatni etap okazuje się szczególnie "kłopotliwy". Zasada ogólna jest taka, że testy kończą się wraz z wygenerowaniem raportu końcowego. Raport końcowy zaś może być wygenerowany po kompletnym zakończeniu testów rozumianym jako zrealizowanie wszelkich rozpoznanych zadań testowych. W efekcie drobne zadanie, które może być zrealizowane dopiero po uruchomieniu całego projektu może "zablokować" raport końcowy. Dlatego zdecydowałem się na wprowadzenie dwóch raportów końcowych; wstępnego i końcowego.
Raport wstępny, jest dostępny po realizacji zasadniczej części testów, tuż przed "wdrożeniem". Tak jak raport końcowy, zawiera on rekomendację wdrożeniową ale zawiera także informacje o tym co pozostaje do zrobienia. Raport końcowy przygotowywany jest po definitywnym ukończeniu aktywności testowych.
Na marginesie zaznaczę, że "układanie" cyklu życia testów najlepiej jest zacząć od przyjętego modelu a następnie modyfikować go do zastanych potrzeb. Wprowadzenie cyklu życia testów wymaga także zmian po stronie innych partnerów. To z kolei modyfikuje sam proces testowy co właśnie wymusza iteracyjność procesu wdrażania cyklu życia testów.
Obrazek poniżej pokazuje wyimaginowany cykl życia testów.
Tutaj znajduje się zasadnicza część i stąd wynikaja główna korzyść: łatwy dostęp do informacji umożliwiającej planowanie i przeplanowywanie zadań testowych w zależności od oczekiwań developmentu bądź "biznesu". Z założenia jest to informacja szacunkowa. Nie wierzę w planowanie pracy członkom zespołu w godzinach.Raport wstępny, jest dostępny po realizacji zasadniczej części testów, tuż przed "wdrożeniem". Tak jak raport końcowy, zawiera on rekomendację wdrożeniową ale zawiera także informacje o tym co pozostaje do zrobienia. Raport końcowy przygotowywany jest po definitywnym ukończeniu aktywności testowych.
Na marginesie zaznaczę, że "układanie" cyklu życia testów najlepiej jest zacząć od przyjętego modelu a następnie modyfikować go do zastanych potrzeb. Wprowadzenie cyklu życia testów wymaga także zmian po stronie innych partnerów. To z kolei modyfikuje sam proces testowy co właśnie wymusza iteracyjność procesu wdrażania cyklu życia testów.
Obrazek poniżej pokazuje wyimaginowany cykl życia testów.
![]() |
Przykład struktury arkusza "Ewidencja" |
Arkusz "Ludzie i zasoby"
Na początku potrzebne są pewne nakłady pracy ale dzięki temu uzyskujemy elastyczne narzędzie do planowania.
W komórce "B2" należy wpisać datę początkową. Ponieważ w moim wypadku datą przecięcia jest 1 stycznia to wpisuję jako datę początkową, poniedziałek ostatniego pełnego tygodnia grudnia - aby uzyskać pewien margines.
Następnie ciągnę komórkę aby uzyskać dzienne daty z całego roku. Korzystając z funkcji "DZIEN.TYG" oznaczam weekendy i dopisuję numery poszczególnych tygodni. Nie należy zapominać także o świętach. Jest to praca, którą rutynowo wykonuję na początku roku.
W pierwszej kolumnie wypisuję nazwiska osób. Można także wypisać środowiska testowe. Od tego momentu korzystam z elementów graficznych nazwanych "smartArt" ale równie dobrze mogą to być standardowe kształty. Przypisując zadanie do osoby ustawiam tak kształt aby jego początek zaczynał się pierwszego dnia aktywacji a koniec ostatniego. Następnie można skopiować kształt i ustawić go na środowisku także w odpowiednich ramach czasowych.
W przykładzie poniżej tego nie widać, ale ja używam czterech różnych kolorów na oznaczenia różnych klas aktywności. Wizualnie wyodrębniają mi one:
- duże projekty
- małe zadania wspierające dewelopment lub testy ad hoc
- szkolenia i inne wydarzenia
- urlopy
![]() |
Arkusz monitorujący ludzi i zasoby w czasie |
Ten arkusz wykorzystuję do celów komunikacyjnych w rozmowach z innymi osobami lub działami, planując przyszłe zadania, pokazując status bieżący czy po prostu przygotowując plan prac na nadchodzący tydzień.
Arkusz "Plan gry"
Ten arkusz służy mi do komunikacji z najbliższym otoczeniem. Przygotowuję tutaj listę zadań przypisanych do osób i wysyłam do zainteresowanych (głównie mój zespół, inni kierownicy oraz dyrekcja). Przydzielam także procentowo czas. 20% oznacza 1 dzień roboczy. Jest to wartość umowna pozwalająca przyjąć moim współpracownikom pewne założenia co do organizacji tygodnia pracy.
Pozycja "Urlopy/Święta" oraz "Zasoby" jest stała i pozwala mi alokować czas odpowiednio albo dla nieobecności albo dla zadań typu ad hoc (np. szybkie testy fixów). Staram się też regularnie przeznaczać pewien czas w tygodniu na aktywność nazywaną "wsparciem developmentu". Jest to rodzaj dyżuru. W ramach tej aktywności, przypisana osoba ma za zadanie obsługiwanie małych zadań testowych, których potrzebę doraźnie zgłasza development.
Ukrywając przemijające tygodnie jestem w stanie wysłać prostą tabelkę, pokazującą plan prac per osoba z obciążeniem. Pozwala też na dystrybucję informacji o dostępności poszczególnych ludzi.
Podsumowanie
Podejście przedstawione powyżej wypracowywałem w różnych wariantach przez parę lat. Dla obecnej organizacji i w obecnym trybie pracy wydaje się to wystarczające do realizacji potrzeby planowania, uzgadniania i kontrolowania przepływu pracy.Dodatkowo, korzystając z mechanizmów automatyzujących (VBA) można użyć tego arkusza do bardziej wyrafinowanych celów. W moim przypadku najbardziej przydatne funkcje to:
- Automatyczne monitorowanie czasu
Za każdym razem kiedy w arkuszu ewidencji projektów zmieniam status projektu, w odpowiednich komórkach skrypt VBA wpisuje datę tej zmiany. Pozwala to na zbieranie danych statystycznych pomocnych przy szacowaniu pracochłonności. Mając informację ile średnio zajmuje planowanie i wykonanie jestem w stanie dostarczać prawdziwych szacunków. - Generowanie zadań w Outlooku
Jeszcze do niedawna wykorzystywałem funkcjonalność Outlooka do przydzielania zadań do wykonania. Stworzyłem dodatkowy arkusz, w którym z przygotowywałem spis zadań dla każdego członka zespołu. Taką informację wysyłam do wszystkich zainteresowanych (development, produkcja, zarządzanie produktem).
Następnie stworzyłem macro, które szczytuje wszystkie zadania razem z osobą odpowiedzialną. To samo macro odwołuje się do macra odpowiedzialnego za utworzenie obiektu zadanie w Outlooku. W ten sposób bardzo szybko jestem w stanie generować zadania dla zespołu. - Synchronizowania listy aktywnych projektów pomiędzy arkuszem "Ewidencja projektów" a "Plan gry".
Główną wadą tego rozwiązania jest brak możliwości współdziałania grupowego. Jednak nie taki miał być zasadniczy cel i jak wspomniałem poszczególne zadania definiowane są w systemie zewnętrznym. Aby jednak umożliwić dostęp on-line zainteresowanym, wygospodarowałem w infrastrukturze firmy miejsce na wewnętrznym serwerze www i tam publikuję aktualną wersję tego pliku. Korzystam z wbudowanego mechanizmu, który przy każdym zapisaniu pliku publikuje mi jego wersję na serwer www.
Informacje o tym jak skorzystać z tego mechanizmu, można uzyskać w wbudowanym systemie pomocy, wyszukując frazę "Zapisywanie całości lub części skoroszytu w statycznej stronie sieci Web".
1 komentarz:
Odpowiedni system pozwala na większą kontrolę nad kosztami oraz zasobami w projektach. Technologie znacząco usprawniają takie zadania jak kompleksowa obsługa czasu pracy czy nawet śledzenie przypisanych zadań. Więcej o tym - tutaj. Wpływa to bezpośrednio na efektywność, nie tylko poszczególnych pracowników, ale także całego przedsiębiorstwa.
Prześlij komentarz