Den här bloggposten ger tips på hur man kan genomföra och planera en projekthelg. Insikterna och teorierna nedan baserar sig på att jag och en kompis bestämde oss för att ha en
projekthelg, där vi inspirerade av
24 hour business camp skulle bygga en webbaserad tjänst under en helg.
Det viktigaste när man ska genomföra ett sådant här helgprojekt är att sätta ett mål på vad som ska vara klart på söndag kväll. Det mål jag tycker man ska sätta är att
ta fram något som går att utvärdera.
När målet väl är satt så är det inte helt fel att börja
planera och strukturera. Visst kan det tyckas vara aningens överambitiöst att planera helgen men om man har en plan som redan definierar de stora stegen så är det mycket lättare att köra på i 190 och slippa alla speed bumps som det lätt blir annars.
För att få ett bra helhetsgrepp tycker jag att en tidsplan inte är helt fel. Bilden nedan är
mitt förslag på projektplan.
De gråa blocken kan vara väldigt lågintensiva och beroende på förutsättningarna kanske inte ens räknas in i projektet, men de fyller en funktion genom att lyfta ut flera frågetecken och hinder från den högintensiva bygghelgen.
Analys. I denna fas menar jag att det är viktigt att fokusera på de tekniker och affärsmodeller som ska användas. Vilka möjligheter och begränsningar har de ni väljer mellan. Google App Engine vs VPS vs webbhotell? jQuery vs Flex? Wordpress vs Drupal vs custom? osv. Att göra enkla proof of concept mock ups är ingen dum idé här.
Design. I designfasen är det viktigt att ta fram en bild på hur allt ska fungera. Skapa skisser och bygga modeller som förklarar hur saker ska se ut, vad som ska hända när användaren gör något, hur ser de olika sidorna ut beroende på olika inställningar eller förändringar. Kom ihåg att huvudsaken med detta är skapa en gemensam bild för alla i projektet så det inte blir fler frågetecken än nödvändigt när ni ska bygga det hela på den kommande helgen.
Förberedelser. Det kan finns mycket som passar in under denna punkt men generellt är det alla små detaljer som behövs för att helgen ska bli lyckad. Har ni alla utvecklingsmiljöer uppsatta? Fixat hosting? Tillräckliga färdigheter i teknikerna ni ska använda? Köpt domännamn? Någonstans att jobba på? Meny till bästa närmsta take away restaurang? Osv...
Bygg. Det är den här helgen helgprojektet handlar om och det finns många olika metoder och teorier om hur man gör detta bäst men jag förespråkar att man jobbar agilt med en feature-lista och att man i början bygger grunden faktiskt ska sitta alla vid samma dator, sedan när grunden väl är klar kör man på flera datorer och plockar var för sig från listan.
Utvärdera! Jag tycker utvärdering ska vara målet, sen hur man utvärderar resultatet av bygget är så beroende på vilket projekt det är. Dock är det som oftast en mycket bra idé att visa upp det för ett gäng uppriktiga vänner. Andra sätt är att testa det på tilltänkta kunder eller användare. Det viktiga är helt enkelt samla på sig så mycket information man bara kan och ha det som grund för beslutet om hur man ska gå vidare.
Iterera. Om ni tar beslutet att gå vidare med projektet så är det dags att hoppa tillbaka i processen, beroende på vad som gått bra och vad som inte blivit lika bra så behöver man gå tillbaka olika långt. Kom ihåg att våga gå längre tillbaka än bygg, lyssna på användarna, kanske både design och teknikval måste göras om?
Tips
- Ha flera dagar mellan design och bygg. För när designen är klar känns det som man löst alla problem och att produkten är klar. Vänta därför några dagar och låter lusten att förverkliga idén växa på sig
- Använd bara tekniker du redan kan riktigt bra. Tex bara för man kan Flash betyder det inte att man kan Flex!
- Innan bygget börjar är det otroligt viktigt att alla i projektet har exakt samma bild av det förväntade resultatet
- Undvik antaganden, gör enkla mockups/bevis på alla klurigare frågeställningar gällande teknik
- Ha olika nivåer på vad som är godkänt när helgen är över. Fira sedan beroende på hur bra det gått / duktiga ni varit. Klarar ni av hela feature-listan måste det firas stort!
- Arbeta med leverabler. Tex ett dokument som visar vilka tekniker ni valt mellan och varför ni valt som ni gjort. Sketchpads och wireframes från designen. Checklista för förberedelserna. Featurelist för bygg, osv
- Öl och programmering är en dålig kombination. Men champagne och utvärdering passar mycket bättre ihop!
Fortsättning
Den här projektplanen kommer jag ta med mig och vidareutveckla med erfarenheter från framtida miniprojekt och så klart förfina och förbättra med hjälpa av andras erfarenheter och åsikter. Samma gäller för listan med tips. Och för den som av någon konstig anledning undrar så är grafiken gjord i google docs.