W poprzednim wpisie przedstawiłem budowę historii użytkownika(ang. User Story).
Dzisiaj korzystając z tego narzędzia zaplanujemy kilka funkcjonalności.
Czas na zaplanowanie funkcjonalności aplikacji mobilnej Perfect Life.
Aplikacja jest tworzona w oparciu o technologię Xamarin.Forms.
Póki co jednak abstrahując od rozwiązań technologicznych skupimy się na funkcjonalnościach. Dobre planowanie swojej pracy to podstawa sukcesu każdego projektu programistycznego.
US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów
US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji
US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy
US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age
US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planów dietetycznych
US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc analizować zmianę liczby użytkowników
US7: Jako użytkownik aplikacji mobilnej chcę mieć możliwość analizy własnego zdjęcia, aby móc obiektywnie sprawdzić na ile lat wyglądam
Jak widać zaplanowałem 7 funkcjonalności.
Najważniejsza korzyść płynąca z wykorzystania narzędzia User Story polega jednak na tym ile informacji możemy wyciągnąć z kilku linijek tekstu.
Mając opracowane historie użytkownika możemy natychmiast odpowiedzieć na najczęściej zadawane pytania. A więc:
Programista może zadać nam pytanie: Co należy zaimplementować w aplikacji 'Perfect Life'?
Odpowiadamy:
- ekran logowania
- kalkulator wskaźnika BMI
- wykresy
- rozwiązywanie quizu
- pobieranie plików PDF
- zbieranie danych telemetrycznych
- analiza zdjęcia
Użytkownik może zapytać nas: Jakie będę miał korzyści korzystając z aplikacji 'Perfect Life'?
Odpowiemy wtedy:
- Możesz zapisywać swoje postępy
- Możesz mierzyć poziom swojej kondycji
- Możesz interpretować wizualnie swoje postępy
- Możesz zbadać swój wskaźnik Body Age
- Możesz pobrać plany dietetyczne
- (US6 nie dotyczy bezpośrednio użytkownika)
- Możesz sprawdzić na ile lat wyglądasz
Klient który zamawia oprogramowanie or razu otrzymuje takie informacje jak:
- Korzyści dla użytkowników aplikacji
- Jakie prace programistyczne będą wykonywane w ramach implementacji
Jak widać User Story to bardzo przydatne narzędzie, które może poprawić komunikację w zespole, ponieważ każdy uczestnik procesu wytwarzania oprogramowania (czyli: klient, programiści, testerzy, scrum master, project manager, użytkownicy ) mają dostęp do tych samych informacji. Każdy wie jakie funkcjonalności będą implementowane, w jakiej kolejności. Programiści i testerzy są mogą skupić się na potrzebach użytkownika i zapewnieniu aby aplikacja była jak najbardziej spójna z jego oczekiwaniami. Co więcej jeśli przygotujemy listę historii użytkownika możemy przedstawić ją użytkownikom i prosić o wniesienie poprawek, sprecyzowanie swoich oczekiwań wobec funkcjonalności.
Podczas prac programistycznych dla każdej historii użytkownika będziemy tworzyć zestaw scenariuszy, które wykorzystamy jako nasze kryteria akceptacji(kryteria akceptacji pomogą nam w testowaniu i stwierdzeniu czy dana funkcjonalność została zaimplementowana zgodnie z wcześniejszymi ustaleniami). Bardzo lubię podejście Behaviour Driven Development (w skrócie BDD) i opowiem o nim więcej w momencie kiedy będziemy tworzyli pierwsze scenariusze. Pokaże wtedy czym jest język Gherkin i narzędzie Specflow. Zapewniam, że będzie interesująco.
Dzisiaj korzystając z tego narzędzia zaplanujemy kilka funkcjonalności.
Czas na zaplanowanie funkcjonalności aplikacji mobilnej Perfect Life.
Aplikacja jest tworzona w oparciu o technologię Xamarin.Forms.
Póki co jednak abstrahując od rozwiązań technologicznych skupimy się na funkcjonalnościach. Dobre planowanie swojej pracy to podstawa sukcesu każdego projektu programistycznego.
US1: Jako użytkownik aplikacji mobilnej chcę ekran logowania aby mieć możliwość zapisywania swoich postępów
US2: Jako użytkownik aplikacji mobilnej chcę mieć kalkulator wskaźnika BMI aby móc mierzyć poziom swojej kondycji
US3: Jako użytkownik aplikacji mobilnej chcę widzieć wykresy aby móc wizualnie interpretować swoje postępy
US4: Jako użytkownik aplikacji mobilnej chcę mieć możliwość rozwiązania quizu, żeby zbadać wskaźnik Body Age
US5: Jako użytkownik aplikacji mobilnej chcę pobierać pliki PDF aby mieć dostęp do planów dietetycznych
US6: Jako administrator aplikacji chcę zapisywać dane telemetryczne aby móc analizować zmianę liczby użytkowników
US7: Jako użytkownik aplikacji mobilnej chcę mieć możliwość analizy własnego zdjęcia, aby móc obiektywnie sprawdzić na ile lat wyglądam
Jak widać zaplanowałem 7 funkcjonalności.
Najważniejsza korzyść płynąca z wykorzystania narzędzia User Story polega jednak na tym ile informacji możemy wyciągnąć z kilku linijek tekstu.
Mając opracowane historie użytkownika możemy natychmiast odpowiedzieć na najczęściej zadawane pytania. A więc:
Programista może zadać nam pytanie: Co należy zaimplementować w aplikacji 'Perfect Life'?
Odpowiadamy:
- ekran logowania
- kalkulator wskaźnika BMI
- wykresy
- rozwiązywanie quizu
- pobieranie plików PDF
- zbieranie danych telemetrycznych
- analiza zdjęcia
Użytkownik może zapytać nas: Jakie będę miał korzyści korzystając z aplikacji 'Perfect Life'?
Odpowiemy wtedy:
- Możesz zapisywać swoje postępy
- Możesz mierzyć poziom swojej kondycji
- Możesz interpretować wizualnie swoje postępy
- Możesz zbadać swój wskaźnik Body Age
- Możesz pobrać plany dietetyczne
- (US6 nie dotyczy bezpośrednio użytkownika)
- Możesz sprawdzić na ile lat wyglądasz
Klient który zamawia oprogramowanie or razu otrzymuje takie informacje jak:
- Korzyści dla użytkowników aplikacji
- Jakie prace programistyczne będą wykonywane w ramach implementacji
Jak widać User Story to bardzo przydatne narzędzie, które może poprawić komunikację w zespole, ponieważ każdy uczestnik procesu wytwarzania oprogramowania (czyli: klient, programiści, testerzy, scrum master, project manager, użytkownicy ) mają dostęp do tych samych informacji. Każdy wie jakie funkcjonalności będą implementowane, w jakiej kolejności. Programiści i testerzy są mogą skupić się na potrzebach użytkownika i zapewnieniu aby aplikacja była jak najbardziej spójna z jego oczekiwaniami. Co więcej jeśli przygotujemy listę historii użytkownika możemy przedstawić ją użytkownikom i prosić o wniesienie poprawek, sprecyzowanie swoich oczekiwań wobec funkcjonalności.
Podczas prac programistycznych dla każdej historii użytkownika będziemy tworzyć zestaw scenariuszy, które wykorzystamy jako nasze kryteria akceptacji(kryteria akceptacji pomogą nam w testowaniu i stwierdzeniu czy dana funkcjonalność została zaimplementowana zgodnie z wcześniejszymi ustaleniami). Bardzo lubię podejście Behaviour Driven Development (w skrócie BDD) i opowiem o nim więcej w momencie kiedy będziemy tworzyli pierwsze scenariusze. Pokaże wtedy czym jest język Gherkin i narzędzie Specflow. Zapewniam, że będzie interesująco.
Świetny wpis Darek. Mam kolejny pomysł na nowe user story.
OdpowiedzUsuńJako użytkownik aplikacji chce mieć możliwość propozycji planów treningowych i propozycji miejsc gdzie mogę uprawiać sporty.
Cześć Bogusław! Dzięki za pozytywne słowa.
OdpowiedzUsuńCzyli chodzi Ci o to, że użytkownicy będą mogli otrzymywać od aplikacji plany treningowe i sugerowane miejsca gdzie można na przykład pograć w squasha albo tenisa? Fajny pomysł na funkcjonalność. Już myślę nawet co trzeba będzie zaimplementować aby go wdrożyć.
Tak dokładnie o to chodzi, dzięki temu mógłbyś promować lokalne kluby sportowe.
OdpowiedzUsuń... albo promować te kluby, które za to zapłacą ;)
OdpowiedzUsuń