Friday, September 14, 2012

Applikationsregissören

“Ja, vi spelar in en film!”

In English
Applikationsregissör Arne Evertsson bakom Javakompilatorn (?)

En filmproducent har det övergripande ansvaret för att en film blir till. Det handlar om att se till att det finns ett manus, finansiering, och hitta rätt personer att utföra dom olika kreativa och praktiska uppgifterna i ett filmprojekt. Inte minst skall producenten stöda regissören som har det konstnärliga ansvaret för filmen.

Konstnärliga anvaret? Det låter som måleri eller skulptur. Regissören hackar fram en skulptur som skall väcka känslor, tankar och förhoppningsvis förmedla ett budskap. Materialet och verktygen utgörs av manus, skådisar och alla möjliga superproffs inom sina konstnärliga hantverksområden.

Mitt intryck är att regissören både pekar och leder men sedan också håller sig undan så att var och en kan bidra med sitt kunnande. Producenten finns alltid där som en axel att gråta emot (?).

Men vad har allt detta med applikationsutveckling att göra? Låt oss titta på samtidens defacto-standard vad gäller mjukvaruutveckling, projektmetodiken Scrum.


Scrum?

Utvecklarna, scrummästaren och produktägaren har huvudrollerna i ett Scrumprojekt. Låt oss titta närmare på produktägaren. Produktägarens huvuduppgift är att kontinuerligt föda teamet med en prioriterad lista av uppgifter. Utvecklarna betar av listan från toppen. Produktägaren stuvar om, lägger till eller tar bort från listan allt efter behov. Varje punkt i listan är beskriven i termer av affärsnytta, inte teknik eller tillvägagångssätt.

Detta är en mycket sund inställning till programutveckling, och arbetssättet är grunden för alla agila metoder, inte bara Scrum. Det finns dock ett antal frågor som inte besvaras av Scrum alls, viktiga frågor där utvecklingsteam ofta famlar i blindo.

Innan en uppgift kan påbörjas måste den vara tillräckligt väldefinierad så att teamet kan ta sig an den: Storyn skall vara backlog-ready. Det vill säga, uppgiften skall vara mogen att hamna på att-göra-listan. Vad betyder det? Oklart. Denna fråga är också relaterad till en annan: När sker interaktionsdesignen? Är användargränssnittets utformning en förutsättning för att påbörja utvecklingen eller sker detta samtidigt eller till och med senare? Också oklart.

I jobbannonser för mjukvaruprojekt används ofta rollbeskrivningar som business analyst, kravfångare, och verksamhetsanalytiker. Man skall hålla workshops, skriva kravspecifikationer och vara bryggan mellan verksamhet och teknik. Men det är ändå beställaren och styrgruppen som beslutar om projektets mål och innehåll. What? Jag tappade tråden där. Vart tog produktägaren vägen? Finns någon projektledare inblandad här? Är kravprioritering detsamma som applikationsdesign? The plot thickens...


George och Steven har svaret på gåtan

George och Steven. Eller kanske tvärtom?
Dom goaste vännerna George Lucas och Steven Spielberg ligger bakom dom klassiska filmerna om Indiana Jones. George är producenten. Steven är regissören. Tänk om det är så att George och Steven har fattat det där med att arbeta i projektform?

Låt oss gifta ihop produktägaren från Scrum med regissören från filmproduktion. Låt oss kalla bebisen för Applikationsregissör. Det första applikationsregissören gör är att sätta likamedtecken mellan affärsnytta och användarnytta. Om ingen tittar på filmen kommer filmbolaget inte att tjäna några pengar. Om inte användaren har nytta av applikationen kommer företaget inte att tjäna några pengar. Så enkelt är det faktiskt: Affärsnytta = Användarnytta. Detta är ett faktum som ofta försvinner bland powerpointpresentationer och projektdokument.

Regissören har visionen. Regissören har förmågan att konkretisera visionen i projektmålet. Visionen kommer från en djup kunskap om behovet, men i ännu högre grad från den kreativa förmågan att se lösningen framför sig. Applikationsregissören är behovsfångaren. Applikationsregissören designar applikationen och blir därmed kravställaren. Han är CID, Chief Interaction Designer. Applikationsregissören realiserar användarnyttan.

Men vänta lite nu. Spola tillbaka. Det måste ju till en verksamhetsexpert för att kunna se verksamhetens behov. Där har du din applikationsregissör. Eller hur? Ja. Men bara om nämnde verksamhetsexpert också är expert på applikationsdesign. Om inte, kan verksamhetsexperten vara ett stöd för applikationsregissören, ett fantastiskt bra stöd. Inhämtandet av verksamhetskunskap är en nödvändig och synnerligen intressant uppgift för regissören.

För att återknyta till bröderna Skägg, hur gör dom nu det här?

George och Steven har långt innan inspelningen jobbat på ett manus tillsammans med manusförfattaren. Det finns en väldigt tydlig bild av vad som skall åstadkommas. Oberoende om Steven skrivit manuset på egen hand eller ej så blir manuset hans egendom i den kreativa processen. Innan inspelningen startar sätter man upp varje scen på väggen i form av storyboards. Bara för att inspelningen har kommit igång är inte manuset gjutet i sten, utan ändringar och tillägg görs löpande under produktionen.

Läs nu om ovanstående stycke, men byt ut inspelningen mot implementationen, manuset mot applikationsdesignen, manusförfattaren mot interaktionsdesignern, scen mot story, storyboards mot wireframes.

Okej, låt oss lämna George och Steven för en stund.


Så här tror jag man skall göra

Innan teamet med programmerare sätter igång finns en design. Den är inte komplett, innehåller inte alla detaljer, men den ger en utmärkt bild av vad vi föreställer oss är slutmålet just nu. Detaljer finns däremot för dom stories som är högst på priolistan. Regissören jobbar alltså med ett interaktionsteam som innehåller interaktionsdesigner och grafisk formgivare, och dom ligger ständigt före utvecklingsteamet. Innan en story/uppgift är färdig för priolistan låter regissören också en eller flera utvecklare göra en teknisk design och uppskatting av omfattningen. På detta sätt föds priolistan med konkreta genomförbara uppgifter. Allt eftersom stories blir färdigprogrammerade åker dom tillbaka till interaktionsteamet som evaluerar användbarheten och tar med sig slutsatserna i det fortsatta arbetet.

Som tur är slipper vi den Hollywoodska massiva monstermaskinen som en filminspelning är. Vi systemutvecklare kan vara mycket mer lättrörliga. Den chansen försitter vi inte utan det agila tankesättet är grunden för hur vi jobbar.

Jag har inte sagt så mycket om Applikationsproducenten men denna roll liknar nog mer det som kallas Projektledare. Kanske stoppar man in en del av vad Scrummästaren gör i producentens arbetsuppgifter också. Tillsammans med applikationsregissören har han ansvar för att användarna får glädje och nytta av systemet.


Slutsatser

Det är fyra saker jag vill säga:
  1. Fokusera på användarnytta och du kommer att skapa affärsnytta.
  2. Interaktionsdesign är applikationsregissörens främsta verktyg.
  3. Applikationsregissören är expert på att designa applikationer. Domänkunskap och verksamhetskunskap är input till designprocessen.
  4. Jobba med två team, interaktionsteamet och utvecklingsteamet. I-teamet ligger ständigt före, men även efter, u-teamet.
Applikationsregissören är alltså en produktägare a la Scrum fast med ett tydligare mandat och arbetsuppgifter. Han har en djup förståelse för användbarhet och användarnytta. I hans huvud förvandlas behov till en konkret design och han leder teamet hela vägen in i mål.

No comments:

Archive