Przejdź do głównej zawartości

Aplikacja 'Perfect Life' - planowanie funkcjonalności

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.

Komentarze

  1. Świetny wpis Darek. Mam kolejny pomysł na nowe user story.
    Jako użytkownik aplikacji chce mieć możliwość propozycji planów treningowych i propozycji miejsc gdzie mogę uprawiać sporty.

    OdpowiedzUsuń
  2. Cześć Bogusław! Dzięki za pozytywne słowa.
    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ć.

    OdpowiedzUsuń
  3. Tak dokładnie o to chodzi, dzięki temu mógłbyś promować lokalne kluby sportowe.

    OdpowiedzUsuń
  4. ... albo promować te kluby, które za to zapłacą ;)

    OdpowiedzUsuń

Prześlij komentarz

Popularne posty z tego bloga

Unleash the power of ChatGPT in your C# applications with NGpt - C# OpenAI GPT client

Meet NGpt - OpenAI GPT C# client library that will make your conversations with ChatGPT a breeze! Have you ever been struggling building your own smart AI application in C#? Well, now you can use ChatGpt inside your application! Introducing NGpt, the powerful .NET library that lets you integrate ChatGPT seamlessly into your C# applications. No more nigts spent on building your own AI solitions, no more convoluted logic and building complex business rules - just pure AI bliss. In this blog post, we'll dive into the wonderful world of NGpt and show you how easy it is to use. You might even find a few laughs along the way. The Magic of NGpt NGpt is a transient fault-tolerant .NET 6 OpenAI client that simplifies ChatGPT integration for C# developers. It's like your friendly neighborhood Spider-Man - always there to help you out when you need it most. With just your OpenAI API key, you can start coding AI applications in C# faster than you can say "Peter Parker." Let...

Specflow czyli BDD w praktyce

Dzisiaj pokażę w praktyce w jaki sposób zbieram wymagania korzystając z narzędzia Specflow. Na początku przypomnę nasze historie użtkownika. Potem skonfigurujemy dodatek Specflow Visual Studio. Na końcu pokażę jak wygląda język Gherkin i zaimplementujemy pierwszą historię użytkownika US1. Oto lista funkcjonalności, które będę implementował w aplikacji Perfect Life: 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 an...