# Podręcznik WebIssues

## Wersja 1.1.4

Spis treści » Wprowadzenie
« Logiczna organizacja danych
Przygotowanie systemu »

## Cykl życia sprawy

Na początek załóżmy, że system WebIssues jest używany do wewnętrznej komunikacji między członkami zespołu, zastępując fora dyskusyjne bądź listy mailowe. Folder reprezentuje forum lub listę związaną z określonym tematem, a sprawa — wątek dyskusji.

### Proste forum

Jan Kowalski jest nowym pracownikiem w twojej firmie i dopiero uczy się używać różnych programów, które są mu potrzebne do pracy. Jeden z programów księgowych, Big Finances, nie chce się uruchomić i zamiast tego wyświetlił niezrozumiały komunikat błędu. Kowalski loguje się do systemu WebIssues i otwiera folder Pomoc. Następnie dodaje nową sprawę i nadaje jej nazwę „Problem z Big Finances”. W opisie sprawy wyjaśnia, co robił, kiedy wystąpił problem. Dołącza również zrzut ekranu z komunikatem błędu w postaci pliku graficznego.

Ponieważ starasz się pomagać nowym pracownikom, regularnie w ciągu dnia zaglądasz do folderu Pomoc. Wszystkie wątki (sprawy) są domyślnie posortowane według daty ostatniej modyfikacji. Co więcej, nowe wątki, których jeszcze nie czytałeś, są oznaczone żółtym symbolem zamkniętej koperty i dodatkowo pogrubione — podobnie jak w wielu programach pocztowych czy forach dyskusyjnych. Otwierasz sprawę, czytasz opis problemu i otwierasz załącznik.

To dość częsty problem — wystarczy skasować jeden błędny plik i program Big Finances znowu powinien działać. Dodajesz do sprawy komentarz, w którym opisujesz sposób postępowania. Niedługo potem Kowalski zagląda znowu do katalogu Pomoc i zauważa, że jego sprawa jest oznaczona zieloną, zamkniętą kopertą i pogrubiona. Oznacza to, że ktoś inny zmodyfikował sprawę od czasu, kiedy ją ostatnio otwierał. Kowalski czyta twój komentarz, wykonuje opisane kroki i uruchamia program. Następnie odpisuje, że zaproponowane przez ciebie rozwiązanie pomogło rozwiązać problem. Przeglądając ponownie folder Pomoc szybko zauważasz zieloną kopertę — kolejny raz pomogłeś komuś nawet nie ruszając się z miejsca.

### Zgłoszenia serwisowe

Pół roku później firma rozrosła się tak, że nie jesteś w stanie już pomagać wszystkim pracownikom, nie zaniedbując własnych obowiązków. Co gorsza pojawiło się nowe oprogramowanie Great Finances, którego nie znasz tak dobrze i nie potrafisz samodzielnie rozwiązać wszystkich problemów. Zwykłe forum dyskusyjne przestało już wystarczać i konieczne było wprowadzenie wirtualnego punktu serwisowego.

Kowalski od niedawna używa nowego programu Great Finances i radzi sobie dobrze, ale właśnie pojawił się problem przy rozliczaniu faktur. Kowalski loguje się do systemu WebIssues i otwiera folder „Great Finances” — ze względu na dużą liczbę zgłoszeń, trzeba je było podzielić na osobne foldery związane z poszczególnymi programami. Dodając nową sprawę, oprócz nazwy musi teraz także wypełnić kilka dodatkowych pól (atrybutów) — rodzaj problemu, nazwa modułu oraz wersja używanego programu. Załącza również dokładny opis problemu.

W dalszym ciągu regularnie zaglądasz do systemu serwisowego, ale zajmujesz się głównie przypisywaniem nowych zgłoszeń innym osobom, a samodzielnie rozwiązujesz jedynie sprawy związane z programem Big Finances.

Ponieważ zgłoszeń w systemie jest bardzo dużo, korzystasz z widoku „Nowe zgłoszenia”, który wyświetla jedynie te zgłoszenia, które nie są jeszcze przypisane do żadnej osoby. W widoku tym pojawia się nowe zgłoszenie utworzone przez Kowalskiego. Nie czytając nawet opisu problemu, spoglądasz tylko na typ problemu i nazwę modułu, a następnie przechodzisz do trybu edycji sprawy. W polu „Przypisany do” wybierasz z listy użytkowników Adama Nowaka, który specjalizuje się w rozliczaniu faktur. Po zapisaniu sprawa znika z widoku Nowe zgłoszenie, ponieważ zostało ono już przypisane.

Adam Nowak korzysta z widoku „Aktywne zgłoszenia”, w którym widzi tylko sprawy przypisane do niego i posiadające status Aktywny (który jest domyślny dla nowo utworzonych zgłoszeń). Ponieważ nie zawsze ma czas na bieżąco do niego zaglądać, włączył sobie dodatkowe powiadomienie, które informuje go o e-mailem o nowych sprawach w tym widoku. Nowak potrzebuje więcej informacji od Kowalskiego, zatem dodaje komentarz z prośbą o ich dostarczenie. Kowalski widzi sprawę w widoku „Moje zgłoszenia”, zawierającym wszystkie aktywne sprawy, które zostały przez niego utworzone, a zielona ikonka, tak jak poprzednio, informuje go o wszystkich zmianach atrybutów i nowych komentarzach.

### Przepływ pracy

W wielu sytuacjach cykl życia sprawy może być jeszcze bardziej złożony, a w proces jego przetwarzania może być zaangażowanych wiele osób. Powszechnym przykładem jest cykl życia błędu w oprogramowaniu. Jest on tworzony przez testera, a następnie jest weryfikowany i przypisywany przez kierownika projektu do odpowiedniego programisty. Programista rozwiązuje (naprawia) błąd, a tester może albo zaakceptować rozwiązanie i zamknąć błąd albo je odrzucić i przypisać z powrotem do programisty.

Rysunek 1.4. Przykładowy cykl życia błędu

Taki proces, w którego poszczególne kroki są zaangażowane różne osoby, nazywa się często przepływem pracy (ang. workflow). W niektórych systemach przepływ pracy jest zdefiniowany w sztywny sposób i nie może być zmieniany lub może być modyfikowany jedynie w niewielkim stopniu. Inne systemy posiadają skomplikowane narzędzia służące do projektowania przepływu pracy.

W systemie WebIssues przepływ pracy nie jest w żaden sposób wymuszony, ale można go w bardzo łatwy sposób modelować, wykorzystując w odpowiedni sposób atrybuty (określające aktualny stan sprawy, a także przypisaną do niej osobę), widoki (ograniczające zbiór spraw do znajdujących się w określonym stanie i przypisane do odpowiedniej osoby) oraz śledzenie stanu spraw (wskazujące nowe i zmodyfikowane sprawy).

Osoby uczestniczące w różnych etapach przepływu pracy mogą korzystać z różnych widoków, aby skoncentrować się tylko na tych sprawach, które wymagają ich interwencji. Przykładowo, programistę na ogół interesują tylko aktywne i przypisane do niego błędy, ale w razie potrzeby ma dostęp do wszystkich błędów niezależnie od ich stanu — na przykład aby odnaleźć inne błędy, które mogą być potencjalnie związane z aktualnie przetwarzanym.

Również osoby nadzorujące cały proces mogą w odpowiedni sposób korzystać z widoków, aby kontrolować liczbę aktywnych spraw lub podejmować odpowiednie kroki w sytuacji, gdy jakiś błąd przez dłuższy czas pozostaje nierozwiązany. Dodatkowo mają do dyspozycji narzędzia umożliwiające tworzenie raportów czy eksport danych do innego programu (np. arkusza kalkulacyjnego) w celu dalszej analizy.

« Logiczna organizacja danych
Przygotowanie systemu »