Studium przypadku: Aplikacja do śledzenia wydatków mobilnych
Jako zespół rozwojowy oprogramowania otrzymaliście zadanie stworzenia aplikacji mobilnej do śledzenia wydatków. Aplikacja powinna pomóc użytkownikom śledzić swoje codzienne wydatki, kategoryzować wydatki i ustalać cele budżetowe. Celem jest zapewnienie użytkownikom łatwej w obsłudze, efektywnej i bogatej w funkcje aplikacji, która będzie działać na platformach Android i iOS.

Aby symulować listę produktu dla tego projektu, stwórzmy tabelę zawierającą kilka historii użytkownika, ich priorytetów, oszacowań (w punktach historii) oraz kryteriów akceptacji.
| Historia użytkownika | Priorytet | Oszacowanie | Kryteria akceptacji |
|---|---|---|---|
| Uwierzytelnianie użytkownika | Wysoki | 8 | – Użytkownicy mogą się rejestrować za pomocą adresu e-mail i hasła. – Użytkownicy mogą się logować za pomocą swoich danych logowania. – Hasła są bezpiecznie przechowywane i zaszyfrowane. – Użytkownicy mogą zresetować hasła, jeśli je zapomnieli. |
| Wprowadzanie wydatków | Wysoki | 13 | – Użytkownicy mogą wprowadzać nowe wydatki z tytułem, kwotą, datą i kategorią. – Użytkownicy mogą edytować istniejące wydatki. – Użytkownicy mogą usuwać wydatki. – Wydatki są zapisywane i pobierane z bazy danych. |
| Kategorie wydatków | Średni | 5 | – Użytkownicy mogą tworzyć niestandardowe kategorie wydatków. – Wydatki mogą być przypisywane do konkretnych kategorii. – Użytkownicy mogą edytować i usuwać kategorie. |
| Analiza wydatków | Średni | 8 | – Użytkownicy mogą przeglądać raporty i wykresy wydatków miesięczne i roczne. – Wydatki są automatycznie kategoryzowane na podstawie reguł zdefiniowanych przez użytkownika. – Użytkownicy mogą ustawić cele budżetowe dla różnych kategorii. |
| Synchronizacja w chmurze | Wysoki | 13 | – Dane użytkownika są synchronizowane między urządzeniami. – Dane są bezpiecznie przechowywane w chmurze. – Obsługiwane jest dostęp offline z lokalnym przechowywaniem danych. – Zmiany wprowadzone na jednym urządzeniu są odzwierciedlane na innych. |
| Konwersja walut | Niski | 3 | – Użytkownicy mogą wybrać preferowaną walutę. – Kwoty wydatków są automatycznie konwertowane na podstawie wybranej waluty. |
| Uwierzytelnianie Touch ID/Face ID | Niski | 5 | – Użytkownicy mogą włączyć uwierzytelnianie biometryczne dla dodatkowej ochrony. – Aplikacja obsługuje uwierzytelnianie Touch ID (iOS), Face ID (iOS) lub odcisk palca (Android). |
| Eksport danych | Średni | 8 | – Użytkownicy mogą eksportować dane o wydatkach w formacie CSV. – Eksportowane dane zawierają wszystkie szczegóły wydatków, w tym datę i kategorię. – Dane mogą być wysyłane e-mailem lub zapisywane lokalnie. |
| Przypomnienia powiadomieniowe | Średni | 8 | – Użytkownicy mogą ustawić przypomnienia wydatków dziennie, tygodniowo lub miesięcznie. – Przypomnienia wyzwalają powiadomienia z ustawionymi komunikatami. |
| Sortowanie wydatków | Niski | 3 | – Użytkownicy mogą sortować wydatki według daty, kwoty lub kategorii. – Kolejność sortowania może być rosnąca lub malejąca. |
Ten tabelka symuluje uproszczoną listę produktu do tworzenia aplikacji mobilnej do śledzenia wydatków. Każda historia użytkownika jest priorytetyzowana w oparciu o jej znaczenie dla projektu, szacowana w punktach historii, aby ocenić jej złożoność, oraz ma jasne kryteria akceptacji, które określają, kiedy jest uznawana za zakończoną. Ta lista stanowi punkt wyjścia do planowania sprintu i zapewnia, że zespół programistów i stakeholderzy mają wspólne zrozumienie zakresu i priorytetów projektu.
Od listy produktu do planowania sprintu
Planowanie sprintu to kluczowy element zarządzania projektami Agile, a polega na wyborze zestawu historii użytkownika z listy produktu do realizacji w nadchodzącej iteracji. Planowanie sprintu zwykle składa się z dwóch części: spotkania planowania sprintu i tworzenia listy sprintu. Przejdźmy przez kroki planowania sprintu na podstawie listy produktu, którą podałeś:
Krok 1: Zdefiniuj cel sprintu
- Rozpocznij spotkanie planowania sprintu, omawiając ogólne cele lub cel nadchodzącego sprintu. Na przykład, w Twoim przypadku może to być coś takiego: „Celem tego sprintu jest wdrożenie podstawowej autoryzacji i podstawowej funkcjonalności wprowadzania wydatków.”
Krok 2: Określ długość sprintu
- Zdecyduj o długości sprintu. Typowe okresy trwania to dwa tygodnie, trzy tygodnie lub jeden miesiąc. Wybierz taki okres, który najlepiej pasuje do Twojego zespołu i projektu.
Krok 3: Wybierz historie użytkownika
- Przejrzyj listę produktu i w współpracy z zespołem programistów i właścicielem produktu wybierz zestaw historii użytkownika, które można realistycznie zrealizować w czasie trwania sprintu. Weź pod uwagę priorytety, szacunki i zależności historii użytkownika. Pamiętaj o prędkości zespołu, czyli ilości pracy, którą zespół może zrealizować w jednym sprintie na podstawie poprzednich wyników.
Na przykład załóżmy, że Twój zespół może zrealizować historie użytkownika o łącznej wartości 30 punktów historii w ciągu dwutygodniowego sprintu. Na podstawie tej pojemności możesz wybrać następujące historie użytkownika:
- Uwierzytelnianie użytkownika (8 punktów historii)
- Wprowadzanie wydatków (13 punktów historii)
- Konwersja walut (3 punkty historii)
- Uwierzytelnianie za pomocą Touch ID/Face ID (5 punktów historii)
Wybór ten daje łącznie 29 punktów historii, co jest bliskie pojemności Twojego zespołu.
Krok 4: Podziel historie użytkownika (jeśli konieczne)
- Jeśli któraś z wybranych historii użytkownika jest zbyt duża lub zbyt złożona, rozważ podział jej na mniejsze, łatwiejsze do realizacji zadania lub podhistorie. Upewnij się, że te podhistorie są dokładnie zdefiniowane i mają jasne kryteria akceptacji.
Krok 5: Szacuj zadania
- Szacuj ilość pracy wymaganej do zrealizowania każdej wybranej historii użytkownika lub podhistorii w godzinach lub punktach historii. Pomaga to zespołowi zrozumieć obciążenie i zapewnia, że sprint pozostaje realizowalny.
Krok 6: Stwórz listę sprintu
- Stwórz listę zadań dla każdej wybranej historii użytkownika lub podhistorii. Włącz szacowaną ilość pracy i przydziel zadania członkom zespołu na podstawie ich umiejętności i dostępności. To staje się Twoją listę sprintu.
Oto przykład, jak może wyglądać lista sprintu:
Lista sprintu dla nadchodzącego sprintu trwającego 2 tygodnie
| Historia użytkownika | Opis zadania | Szacowany wysiłek | Przydzielono do |
|---|---|---|---|
| Uwierzytelnianie użytkownika | Zaimplementuj logikę rejestracji | 4 godziny | Programista A |
| Uwierzytelnianie użytkownika | Zaimplementuj logikę logowania | 6 godzin | Programista B |
| Wprowadzanie wydatków | Zaprojektuj formularz wprowadzania wydatków | 5 godzin | Dizajner |
| Wprowadzanie wydatków | Zaimplementuj interfejs formularza wydatków | 8 godzin | Programista C |
| Wprowadzanie wydatków | Utwórz schemat bazy danych dla wydatków | 4 godziny | Specjalista baz danych |
| Konwersja walut | Dodaj funkcję wyboru waluty | 2 godziny | Programista D |
| Uwierzytelnianie Touch ID/Face ID | Zaimplementuj uwierzytelnianie biometryczne (iOS) | 8 godzin | Programista E |
Krok 7: Zobowiązanie się do sprintu
- W trakcie spotkania planowania sprintu zespół zobowiązuje się do ukończenia wybranych historii użytkownika i zadań w ciągu trwania sprintu. To zobowiązanie gwarantuje, że zespół skupia się na realizacji zaplanowanej pracy.
Krok 8: Stworzenie celu sprintu
- Na podstawie wybranych historii użytkownika i zadań sformułuj jasny i zwięzły cel sprintu, który podsumowuje, co zespół chce osiągnąć do końca sprintu. Ten cel zapewnia wspólną interpretację celu sprintu.
Krok 9: Przegląd i zakończenie spotkania planowania sprintu
- Zanim zakończysz spotkanie, upewnij się, że wszyscy rozumieją cel sprintu, wybrane historie użytkownika oraz ich odpowiednie zadania. Rozwiąż wszelkie pytania lub obawy i oficjalnie rozpocznij sprint.
W trakcie sprintu organizuj codzienne spotkania stand-up w celu śledzenia postępów, wprowadzania niezbędnych korekt i zapewnienia, że zespół jest na właściwym torze w celu osiągnięcia celu sprintu. Na końcu sprintu przeprowadź przegląd sprintu, aby przedstawić zakończone prace stakeholderom i zebrać opinie. Na końcu przeprowadź retrospekcję sprintu, by przeanalizować procesy sprintu i zidentyfikować obszary do poprawy w przyszłych sprintach.
Wnioski
Planowanie sprintu to kluczowy most łączący backlog produktu z działalnością operacyjną w zarządzaniu projektami Agile. Jest to proces współpracy i dynamiczny, który pozwala zespołom wybrać i zobowiązać się do wyznaczonego zestawu historii użytkownika lub zadań na konkretny sprint. Poprzez staranną analizę priorytetów, zależności i oszacowań, planowanie sprintu gwarantuje, że zespół jest zgodny z ogólnymi celami projektu i może stopniowo dostarczać wartość klientom.
Skuteczne planowanie sprintu idzie dalej niż tylko przypisywanie zadań; wspiera jasną komunikację, umożliwia członkom zespołu przejęcie odpowiedzialności za swoją pracę i w efekcie prowadzi do celu sprintu, który kieruje działaniami zespołu. Regularne planowanie sprintu, wsparte codziennymi stand-up, przeglądom sprintu i retrospektywami, stanowi serce rozwoju Agile, pozwalając zespołom dostosować się do zmieniających się wymagań, utrzymać skupienie i ciągle poprawiać swoje procesy.
Opanowanie sztuki planowania sprintu pozwala zespołom Agile na precyzyjne poruszanie się po złożonym obszarze rozwoju oprogramowania, gwarantując, że każdy sprint zbliża ich do dostarczania wyjątkowych produktów spełniających potrzeby klientów i wspierających sukces biznesowy. Jest to praktyka, która oddaje zasady Agile dotyczące współpracy, elastyczności i skupienia na kliencie, czyniąc ją fundamentem zarządzania projektami Agile.











