e-Informatica Software Engineering Journal Zagadnienie kontroli pracy w procesie wytwarzania oprogramowania

Zagadnienie kontroli pracy w procesie wytwarzania oprogramowania

Jan Werewka,  Michał Piwowarczyk
Katedra Automatyki, Wydział EAEiI,  Akademia Górniczo-Hutnicza
werewka@ia.agh.edu.pl  michalp@system66.l.pl
Streszczenie

Jednym z istotnych zagadnień w procesie wytwarzania oprogramowania jest kontrola pracy i czasu realizacji zadań. Dodatkowo w warunkach globalizacji realizacja projektu często wymaga uczestnictwa wielu firm posiadających swe siedziby w różnych miejscowościach lub krajach. W takim przypadku jednym z kluczowych zagadnień jest dostarczanie i wymiana wiarygodnej informacji w trakcie realizacji projektów.

W rozdziale przedstawione zostaną zagadnienia związane z kontrolą czasu pracy wspomaganego przez odpowiednie oprogramowanie. Doświadczenia wykazują, że w wielu przypadkach próby wdrożenia złożonych systemów projektowania i kontroli pracy nie powiodły się. W opracowaniu dokonano przeglądu istniejących rozwiązań. Przedstawiono założenia i propozycję budowy systemu kontroli pracy, który w sposób minimalny ma obciążać pracowników uczestniczących w projektach, a z drugiej strony ma dostarczać niezbędnych informacji dotyczących realizacji zadań projektu. System ten należy traktować jako pewien element systemu kontroli, diagnostyki i zarządzania projektami informatycznymi. Kontrola czasu i pracy w procesie wytwarzania oprogramowania odgrywa ważną rolę w szczególności wtedy, gdy czas realizacji projektu jest napięty, a realizacja poszczególnych projektów jest ściśle od siebie uzależniona. Zaprezentowane rozwiązanie pozwala na efektywną kontrolę czasu i pracy w małych i średnich firmach informatycznych.

Wstęp#

W procesie wytwarzania oprogramowania jednym z kluczowych zagadnień jest posiadanie wiarygodnej wiedzy na temat stanu projektu oraz sposobu i zakresu jego realizacji. Zagadnienie staje się bardziej pilne wraz z rosnącą liczebnością grup projektowych oraz z ewentualnym rozproszeniem osób biorących udział w projekcie w różnych miejscowościach lub krajach. Przepływ informacji powinien być na tyle pełny by podejmowane decyzje dotyczące projektu przez zarząd, kierowników projektów bazowało na wiarygodnej wiedzy na temat postępu prac w realizowanych projektach. Oczywiście kontrola czasu pracy i kontrola realizacji prac stanowi bardzo istotny, ale tylko jeden z elementów niezbędnych w zarządzaniu wytwarzaniem oprogramowania.Jednym z ważniejszych zagadnień związanych z procesem wytwarzania oprogramowania jest szybkie i wiarygodne uzyskiwanie informacji o przebiegu realizacji projektów. Informacja taka jest ważna, gdyż umożliwia sprawdzenie, czy występują:

  • niezgodności w realizacji z założonym planem,
  • występują problemy związane z terminowością realizacji projektu,
  • nieoczekiwane trudności w realizacji prac i czym są one spowodowane.

Dodatkowo kierownik grupy projektowej jak i pracownicy uczestniczący w projekcie mają lepszy wgląd w proces wytwarzania oprogramowania, a dzięki temu bardziej utożsamiają się z projektem i mogą lepiej skoordynować oraz zorganizować pracę.

System realizujący powyższe cele powinien być prosty do zastosowania w mniejszych firmach informatycznych lub w firmach, w których nie ma szeroko wdrożonego systemu planowania i kontroli pracy. System kontroli pracy może być podłączony do systemu rozliczeń finansowych, wtedy jednak może zostać utracona akceptowalność systemu jako narzędzia do wspólnego i otwartego uczestnictwa pracowników w projektach.

System kontroli powinien być dostępny wewnątrz firmy i dostępny poprzez sieć publiczną (np. Internet) dla oddziałów położonych w innych miejscowościach. Również powinna istnieć możliwość udostępnienia informacji o realizacji prac kontrahentom. System powinien być bardzo łatwy w użyciu przez zwykłego użytkownika i nie powinien absorbować dużo czasu przy jego korzystaniu.

Powody i cele kontroli pracy#

Wydawałoby się, że zagadnienie kontroli pracy jest dobrze rozpoznane. W wyniku analizy opracowań książkowych odnosi się wrażenie, że problem ten jest nie jest zbyt wnikliwe rozważany i jest niedoceniany.Jednym z istotnych procesów przy zarządzaniu projektami jest proces kontrolny. Proces kontrolny polega na [SZYJ2001] monitorowaniu prac i mierzeniu postępu prac oraz podejmowanie działań korekcyjnych, gdy zachodzi taka potrzeba. Proces kontrolny ma bezpośredni wpływ na procesy wykonawcze, a także na procesy planowania i procesy zakończeniowe. W opracowaniu dużo uwagi poświęca się na monitorowanie kosztów projektu. Nie podaje się sposobów monitorowania, zasad działania i wykorzystywania systemu kontroli pracy.

W pracy [IOPI1999] poruszany jest krótko problem śledzenia postępu prac. Przytacza się uwagę, że w realizacji projektów informatycznych przez 90

W opracowaniu [ZPOP1999], które dotyczy zarządzania pracą w firmach (nie koniecznie informatycznych) mówi się o potrzebie kontroli pracy składającej się z czterech etapów: wprowadzenia norm i metod pomiaru pracy, mierzenia wyników przebiegu pracy, oceny wyników oraz reakcji nad odchyłki od normy. W [STWA1992] [ZPOP1999] wymienia się następujące powody kontroli pracy:

  • Zmieniające się otoczenie. W wyniku silnej konkurencji i globalizacji przystosowanie się do potrzeb odbiorców jest jedną z kluczowych zagadnień przeżycia przedsiębiorstwa. Powoduje to ciągłą konieczność zmian procesu wytwarzania. Kontrola pozwala na ocenę procesu wytwórczego i umożliwia zapobieganiu możliwych zagrożeń.
  • Rosnąca złożoność procesu pracy. Złożoność produkcji, jej decentralizacja, często działalność międzynarodowa wymagają szczegółowych działań kontrolnych.
  • Błędy pracowników. Zadaniem systemu kontroli jest reagowanie na błędy pracowników.
  • Przekazywanie pracownikom coraz większych uprawnień. Przy przekazywaniu coraz większych uprawnień pracownikom, konieczna jest odpowiednia forma kontroli.
  • Minimalizacja kosztów. Wprowadzenie systemu kontroli pracy związane jest z kosztami. Skuteczna kontrola umożliwia eliminację zbędnych nakładów, podnosi jakość i wydajność produkcji.

W pracy [BIENI2001] poruszany jest szeroko problem kontroli menedżerskiej i technik zbierania informacji, ale w sposób bardzo ogólny niezbyt przydatny dla procesów wytwarzania oprogramowania.

Jednym z efektów globalizacji jest specjalizacja w wykonaniu zadań przez różne organizacje rozmieszczone geograficznie w różnych miejscach. Powoduje to powstanie złożonych zależności pomiędzy tymi organizacji w ramach przepływu pracy. Wymusza to stosowania nowych metod zarządzania wykonywaniem prac (CoWf – Cross Organizational Workflow). Badania w tym zakresie prowadzone są przez różne grupy jak OMG (Object Management Group) i WfMC (Workflow Management Coalition) [VEAV2002].

Przegląd systemów kontroli pracy#

Aktualnie oferowanych jest wiele gotowych systemów informatycznych, których głównym zadaniem lub jednym z zadań są kontrole czasu pracy i realizacji prac w ramach projektów. Jedne systemy w całości dotyczą kontroli pracy, posiadając pewne możliwości zintegrowania z innymi systemami. Inne stanowią duże kombajny zawierające jako składową system kontroli pracy.W dużych przedsiębiorstwach często stosowane jest oprogramowanie wspomagające zarządzanie przedsiębiorstwem pochodzące od jednego dostawcy. Oprogramowanie takie jest bardzo kosztowne ze względu na jego rozmiar i złożoność. Złożoność takiego oprogramowania powoduje trudności w jego skonfigurowaniu i wdrożeniu zgodnie z wymaganiami konkretnego przedsiębiorstwa. Ponieważ takie oprogramowanie z założenia jest przeznaczone dla różnorodnych przedsiębiorstw, dlatego stosowana jest duża standaryzowana baza danych. Przykładami takiego oprogramowania jest oprogramowanie typu ERP, którego dostawcami są przykładowo SAP, PeopleSoft lub Oracle.

Innym rozwiązaniem dla firm jest dobór oprogramowania najbardziej dopasowanego do działalności firmy. W takim przypadku kupowane jest oprogramowanie od różnych dostawców dla różnych obszarów działalności przedsiębiorstwa. Pomimo tego, że oprogramowanie takie jest znacznie tańsze niż kompleksowe oprogramowanie od jednego dostawcy, to korzyści z tego mogą być zredukowane, gdyż mogą się pojawić problemy z integracją oprogramowania pochodzącego od różnych dostawców.

Optymalnym rozwiązaniem byłoby utworzenie oprogramowania systemu zarządzania przedsiębiorstwem, którego komponenty mogłyby pochodzić od różnych dostawców. Warunkiem jednak byłaby łatwa integracja oprogramowania różnego pochodzenia. Możliwym rozwiązaniem jest zastosowanie jednej bazy danych przedsiębiorstwa, zatem integracja mogłaby być zrealizowana na poziomie bazy danych.

Aktualnie jest wiele oferentów systemu kontroli czasu i pracy. Przykładowe opis rozwiązań można znaleźć na stronach WWW [EAST2002] [HILA2002] [TASE2002] [TWTS2001]. Systemy te są ukierunkowane przede wszystkim na finansowe rozliczenie prac. Stosowane są również próby integracji systemu kontroli pracy z systemami zarządzania projektami. System PTM (Project Oriented Timsheet Management System) [MELI2001] przy prawidłowym użytkowaniu ma zapewnić, że realizacja projektów jest właściwie śledzona, wykonywana na czas i dla zadanego budżetu. W systemie tym duża uwagę przywiązuje się do współpracy tego systemu z oprogramowaniem MS Project. Web TimeSheet [WTPL2003] firmy Replicon ma także możliwość powiązania z MS Project. Przy czym w Web TimeSheet nie jest aktualizowany czas z MS Project, a struktura projektu jest aktualizowana do warstwy czwartej.

Założenia systemu#

Podstawowym założeniem systemu jest konieczność kontroli pracy przez osoby znajdujące się w różnych organizacjach, ale biorące udział w tym samym projekcie. Następnym ważnym wymaganiem jest możliwość korzystania z systemu przez każdego użytkownika. Program kontroli powinien cały czas istnieć w tle na komputerze użytkownika i w sposób minimalny obciążać użytkownika pracą związaną z tym systemem. Wprowadzanie zawartości do arkuszu pracy powinno być bardzo wygodne i proste.Podstawowe wymagania funkcjonalne systemu dotyczą możliwości:

  • definiowania projektów,
  • definiowania zadań przypisanych do projektu,
  • definiowanie pracowników, grup roboczych i projektowych,
  • przypisywania pracowników do wybranych zadań,
  • wypełnianie kart pracy (ang. timesheet) przez użytkowników systemu,
  • śledzenia wykonywanych zadań przez kierowników,
  • generacji raportów/zestawień dla kierowników.

Konieczne jest także zróżnicowanie praw dostępu do systemu, gdyż oferowana funkcjonalność będzie inna dla podstawowego użytkownika systemu (np. programisty), a inna dla kierownika czy też dla kontrahenta firmy. Dlatego też w proponowanym rozwiązaniu należy przewidzieć co najmniej cztery rodzaje poziomów dostępu do systemu, a mianowicie:

  • Użytkownik podstawowy – wypełnianie arkusza pracy za dany dzień, przeglądanie wypełnionych arkuszy, przeglądanie przydzielonych zadań i projektów, w których uczestniczy.
  • Kierownik projektu – zmiana właściwości projektu, utworzenie/zmiana właściwości listy zadań dla wybranego projektu, zmiana właściwości grup projektowych, przypisanie użytkowników do grup projektowych, przypisanie użytkowników do utworzonych zadań, generacja raportów/zestawień, oraz funkcje dostępne dla podstawowego użytkownika systemu.
  • Administrator – utworzenie/zmiana właściwości projektu, utworzenie/zmiana właściwości grup projektowych, utworzenie/zmiana właściwości użytkownika systemu, przypisywanie praw do przeglądania projektów dla użytkowników zewnętrznych systemu – kontrahentów firmy, administracja systemem oraz funkcje dostępne dla użytkownika i kierownika projektu.
  • Kontrahent – przeglądanie wybranych projektów, postępu realizacji poszczególnych zadań.

Jak widać wyżej, użytkownik o prawach administratora ma największe uprawnienia w systemie. Z tego też względu zaleca się, co jest w tym przypadku oczywiste, aby użytkowników o prawach administratora było jak najmniej (docelowo np. dyrekcja).

System kontroli pracy powinien:

  • ułatwić wymianę informacji o projektach oraz o ich realizacji,
  • ułatwić podejmowanie decyzji,
  • wyeliminować dublowanie prac lub ponowne wykonywanie prac,
  • poprawić poczucie współdziałania i współzależności w realizacji projektów, zadań.
  • umocnić stosowanie poprawnych i sprawdzonych praktyk realizacji projektów.

Zagadnienia implementacyjne#

Proponowany system będzie dostępny z poziomu przeglądarki WWW, dzięki czemu nie będzie konieczna żadna instalacja oprogramowania po stronie użytkownika, tylko instalacja na serwerze z dostępem do sieci publicznej (Internet). Tym samym zostanie spełnione podstawowe wymaganie dotyczące dostępności do systemu przez różne organizacje biorące udział w projekcie. Podstawowe powiązania w proponowanym systemie przedstawiono na rysunku 1.

fig1.png

Architektura proponowanego systemu

Podstawowymi rodzajami danych przechowywanymi w systemie są arkusze pracy, opisy projektów i osób uczestniczących w projekcie (zasoby).Arkusze pracy Podstawową funkcją systemu jest umożliwienie wprowadzanie danych o realizacji projektu do arkusza pracy przez użytkownika podstawowego. Arkusz pracy na ekranie użytkownika wyprowadzany jest dla całego tygodnia podanego roku. Arkusz pracy może być edytowany przez każdego użytkownika systemu. W trakcie edycji podawane są następujące dane: dzień, czas rozpoczęcia, symbol projektu i zadania z tego projektu (wybierane z listy projektów i zadań), opis realizowanej pracy. Nie podaje się czasu zakończenia realizowanej pracy, gdyż przyjmuje się, że początek następnej pracy w danym dniu oznacza koniec poprzedniej pracy. Kończąc dzień użytkownik ma możliwość zaznaczenia tego faktu. Interesującą informacją dla kierownictwa byłoby uzyskanie informacji na temat typu pracy, np. kodowanie, dokumentowanie, analiza, testowanie. Nie zdecydowano się na wprowadzenie takiego pola. Natomiast założono, że projekt powinien zawierać podział na zadania dla różnych typów prac.

Arkusze pracy mogą być przeglądane dla projektu, zadania i osoby. W przypadku przeglądania arkusz zawiera następujące pozycje:

  1. Czas rozpoczęcia pracy.
  2. Czas zakończenia pracy (wyznaczane automatycznie).
  3. Czas wpisu opisu pracy (wyznaczany automatycznie).
  4. Symbol pracownika.
  5. Symbol projektu i zadania (wybierany z listy).
  6. Nazwa zadania (wyznaczana automatycznie).
  7. Opis realizowanej pracy.

Na arkuszu pracy przewidziano czas wpisu opisu pracy. Zaleca się, aby użytkownik wprowadzał opis wykonywanej pracy na bieżąco. Każdy wpis w późniejszym terminie może oznaczać, że dane wpisane w opisie pracy są mniej wiarygodne.

W systemie można uwzględnić zapis stanów niezwiązanych z projektem, ale mających istotne wpływ na projekt, jakimi są nieobecności spowodowane chorobami, urlopami (wypoczynkowymi, okolicznościowymi, bezpłatnymi), szkoleniami niezwiązanymi z projektami, itp.

Podsumowując można powiedzieć, że centralna część systemu edytowanie i przeglądanie arkuszy pracy jest prosta w obsłudze i w sposób znikomy absorbuje użytkownika podstawowego.

Projekty W systemie istnieje możliwość definiowania projektów. Każdy projekt posiada symbol, nazwę, opis oraz daty początku i zakończenia projektu. Każdy projekt składa się z zadań, które opisane są przez symbol, nazwę, opis, czasy rozpoczęcia i zakończenia zadania, listę przydzielonych zasobów (osób realizujących projekt), stan realizacji zadania.

Użytkownik wypełniając arkusz pracy musi powołać się na projekt i zadanie realizowane w ramach projektu.

System nie wspomaga harmonogramowanie prac, lecz posiada możliwość importowania opisów projektów wytworzonych przez inne oprogramowanie (np. MS Project). Dostarczenie aktualnego opisu projektu każdej osobie z grupy projektowej ułatwia dogodny dostęp do informacji o projekcie, przez to użytkownik bardziej utożsamia się z projektem i bardziej rozumie konieczność współdziałania przy realizacji projektu.

Zasoby Zasobami w tym systemie są poszczególne osoby bądź pewne grupy osób uczestniczące w realizacji projektu. Osoba (pracownik, użytkownik systemu) opisany jest poprzez: imię i nazwisko, e-mail, adres, nr telefonu, symbol osoby (zasobu), symbol grupy roboczej, symbol firmy, stanowisko, rola w systemie, liczba dni zaległych, dla których możliwe jest uzupełnienie arkusza, liczba dni na przód, dla których można dokonać uzupełnienie arkusza.

Użytkownicy łączeni są w grupy: firmy, oddziały (grupy robocze), grupy projektowe. Pracownik należy do jednej firmy i do grupy roboczej tej firmy, natomiast nie musi należeć albo może należeć do jednej lub wielu grup projektowych.

fig2.png

Podstawowe możliwości kierownika projektu (T -tworzenie, A – aktualizacja)

Kierownictwo firmy i kierownicy projektów mają możliwości tworzenia i aktualizacji (rysunek 2): projektów, zadań w projektach, listy pracowników, grup pracowników (działów), przydziału zadań dla pracowników, itp.Jednym z największych problemów jest zapewnienie systematycznego i pełnego wprowadzania danych do arkuszy pracy. W systemie zdefiniowane zostały zdarzenia i alarmy, które informują o zaistnieniu wybranych zdarzeń w trakcie realizacji projektu. Proponowanym alarmem jest brak wpisu lub zbyt skrótowy wpis danych do arkusza pracy przez podstawowego użytkownika. System udostępnia listę zdarzeń do wglądu dla kierownictwa. Możliwe jest wygenerowanie informacji o alarmach, a następnie przesłanie jej pocztą elektroniczną dla kierownictwa i użytkownika podstawowego.

Jeżeli system będzie w sposób konsekwentny stosowany to może udostępnić on istotną wiedzę o realizacji projektu zarówno dla zleceniodawcy jak i wykonawców. Przykładowo kierownicy firmy wykonującej oprogramowanie powinni najpierw przeglądnąć arkusze pracy, dokonać ich analizy a następnie przeprowadzać rozmowy lub narady z realizatorami projektów. Zleceniodawca z kolei będzie posiadał wiedzę o sposobie realizacji poszczególnych prac i może się włączyć w proces produkcji oprogramowania bazując na informacjach zawartych w arkuszach pracy. Dostępne informacje zawarte w arkuszach pracy mają często bardzo istotne znaczenie przy realizacji projektów. Wiele projektów informatycznych zakończyło się niepowodzeniem w wyniku braku bieżącej i wiarygodnej informacji o realizowanych pracach. Dodatkowo w przypadku przedłużających się projektów spowodowanych różnymi drobnymi życzeniami zleceniodawcy istnieje możliwość poprzez rejestrację pracy wykazania, jakie prace dodatkowo zostały wykonane, przez kogo i w jakim czasie.

W pracy skoncentrowano się na akceptowalności systemu przez użytkownika podstawowego. Dodatkowo użytkownik korzystając z systemu ma udostępnione na bieżąco dane o projekcie, poprzez to bardziej rozumie konieczność współdziałania w ramach zespołu projektowego. Przy opisie systemu nie omawiano możliwości dotyczących wyznaczenia różnych wskaźników dotyczących postępu prac. Tym nie mniej system ma możliwość tworzenia różnych zestawień i raportów. Do najbardziej podstawowych zestawień należą: stan realizacji zadań przez pracowników, stan realizacji zadań przez grupę projektową oraz zestawienie realizacji zadań przez grupę projektową z harmonogramem zadań planowanych.

Podsumowanie#

Kontrola pracy przy wytwarzaniu oprogramowania jest jednym z istotnych zagadnień mających duże znaczenie w zarządzaniu projektami informatycznymi. Istnieje wiele różnych rozwiązań dostępnych na rynku oprogramowania, lecz ze względu na swoją złożoność a także koszty wdrożenia, nie są one powszechnie stosowane.Zaproponowany system pozwala na łatwą i szybką kontrolę pracy w procesie wytwarzania oprogramowania. Podstawową zaletą tego rozwiązania oprócz swobodnego dostępu dla użytkowników (zastosowanie interfejsu WWW) jest łatwość obsługi, a także niskie koszty wdrożenia nawet dla małych firm informatycznych. Główny nacisk w projektowanym systemie położono na prostotę i wygodę obsługi użytkownika podstawowego, dzięki temu system jest łatwiej akceptowany przez pracowników firmy informatycznej.

System ten ma umożliwić integrację z popularnym oprogramowaniem do zarządzania projektami, jakim jest MS Project. Przyszłym kierunkiem rozwoju tego systemu jest integracja z systemami rejestracji czasu pracy pracowników, które bazują na czytnikach kart elektronicznych. Następnym krokiem jest z pewnością integracja z popularnymi systemami finansowymi w zakresie rozliczania płac. Jednak należy mieć na uwadze to, że integracja z tymi systemami może się negatywnie odbić na pierwotnych celach, jakie stawiano temu projektowi. System taki nie będzie postrzegany wtedy jako system wspomagania zarządzania, lecz jako system rozliczeń z pracownikiem.

Bibliografia#

[BIENI2001] H. , Metody sprawnego zarządzania, Planowanie, organizowanie, motywowanie, kontrola, 2001, Agencja Wydawnicza PLACET, Warszawa.
[EAST2002] Easy Street, Time & Expenses Reporting, Documentation, 2002, Genieworks Copr., URL: www.genieworks.ca.
[HILA2002] R. Hilal, Extended Microsoft Project with Tenrox Enterprise Time, Expense and Issue Tracking One Enterprise Database, Real-Time Synchronized, Workflow based, White Paper, 2002, Agencja Wydawnicza PLACET, Tenrox, note: URL: www.tenrox.com.
[IOPI1999] J. Górskiego, Inżynieria oprogramowania w projekcie informatycznym, 1999, ZNI MIKOM, Warszawa.
[MELI2001] L. Melik, Project Oriented Timesheet Management (PTM), White Paper, 2001, Tenrox, www.tenrox.com.
[STWA1992] J. A. Stoner i Ch. Wankel, Kierowanie, 1992, PWE, Warszawa.
[SZYJ2001] Z. Szyjewski, Zarządzanie Projektami Informatycznymi, 2001, Agencja Wydawnicza PLACET, Warszawa.
[TASE2002] TimeAssistant Enterprise, Documentation, 2002, Softterra, URL: www.time-assistant.com.
[TWTS2001] Time & Work Tracking Systems, ProductWhite Paper, 2001, Clockware, URL: www.clockware.com.
[VEAV2002] P. Venkatesh i C. Avinash, Cross Organizational Workflow Management Systems, 2002, Konf. Product Data Technology, Europe.
[WTPL2003] Web TimeSheet Project Link, Version 4.6r, 2003, Replicon, URL: www.replicon.com.
[ZPOP1999] Z. Jasińskiego, Zarządzanie Pracą – Organizowanie, Planowanie, Motywowanie, Kontrola, 1999, Agencja Wydawnicza PLACET, Warszawa.

©2015 e-Informatyka.pl, All rights reserved.

Built on WordPress Theme: Mediaphase Lite by ThemeFurnace.