Masz już pomysł na produkt i zebrałeś zespół? Przed tobą najtrudniejszy etap: realizacja wizji, czyli przejście od pomysłu do produktu. To etap, który jest przyczyną niepowodzenia większości startupów. Podczas niego czeka cię bowiem najwięcej niebezpieczeństw.

Wśród nich są: niewłaściwy kierunek rozwoju produktu, zbyt wolna realizacja wymagań klientów, problemy komunikacyjne z zespołem deweloperskim. Zobacz jakie techniki możesz zastosować żeby ustrzec się tych problemów.

1. Impact Mapping - od pomysł do produktu

Jakie funkcjonalności będą najistotniejsze dla twoich klientów? Jak rozwijać produkt, aby przyciągnąć nowych użytkowników? Brak odpowiedzi na powyższe pytania, brak jasno sprecyzowanych celów i kierunku działania mogą spowodować, że nawet najlepszy pomysł pochłonie pieniądze inwestorów, zanim stanie się użytecznym produktem. Zastosowanie techniki impact mappingu może pomóc ci w uniknięciu tej sytuacji i dostarczeniu takiego produktu, który będzie odpowiadał na realne potrzeby klientów.

Czym jest impact mapping? To technika, która pomaga zredukować czas stracony na tworzenie funkcjonalności, nie dodających wartości tworzonemu produktowi. Ułatwia skupienie się na celu poprzez powiązanie go z założeniami i środkami, które pomogą ci go zrealizować. Zobaczmy jak na rozwój produktu wpływa zastosowanie impact mappingu, na przykładzie mapy, która ilustruje cel jaki chce osiągnąć platforma gier online. Tym celem biznesowym jest osiągnięcie miliona aktywnych graczy.

Kliknij w obrazek, aby powiększyć

Mapa składa się z czterech głównych elementów: celu (ang. goal), aktorów (ang. actors) którzy mogą pomóc nam w osiągnięciu celu, działań (ang. impacts) które aktorzy mogą podjąć i funkcjonalności (ang. deliverables) które musimy dostarczyć, aby umożliwić im te działania.

Na mapie działań gracze są ważnymi aktorami, ponieważ mogą polecać gry przyjaciołom, czy umieszczać informacje o wynikach na facebooku. Inną grupą ważnych aktorów są reklamobiorcy. Oni także mogą przyciągnąć graczy poprzez opublikowanie reklam.

Na mapie widzimy też kilka funkcjonalności naszego produktu, które mogą wpłynąć na zachowanie się graczy. Wśród naszych działań, które mogą przekonać innych do promowania produktu są np. półautomatyczne wysyłanie zaproszeń. Dzięki nim mogą oni szybciej i łatwiej zapraszać nowych użytkowników naszego produktu. Kolejnym naszym działaniem może być grywalizacja, czyli dawanie możliwości uzyskiwania osiągnięć i medali, które mogą zmotywować graczy do postowania o grze w mediach społecznościowych.

Z mapy, na której znajdziemy wiele możliwości osiągnięcia założonego celu jakim jest milion graczy, wybieramy te działania aktorów, które naszym zdaniem mają największą szansę przybliżyć nas do osiągnięcia celu. Przystępując do ich realizacji pamiętajmy o mierzeniu rezultatów i kontrolowaniu, który z czynników daje najlepsze efekty. Jeśli się sprawdzają, możemy realizować kolejne funkcjonalności, aby wzmacniać działania aktorów. Jednak jeśli aktorzy podejmują działania, ale nie przekłada się to na realizację celu, możemy odciąć całą gałąź mapy. W ten sposób ograniczamy ilość funkcjonalności, które zrealizujemy zanim osiągniemy cel.

2. User Story Mapping - pewność właściwego kierunku

Przed tobą kolejne decyzje m.in. dotyczące tego, co zbudować najpierw, jak priorytetyzować funkcjonalności, jak zaplanować kolejne wydania oraz jak wizualizować postęp.

Tradycyjne podejście w metodykach agile takich jak Scrum zaleca przygotowanie rejestru produktu (ang. Product Backlog) zawierającego tzw. historyjki użytkownika (ang. User Stories), które reprezentują funkcjonalności do zaimplementowania. Backlog często jest listą o nieuporządkowanej strukturze i zbyt wielu elementach, co nie ułatwia spojrzenia z szerszej perspektywy i podjęcia dobrych decyzji.

User Story Mapping pomaga rozwiązać te problemy poprzez dwuwymiarową wizualizację backlogu. Dzięki temu twój zespół będzie mógł podejmować lepsze decyzje o priorytetach i zakresie mając lepszą widoczność postępów. Kolejną zaletą tej techniki jest to, że wspólne tworzenie mapy historyjek użytkownika przez wszystkie strony zaangażowane w realizację projektu promuje dyskusję nad wymaganiami. Pozwala to na precyzyjne komunikowanie strategii projektu i wymagań funkcjonalnych zespołowi zaangażowanemu w jego realizację.

Kliknij w obrazek, aby powiększyć

Co warto zamieścić na takiej mapie? Na samej górze powyższej, przykładowej mapy znajdują się aktywności naszych użytkowników (niebieskie kartki). Czytając je od lewej do prawej, powinniśmy być w stanie opowiedzieć historię. Na przykład:

Gdy jako dealer chcę sprzedać samochód, najpierw nawiązuję kontakt z potencjalnym klientem, później konfiguruję mu samochód w salonie, następnie składam zamówienie u importera i finalizuję transakcję.

Na drugim poziomie mapy znajdują się zadania, które użytkownik aplikacji wykonuje w ramach każdej aktywności (żółte kartki). Dla konfiguracji samochodu będą to: wybór modelu, wybór silnika, wybór akcesoriów, udzielenie rabatu, przedstawienie oferty klientowi. Trzeci poziom mapy rozbija każde z zadań na fragmenty funkcjonalności (białe karteczki). Umieszczamy je w pionie pod zadaniem. Na górze będą te, które pozwolą realizować zadanie w sposób prosty, np. “wyszukiwanie po nazwisku”. Niżej zazwyczaj znajdą się funkcjonalności bardziej wyszukane, np. “wyszukiwanie z podpowiadaniem” czy “wyszukiwanie pełnotekstowe”.

Teraz możemy zaplanować wydanie, rysując poziomą linię odcinającą funkcjonalności. Dzięki temu widzimy, które zadania użytkownik będzie w stanie realizować po którym wydaniu. I skoncentrować się najpierw na tych, które przyniosą użytkownikom najwięcej wartości lub wiążą się z największym ryzykiem.

3. Kanban - wysoka jakość i terminowe dostarczenie

Gdy mamy już konkretne cele i wiemy jak chcemy je zrealizować, należy rozpocząć etap powierzenia pracy zespołowi deweloperskiemu. Jak współpracować z zespołem deweloperskim i wykonawcami, aby praca szła w dobrym kierunku? Z pomocą przychodzi nam metoda Kanban, opracowana na potrzeby inżynierii oprogramowania na podstawie powstałej w latach pięćdziesiątych w Japonii metody sterowania produkcją.

Podstawowe zasady Kanban w tworzeniu oprogramowania to:

  • Wizualizacja – przedstawienie kolejnych etapów procesów na tablicy (ściennej lub elektronicznej) np. analiza, wytwarzanie, testowanie, wdrażanie, zadania skończone. Następnie umieszczenie zadań w odpowiednich kolumnach.
  • Ograniczenie pracy w toku (WIP - ang. work in progress) – ustalenie maksymalnej dopuszczalnej liczby zadań, które mogą znajdować się w danej kolumnie.
  • Zarządzanie strumieniem – systematyczny pomiar takich wartości, jak czas i płynność wykonywania zadań, w celu optymalizacji procesów.

Wprowadzenie tych trzech zasad umożliwia sprawowanie pełnej kontroli nad procesem tworzenia oprogramowania i pozwala na wyeliminowanie przyczyn nieefektywności w celu zwiększenia produktywności zespołu. Prowadzi też do zwiększenia jakości końcowego produktu.

Kliknij w obrazek, aby powiększyć

Przykładowa tablica kanbanowa może zawierać następujące kolumny o nazwach: do zrobienia, w trakcie, oraz zrobione. Zadania przesuwane są z jednej kolumn do drugiej, gdy spełniają określone kryteria. Na przykład zadanie może znaleźć się w kolumnie “zrobione”, tylko gdy jest już przetestowane i zaakceptowane przez klienta. Każda kolumna posiada limit liczby zadań, które mogą się w niej jednoczesnie znajdować. Pozwala to zachować płynność i powoduje, że cały zespół skupia się na zadaniach, które zbyt długo pozostają nie rozwiązane.

Brak iteracji w Kanban umożliwia dodawanie zadań w dowolnym momencie, co pozwala na szybsze rozpoczęcie pracy i wcześniejsze ich ukończenie. Skupienie na wizualizacji procesu natychmiast eksponuje pojawiające się problemy, co jest niezwykle istotne w przypadku startupów.

4. Podsumowanie

Trzy przedstawione techniki stanowią swoisty pomost pomiędzy etapem wizji twojego produktu, gdzie można wykorzystać techniki typu Lean Startup, a gotowym produktem przyciągającym zadowolonych użytkowników. Dzięĸi Impact Mapping wychodząc od wizji, określisz mierzalne cele biznesowe i odkryjesz najlepsze sposoby, pozwalające na ich realizację. Przy użyciu User Story Mapping i Kanbana będziesz mógł łatwo określić priorytety i kolejność realizacji zadań. W rezultacie powstanie produkt, który pokochają twoi użytkownicy.

Więcej o Kanban, Impact Mapping i User Story Mapping możesz dowiedzieć się na darmowych warsztatach organizowanych przez firmy Pragmatists i Sages. Zgłoszenia odbywają się za pośrednictwem strony: www.agiledevelopmentday.pl

Michał Lipski

Programista i trener w firmie Pragmatists

Entuzjasta dobrych praktyk wytwarzania oprogramowania i metodologii zwinnych. Doświadczenie zdobywał podczas realizacji projektów typu enterprise jak i startupów. Na co dzień doskonali swój warsztat praktykując TDD i Pair Programming.

 

Zdjęcie główne artykułu royalty free z Fotolia

Komentarze (0)