mina gyllene regler för att se till att din produkt levereras rätt.
produkthanteraren beskrivs ofta som ”bron mellan företag, design och teknik”. Bryggan” mellan design och teknik ” är särskilt kritisk när det gäller att leverera en kvalitetsprodukt: buggfri, pixel-perfekt och som tar hänsyn till alla möjliga scenarii och edge-fall. För att säkerställa att bridge fungerar bra, här är flera sätt det hanteras av designteamet:
- designern skickar en omfattande prototyp som visar alla flöden av produkten. Tyvärr kommer det ofta att ta mycket tid och kommer fortfarande att sakna några kantfall.
- designern skickar bara en prototyp som visar funktionens huvudflöden och är fortfarande tillgänglig för frågor från utvecklingsteamet. Tyvärr är dessa fram och tillbaka mycket ineffektiva (särskilt i en fjärrinställning) och slösar mycket tid från både design-och utvecklingsteam.
- designern, förutom den omfattande prototypen, skriver ett korrekt specifikationsdokument som listar alla möjliga scenarii och edge-fall. Problemet är att det ofta är slöseri med tid, eftersom (1) designers dyrbara tid kommer att spenderas bättre genom att faktiskt utforma andra funktioner, inte skriva ett spec doc och (2) de har inte alltid samma 360-bild av produkten som produktchefer gör, vilket kommer att få dem att förbise vissa scenarii och edge-fall.
därför överlåter mogna produktteam vanligtvis skrivandet av sina produktspecifikationer till produktchefer.
men hur ska du skriva produktspecifikationer? Jag har skrivit produktspecifikationer för de senaste 5 åren och jag hittade ett format som är väl uppskattat av mjukvaruteam jag arbetar med. I det här inlägget delar jag mer om min metodik och de verktyg jag använder för att skriva produktspecifikationer. Jag beskriver också några begränsningar som jag står inför med de verktyg jag använder och några förbättringsförslag jag har i åtanke.
här är de 5 huvudämnena som jag tar upp i en produktspecifikation:
- kontext och mål
- arkitekturkarta
- Epics och användarhistorier
- acceptanskriterier
- Design, innehåll och översättningar
kontext och mål
även om produktspecifikationen huvudsakligen riktar sig till mjukvaruteam, vill de fortfarande veta varför de arbetar med vad de arbetar med. Jag har förstått att en av de viktigaste drivkrafterna för motivation för mjukvaruingenjörer är påverkan. De flesta drömmer om att arbeta med funktioner som används av miljontals användare. De är glada när de hör att den nya UX de har implementerat har ökat retentionen med 15%, till exempel. Så det är viktigt att ge sammanhang om funktionen de kommer att implementera:
- Vad pratar vi om? Vilken del av produkten? Lägg gärna till någon historia av funktionen som är användbar för att förstå den nuvarande situationen.
- Vad är det aktuella problemet? Obs: Det kan finnas flera problem att lösa.
- finns det någon kvalitativ feedback / verbatims från användare som ska Citeras?
- finns det några data (t. ex. grafer) som ska visas? I det här avsnittet kan du ta med några diagram eller diagram som gör data mer begripliga.
- Vad är den valda lösningen? (beskriv det enkelt, i några meningar)
- har någon annan lösning beaktats? Om ja, varför har det avsatts?
- har någon annan lösning redan implementerats? Hur har det gått?
- vilka är målen ? Finns det några KPI vi försöker påverka? Detta kommer särskilt att hjälpa programvaruteamet att förstå om de behöver implementera nya spårare / taggar / händelser för att korrekt samla in data. Jag har sett Team känna sig så drivna av projektet att de tog initiativ till att ställa in instrumentpaneler för att följa mätvärden i realtid, utan att jag eller någon annan ber om det.
arkitekturkarta
innan du går för mycket in i detaljerna i funktionen är det viktigt att ge en överblick över vad som ändras och vad som förblir detsamma i din produkt. Och även om du arbetar med en helt ny produkt kommer en arkitekturkarta fortfarande att vara extremt relevant för att förstå hur produkten är strukturerad.
”arkitektur karta” är det sätt jag kallar en hög nivå diagram representation av produktens funktioner (flöden, skärmar och innehåll) och hur de är relaterade tillsammans. Vissa kallar det ”informationsarkitektur”, ”Flödeskarta”, ”UX-kartläggning” etc.
det finns ingen officiell metod för hur man ritar en arkitekturkarta. I en mobilapplikation försöker jag vanligtvis skilja flöden, skärmar och ”delar av en skärm” (eller ”innehåll på sidan”) genom att använda en annan form för var och en av dem, som beskrivs i legenden ovan.
det kan också vara bra att spela på färgkoden. I exemplet ovan använde jag 3 färger och även solid vs. prickad linje för att förklara hur den aktuella informationsarkitekturen skulle uppdateras med UX-moderniseringen av applikationen vi arbetade med. (grön: kommer att stanna som den är, orange: kommer att uppdateras, röd: kommer att raderas; fast: kommer att stanna på samma plats, prickad: kommer att flyttas någon annanstans). På så sätt hade ingenjörer en tydlig fågelperspektiv på vilken del av ansökan som skulle komma att ändras.
ett annat tips för att bygga en förståelig arkitekturkarta är att tydligt skilja de olika delarna av navigeringen, som görs nedan med separata områden för var och en av dem.
att ha en arkitekturkarta kommer att vara mycket användbart för din produktspecifikation; det gör att du kan markera vilken del av produkten du pratar om i var och en av dina användarhistorier.
vilket verktyg ska du använda för att rita en arkitekturkarta? Det finns massor av dem tillgängliga där ute, min favorit är nyckfull (eftersom den är visuellt trevlig och väldigt enkel, inte rörig med så många funktioner), men jag använde också Draw.io tidigare-vilket är intressant eftersom det är integrerat med Google Drive, så om du arbetar med Google Slides och Google Docs gör det trevligt att använda. Det är också integrerat med JIRA och Confluence.
Om du vill lära dig mer om arkitekturkartor (gör och gör inte, vilka verktyg du ska använda, några exempel etc.), Toptal har kommit med en bra läsning: Den omfattande guiden till informationsarkitektur.
Epics och användarhistorier
att bryta ner och förklara alla delar av din produkt kan mycket snabbt bli ganska kaotiskt. Skriva produktspecifikationer under de senaste 5 åren, det bästa sättet jag har hittat för att hålla specifikationerna organiserade och begripliga är att bryta ner dem enligt ”användarhistorier”.
vad är en användarhistoria? Enligt Agile Modeling är en användarhistoria ”en mycket hög nivå definition av ett krav, som innehåller tillräckligt med information så att utvecklarna kan producera en rimlig uppskattning av ansträngningarna att genomföra den.”
tanken med användarhistorier är att sätta användarna först och undvika att använda exklusivt obscure & teknisk ordförråd när man diskuterar funktioner. Som Atlassian uttrycker det: ”efter att ha läst en användarhistoria vet teamet varför de bygger vad de bygger och vilket värde det skapar.”
de syftar till att bygga en bättre produkt där användaren står i centrum för debatterna, i motsats till god gammal vattenfallsproduktutveckling.
Så här ska en användarhistoria formuleras:
som en < typ av användare >, jag vill ha < något mål > så att < någon anledning >.
till exempel, så här kan vi formulera användarhistorier för följande kapitel i arkitekturkartan som jag ritade för en av mina klienter: