wtorek, 30 czerwca 2009

User Story

Cel


W tym wpisie zapoznamy się z pojęciem User Story oraz z cyklem życia nowoutworzonej historii użytkownika.

Pojęcie User Story

User story to historia - scenariusz działania - które system powinien realizować opisana - zgodnie z nazwą - z punktu widzenia końcowego użytkownika aplikacji. Najczęściej jest to ścieżka przetważania pobierająca dane wejściowe, które przechodząc poprzez logikę aplikacji wprowadzają ją w jakiś stan lub też aplikacja utrwala te dane (najczęściej dodadkowo spreparowane) w bazie danych.

Tworzenie User Story

Aby utworzyć nowe user story możemy skorzystać z następujących lokalizacji na których znajduje się przycisk 'Utwórz nowe User Story':
  • Dziennik Projektu - pod tą pozycją Menu Projektu możemy wykonać również import oraz eksport zdefiniowanych User Stories do pliku .cvs;
  • Zadania - przycisk znajduje się nad wykresem obrazującym ilość wykonanej pracy - przycisk o którym mowa znajduje się w tym samym miejscu w którym znajduje się na stronie Dziennika Projektu;

Oto jak wygląda ekran tworzenia nowego User Story:


Omówimy teraz kolejne pozycje tego formularza:
  • Nazwa - powinna jak najlepiej odwzorować proces który klient opisuje za pomocą tego User Story;
  • Kolor karty - w celu odróżnienia poszczególnych User Story (lub też dla ich pogrupowania) możemy wybrać tutaj kolor tła karty na której definiowane własnie User Story będzie prezentowane;
  • Prorytet - są tutaj do wyboru: Niezbędne, Potrzebne, Przydatne, Nie tym razem - tutaj definiujemy priorytet wykonania - jest on potrzebny aby zdefiniować "pilność" wykonania każdego z nich;
  • w następnej liście możemy wybrać iterację - ale oczywiście nie musimy - w której dane User Story musi być wykonane, czyli zostać zaakceptować przez jego właściciela;
  • tutaj możemy opisać dokładnie co zawiera się w danym User Story - generalnie tak jak definiujemy User Story używamy tutaj języka który jest zrozumiały dla klienta - zresztą User Story pisze najczęsciej klient opisując swoje potrzeby odnośnie tworzonego oprogramowania;
  • tagi - w to pole wpisujemy słowa klucze które oddają treść User Story aby móc potem przefiltrować wszystkie User Story pod kątem danej zawartości (na stronie Dziennik Projektu);
  • Właściciel User Story to ten użytkownik który będzie zarządzał danym User Story;
  • Akceptujący to ten użytkownik który będzie weryfikować poprawne wykonanie tego User Story;
  • nakład pracy - tutaj z rozwijanej listy będziemy wybierać ile jednostek (wirtualnych) czasu będzie potrzebne do wykonania tego User Story;
  • dodaj domyślne zadania - oznacznie tego checkboxa spowoduje że zostanie utworzone domyślne zadanie dla tego User Story;
  • załączniki - tutaj będziemy mogli dołączyć jakieś pliki które są pomocne do lepszego zrozumienia tego User Stories lub potrzebne do jego rozwiazania;
  • na końcu mamy przyciski do zapisu lub anulowania tego User Story;

Po zapisaniu danego User Story zostaniemy przeniesiony na następującą stronę:


Mamy na niej szczegółowe informacje o dodanym właśnie User Story. Prawa kolumna jest wypełniona oknem komentowania oglądanego User Story oraz napisanymi już komentarzami. Pod danymi User Story pokazana jest lista zadań które są powiązane z danym User Story. Powyżej tej listy zadań jest przycisk który umożliwia dodanie nowego zadania do tego User Story. Nad informacjami szczegółowymi a pod Menu Projektu znajdują się informacje dotyczące edycji wybranego User Story. A więc możemy za ich pomocą:
  • Podzelić User Story - otworzy się tak naprawdę okno edycji danego User Story za pomocą którego będziemy mogli zmienić wszystkie edytowalne dane poprzedniego User Story gdyż za pomocą przycisku Zapisz dane z tego formularza posłużą do utworzenia nowego User Story;
  • Edycja User Story;
  • Usunięcie Uset Story;


Przeglądanie User Stories

Pod pozycją Dziennik projektu wybrane za pomocą tagów User Stories możemy przeciągnąć do wylistowanych w prawej kolumnie Iteracji. Zmienić przydział User Story do Iteracji możemy również za pomocą edycji User Story z poziomu jego widoku, a następnie klikając w przycisk Edycja.

Pod pozycją Zadania również widzimy User Story - jednak tylko te które są zdefiniowane w ramach danej (wybranej z rozwijanej listy) Iteracji. W wierszu każdego User Stories dostępne są w tym widoku Zadania których wykonanie jest konieczne do spełnienia funkcjonalności opisanej w danym User Story.

W menu Akceptacja widzimy listę User Story w ramach Iteracji która jest wybrana z rozwijanej listy znajduącej się pod Pozycją menu. Tutaj widzimy wszystkie niezaakceptowane User Stories w tej iteracji. Gdy wszystkie zadania z danego User Story zostaną już zaakceptowane pojawiają się w tym widoku przyciski które umożliwiają zaakceptowanie bądź też odrzucenie danego User Stories. Akceptacja wszystkich User Stories prowadzi do możliwości zamknięcia iteracji. Oto jak wygląda strona w przypadku odrzucenia User Story ze wszystkimi zadaniami które są już wykonane:

Jak widać musimy podać przyczynę odrzucenia danego User Story i ją opisać. Informacje te stają się wówczas nowym Zadaniem które automatycznie jest przypisane do tego User Story i które staje się nowym zadaniem do zrobienia.

Podsumowanie

To tyle jeżeli chodzi o User Stories zapisaną w tym wpisie. Zaprezentowałem tutaj cykl życia User Story w TinyPM. Jednak podobnie jak tutaj używałem pojęć Iteracja i Zadanie które to nie zostały jeszcze opisane, tak również nie rozstajemy się z pojęciem User Story, gdyż podczas omawiania właśnie Zadań oraz Iteracji jeszcze nie raz wspomnę o Uset Story.

środa, 24 czerwca 2009

Widok w menu projektu

Wygląd - pasek menu projektu


Zanim przystąpimy do omawiania poszczególnych czynności związanych z zarządzaniem projektem, omówię pokrótce wygląd Menu Projektu. Oto zrzut ekranu który uzyskamy gdy z listy projektów (zaznaczonej na poniższym obrazie kolorem żółtym) nie wybierzemy żadnego projektu (co sprowadzi się do wybrania pustego wpisu z tej listy wartości):

Jak widać pasek Menu Projektu jest teraz bardzo ubogi i ogranicza się do dwóch pozycji: Pulpit (zawartość ta którą widać na zrzucie) oraz Historia (pozwala wybrać wszystkie akcje (elementy oraz działania które możemy wykonać na projekcie), wszystkich użytkowników we wszystkich projektach - nie będziemy jej szczegółowo omawiać.



Zajmiemy się teraz analizą tego co widzimy z menu Pulpit. Zacznijmy od tego że wszystkie elementy tworzące zawartość tej strony (poniżej menu użytkownika) są zebrane ze wszystkich projektów utworzonych aktualnie w systemie. W lewej kolumnie u samej góry widzimy obszar który nazywa się strona startowa projektu. Akurat jej nazwa nie jest zbyt dobrze opisana bo w tym kontekście (nie mamy wybranego żadnego projektu) niestety strona ta nie jest stroną projektu a jedynie stroną którą możemy określić jako 'powitalną' dla całego systemu. Można ją dowolnie edytować a treść wypełniać mogą informacje dotyczące rzeczy ogólnych - uniwersalnych dla każdego projektu. Poniżej widzimy listę najnowszych zdarzeń które zaszły w obrębie całego systemu. Jest to tak naprawdę wierzchołek listy która jest dostępna pod pozycją w menu projektu - Historia. Będziemy tutaj widzieć zdarzenia wykonane na user story, zadaniach oraz iteracjach. Wyjaśnienie tych terminów w tym i następnych wpisach. W prawej kolumnie widzimy listę projektów. Jeżeli klikniemy na któryś z nich pod jego nazwą pojawi się informacja ze strony startowej projektu oraz coś co można nazwać burndown chart - estymacja czasowa projektu (o tym jeszcze wspomnimy). Pod listą zarządzanych projektów w systemie, widzimy jeszcze niezaakceptowane User Stories których jesteśmy właścicielami - więcej o UserStories w następnym wpisie.

Widok o którym tutaj napisałem dotyczy wszystkich elementów (user story, użytkowników, zadań, iteracji, projektów) zdefiniowanych w całym systemie - wprowadzę więc dla przejrzystości opisu pojęcie kontekstu systemu. Jest to zasięg danych które przeglądamy. W TinyPM mamy dwa takie konteksty:

  • ogólny - w którym przeglądamy wszystkie elementy wszystkich projektów w systemie;
  • projektu - w którym przeglądamy tylko elementy dotyczące danego projektu.

Pojęcie element którego powyżej użyłem jest stosowane do agregacji takich pojęć które są związane z projektem. Tak więc mogą to być:

  • zadania;
  • user story;
  • iteracje;
  • wykresy postępu prac w przedziale czasowym;

Teraz omówię elementy menu projektu w kontekście wybranego projektu. Wyboru projektu możemy dokonać poprzez wskazanie go z listy po prawej stronie menu projektu (na screenie powyżej jest ona oznaczona kolorem żółtym.

Jak widzimy przybyło nam do menu użytkownika dosyć dużo pozycji. Oto one:

  • projekt;
  • dziennik projektu;
  • zadania;
  • akceptacja;
  • wiki;
  • moja aktywność;

W pozycjach Pulpit oraz Historia nie zaszły żadne (a ich funkcjonalności zostały one opisane w jednym z wcześniejszych akapitów). Warto jedynie wspomnieć, że gdy ze stron dostępnych pod tymi pozycjami menu projektu z rozwijanej listy projektów po prawej stronie wybierzemy któryś z nich to zostaniemy automatycznie przeniesieni na stronę dostępną pod pozycją menu użytkownika Projekt (z elementami dostępnymi dla tego projektu).

Projekt

Pod tą pozycją uzyskujemy treść łudząco podobną do zawartości strony dostępnej pod pozycją Pulpit. Jedyne różnice wynikają z tego, że w momencie przeglądania zawartości tej strony mamy już wybrany projekt (czyli znajdujemy się w kontekście projektu - jak to ja już wspomniałem). Oto zrzut z 'czystej' strony dla nowoutworzonego projektu:

Kolorem czerwonym oznaczony jest przycisk który dodaje do wybranego projektu powiązaną z nim stronę - wyświetlana ona będzie w tym samym bloku w którym znajduje się ten przycisk. Opis w bloku który jest objęty ramką w kolorze zielonym to opis projektu pochodzący z formularza dodającego nowy projekt i tam też można dokonywać jego edycji. Jak widzimy lista Najnowsze Zdarzenia jest w tej chwili pusta podobnie jak wykres obrazujący prędkość projektu. Tak oto wygląda strona projektu nad którym są już rozpoczęte prace:

Jak widać wykres jednostek które pozostały do wykonania a jednostek w których mierzone jest wykonanie rzeczy mocno się rozmija - na szczęście jest to tylko przykładowo utworzony projekt. W rzeczywistości taki rozdźwięk pomiędzy poszczególnymi wykresami świadczyłoby o niedoszacowaniu prędkości pracy wykonawców przez osobę która decydowała o przydziale liczby zadań do iteracji (przypisanych było za mało zadań - w tym przypadku - czemu? Mam nadzieję że po przeczytaniu następnych wpisów będzie to dla was jaśniejsze. Blok Najnowsze zdarzenia odnosi się wyłącznie do elementów z projektu który jest aktualnie wybrany.

Dziennik projektu

Wybierając tą pozycję menu przechodzimy już do zarządzania elementami projektu. Jest to strona z której sterujemy projektem z samej jego góry - na największym poziomie granulacji projektu jakim są User Stories - omówione one zostaną w następnym wpisie. Z tej strony możemy przejść do tworzenia nowych User Stories importować je do plików .cvs, eskportować, przeglądać wg tagów którymi są opisane jak również przypisywać do kolejnych Iteracji. W stronie pojawiającej sie po kliknięciu w tą pozycję menu możemy zarządzać również iteracjami - a konkrentniej: możemy je z tej strony tworzyć oraz przypisywać im wybrane User Stries (co można zrobić w bardzo wygodny sposób: przeciągając wybrane User Story do odpowiedniej Iteracji). Iteracje opiszę szerzej w jednym z następnych wpisów.

Zadania

Pod tą pozycją Menu Projektu kryje się przeglądanie projektu w którym mamy czytelny podgląd na Zadania - najmniejszą jednostkę na którą podzielony jest projekt względem jej relacji do User Stories oraz Iteracji. Zawartość którą oglądamy zależy od Iteracji którą wybierzemy z rozwijanej listy znajdującej się pod Menu Projektu z zaznaczoną czerwoną obwolutą rozwiniętą listą zdefiniowanych dla wybranego projektu (obwoluta żółta) listą iteracji:

Niebieską obwolutą zaznaczony jest przycisk za pomocą którego możemy dodać nowe User Story (podobnie jak to ma miejsce w stronie odpowiadającej menu Dziennik Projektu). Pozostałą zawartość strony tworzy lista User Stories przypisane do wybranej iteracji. Nad każdym takim User Story znajduje się przycisk umożliwiający dodanie nowego Zadania w ramach skojarzonego z przyciskiem User Stories. W tym samym wierszu znajdują się jeszcze Zadania które składają się na wykonanie odpowiadającego im User Story. Zadania te mogą być w jednej z trzech kolumn - w zależności od ich stanu wykonania:

  • oczekujące;
  • w trakcie wykonywania;
  • zakończone;

Akceptacja

Tutaj widzimy również rozwijaną listę iteracji z tym że po wyborze którejś z nich widzimy User Stories które do niej należą a które nie są zaakaceptowane. Gdy klikniemy na nazwę takiego User Story przeniesiemy się do poprzednio opisanej pozycji menu - Zadania.

Wiki

Tutaj każdy użytkownik którego Rola zawiera możliwiość edytowania Wiki może edytować stronę która zawierać może różne informacje potrzebne do wykonania danego projektu. Zawartość tej strony pojawia się również na stronie dostępnej pod przyciskiem Pulpit.

Moja aktywność

W tej pozycji menu użytkownik może dodać swoje aktywności które poświęciliśmy na wykonanie zadania które było do nas przypisane. Możemy również określić długość spędzonego czasu nad danym zadaniem oraz dopisać info do tej aktywności (np. któtką informację o problemach które mogliśmy napotkać podczas rozwiązywania danego zadania).

TinyPM - tworznie nowego projektu

Cel

W tym wpisie zaprezenowana będzie ścieżka poruszania się po stronach aplikacji TinyPM w celu utworzenia oraz skonfigurowania nowego projektu, którym będziemy potem mogli zarządzać.
Listing utworzonych projektów

Aby zobaczyć listing utworzonych projektów z 'górnego' menu wybieramy pozycję 'Projekty' (zaznaczoną czerwoną obwolutą, na poniższym screenie). Akcja skojarzona z tym przyciskiem przeniesie nas na stronę z listą projektów która może wyglądać tak:


Klikając na tej liście w przycisk 'Utwórz nowy projekt' (oznaczony na powyższym zrzucie zieloną obwolutą). W ten sposób przeniesiemy się na stronę dodawania nowego projektu:

Jak widać dodając nowy projekt którym będziemy mogli zarządzac musimy podać kilka informacji na jego temat:

  • kod - unikalny w obrębie systemu;
  • nazwa - pozwala na jego czytelne nazwanie;
  • data rozpoczecia projektu - tego chyba komnetować nie trzeba;
  • docelowa data zakończenia projektu - nieobowiązkowa;
  • możliwośc wyboru czy projekt jest aktywny czy też nie;
  • opis - w edytorze WYSIWIG możemy opisać na czym projekt ten polega - dodać do niego informacje które uważamy za istotne;
  • wybieramy właściciela projektu;
  • zaznaczamy tych użytkowników którzy będą brali udział w tworzonym projekcie;

Tak opisany projekt tworzymy klikając w przycisk 'zapisz' (oznaczony zieloną obwolutą na powyżej załącznonym zrzucie z przeglądarki).

Dodajmy jeszcze że analogicznie przeprowadzamy edycję danych projektu - wybierając przycisk graficzny 'edycja' (z kolumny akcja) na stronie listingu wszystkich projektów. Obok ikonki z edycją istniejącego projektu znajduje się ikonka usuwania projektu. Wszystkie te ikonki są zaznaczone wraz z ich znaczniem na pierwszym dołączonym zrzucie w tym wpisie. Znajduje się tam jeszcze jedna opcja (środkowa ikonka) - 'edutuj ustawienia';

Edycja ustawień projektu

Po kliknięciu w ikonkę 'edytuj ustawienia' oczom użytkownika ukaże się następujący widok:


Definiujemy w takie parametry projektu jak:

  • obowiązkowe pole 'skala estymacji' - jest to lista wartości których użyjemy na późniejszym etapie aby określić czas wykonania danegu User Story;
  • domyślana długość tworzonych iteracji;
  • nazwa domyślnego zadania tworzonego do każdej iteracji;

Wszelkie dokonane zmiany zatwierdzamy klikając na przycisk 'zapisz' oznaczony na powyższym zrzucie kolorem zielony.

poniedziałek, 15 czerwca 2009

TinyPM - instalacja

Możliwości instalacji

W tym wpisie pragnę przedstawić proces instalacji systemu TinyPM. Zainstalować go możemy na dwa sposoby:
  • instalator (systemy operacyjne z rodziny Windows);
  • deploy aplikacji webowej;
Użycie instalatora w zasadzie sprowadza się do zapisania na dysku specjalnie spreparowanego serwera Tomcat-a wraz z od razu zdeployowaną na nim aplikacją. Uruchomienie systemu TinyPM (np. z poziomu menu Start) sprowadza się wówczas do "odpalenia" serwera aplikacji Tomcat.

Instalacja z użyciem instalatora

Pobieżny opis w języku angielskim tej instalacji można znaleźć tutaj: http://www.tinypm.com/blog/?page_id=31

Aby zainstalować TinyPM przy pomocy instalatora trzeba spełnić następujące warunki:
  • zainstalowane JRE (wystarczające) albo JDK w wersji przynajmniej 5.0;
  • ustawienie zmiennych środowiskowych %JRE_HOME% oraz wykorzystanie tej zmiennej w dodaniu kolejnej ścieżki do zmiennej %PATH%;
Instalacja dobywa się w najprostszy sposób i zawiera domyślną konfigurację: oparta jest o serwer Tomcat oraz bazę danych HSQLDB.

Po zainstalowaniu oraz uruchomieniu (np. z menu Start) aplikacji możemy z niej skorzystać wpisując do przeglądarki adres: http://localhost:8080/ Nazwa użytkownika oraz - odpowiednio - hasło to admin/admin

Możliwości konfiguracji zainstalowanej tym sposobem aplikacji są bardzo niewielkie i ograniczają się do zmian w pliku [ścieżka do katalogu z zainstalowanym TinyPM]\db\tinypm.properties
- i jest to zmiana wyłącznie parametrów działania bazy danych HSQLDB które to parametry nie mają istotnego znaczenia w typowym wykorzystaniu aplikacji TinyPM.

Instalacja aplikacji z pliku .war


Wersja angielska tej instrukcji (nieco okrojona) znajduje się w tym miejscu
. Dodatkowe informacje można znaleźć także w pliku INSTALL.txt dołączonym do archiwum aplikacji TinyPM dla określonego rodzaju serwera aplikacji.

Wymagania

TinyPM instalujemy na dedykowanym do tego celu serwerze aplikacji. Wspieranym typem jest serwer Tomcat (minimalna ilość pamięci to 256 MB) w wersjach 5.x oraz 6.x. Oprócz serwera (oraz oczywiście Javy - wystarczy JRE - co najmniej wersja 5.x) potrzebujemy jeszcze bazy danych MySQL w wersji co najmniej 5.0.x. Do połącznia aplikacji z bazą danych wymagany jest konektor bazy MySQL dla języka Java - wersja co najmniej 5.1.x.

Zależności

W paczce instalacyjnej aplikacji (po rozpakowaniu wcześniej pobranego archiwum) w katalogu dependences znajduje się parę bibliotek - o ile nie są one dostępne w katalogu %CATALINA_HOME%/lib to - z pobranym wcześniej plikiem konektora MySQL-a należy je tam skopiować (o ile już się tam nie znajdują).

Instalacja bazy danych

Potrzebujemy stworzyć nową bazę danych dedykowaną dla obsługi aplikacji TinyDB:

CREATE DATABASE tinypmdb CHARACTER SET = 'utf8' COLLATE = 'utf8_general_ci';

Następnie musimy utworzyć użytkownika z uprawnieniami SELECT, UPDATE, INSERT oraz DELETE:

GRANT SELECT, UPDATE, INSERT, DELETE ON tinypmdb.* TO tinypm'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;


Na koniec odpalamy skrypty które stworzą odpowiednie struktury danych w świeżo utworzonej bazie oraz wypełnia je danymi:

\u tinypmdb
\. %PATH_TO_INSTALL_FOLDER%/database/mysql/create_schema-1.3.02.sql
\. %PATH_TO_INSTALL_FOLDER%/database/mysql/create_data-1.3.02.sql

Instalacja aplikacji TinyPM

Ponieważ nie jest rekomednowana instalacja aplikacji na uruchomionym serwerze dlatego na początku musimy zatrzymać serwer. Wypakowywujemy tinypm.war do bazowego katalogu webapps:

  %CATALINA_HOME%/webapps

Modyfikujemy plik kontekstu aplikacji ustawiając użytkownika oraz hasło. Wspomniany plik znajdziemy w następującej lokalizacji:

%CATALINA_HOME%/webapps/tinypm/META-INF/context.xml

Uruchamiany serwer aplikacji Tomcat, a po jego uruchomieniu wpisujemy w pole adresu przeglądarki adres: http://localhost:8080/tinypm i do logowani używamy loginu oraz hasła które dodaliśmy we wcześniejszym akapicie.

Uzyskiwanie klucza licencji

Darmowy klucz licencji pozwala na stworzenie do pięciu projektów oraz do pięciu osób biorących udział w projekcie. Jest on potrzebny zaraz po uruchomieniu aplikacji oraz zalogowaniu się do niej jako administrator dlatego jego wykorzystanie omówię w tym wpisie.

Logujemy się na tej stronie (w przypadku gdy nie mamy na niej swojego konta, konieczne będzie jego założenie). Po zalogowaniu pobieramy dostępny nam klucz, zapisujemy na dysku, a następnie logujemy się do odpalonej zgodnie z wcześniejszą instrukcją aplikacji. Tam w menu 'Konfiguracja' odszukujemy fragment strony która odpowiada zarządzaniu licencjami. W formularzu: 'nowy plik licencji' odszukujemy na dysku wcześniej zapisany plik z licencją i klikamy przycisk/link 'zainstaluj nową licncję'.

Od tej pory możemy cieszyć się z aplikacji TinyPM którą sami zainstalowaliśmy.

poniedziałek, 8 czerwca 2009

TinyPM - Dodawanie użytkowników oraz tworzenie projektu

Cel

Jak po tytule można się już domyślić wpis ten będzie poświęcony dodawaniu nowych użytkowników - uczestników projektu oraz tworzeniu samego projektu. Niestety - wersja dostępna za darmo w TinyPM posiada ograniczenie ich liczby do 5, lecz to w zupełności wystarcza do edukacyjnego zaprezentowania programu, a nawet do niewielkich lub niezbyt skomplikowanych projektów.

Dodawanie nowego użytkownika

Dodawanie nowego użytkownika trzeba rozpocząć od przybliżenia zagadnienia roli. Tak więc Rolą w TinyPM nazwiemy zbiór uprawnień przypisany do jakiejś nazwy będącej nazwą roli. Zbiór uprawnień zawierać może elementy pogrupowane w następujące kategorie:

  • ogólne (edycja ustawień konta i konfiguracji aplikacji, dziennik projektu, zadania, historia, wiki);
  • iteracje (lista/tworzenie/edycja/usuwanie/zamknięcie iteracji, dodawanie user story do iteracji, usuwanie user story z iteracji);
  • user stories (lista/tworzenie/edycja/usuwanie/zatwierdzanie/odrzucanie user story, dodawanie komentarzy, import, eksport);
  • zadania (lista/tworzenie/edycja/usuwanie zadań, dodawanie komentarzy);
  • zarządzanie użytkownikami (lista/tworzenie/edycja/usuwanie użytkowników);zarządzanie rolami (lista, tworzenie, edycja, usuwanie);
  • zarządzanie projektami (lista, tworzenie, edycja, usuwanie);
Do danej nazwy można przypisać zbiór składający się z dowolnej ilości wyżej wymienionych uprawnień. Uprawnienia dodajemy wybierając z menu użytkownika (kolor zielony na załączonym screenie) pozycję 'Role':

a tak wygląda strona na której dodajemy nową rolę do systemu (taki sam wygląd ma również edycja istniejącej roli):

Mając już zdefiniowaną chociaż jedną rolę w systemie, możemy dodać użytkownika. Robimy to wybierając z 'górnego' menu pozycję użytkownicy (zaznaczona na poniższym screenie na czerwono) po którym to wyborze wyświetli się strona z listą użytkoników oraz przyciskiem (zaznaczonym na zielono):




Z poziomu tej strony możemy także usuwać oraz edytować dodanych już użytkowników. Po kliknięcu na przycisk 'Utwórz nowego użytkownika' znajdziemy się na stronie:

Podajemy tutaj takie informacje jak nazwę użytkownika, jego login, adres email, hasło dostępowe, rolę która będzie przypisane do tego użytkownika oraz mamy wybór zaznaczenia takich pól jak: czy użytkownik jest aktywny, oraz zapisać się na powiadomienia gdy ktoś skomentuje związane z tworzonym użytkownikiem zadanie, lub ktoś przypisze zadanie tworzonemu właśnie użytkownikowi.

Gdy już wszystkie pola będą wypełnione możemy kliknąć w przycisk 'zapisz' i zakończymy w ten sposób proces tworzenia nowego użykownika w TinyPM.