Projektstyrning

Inom mjukvaruutveckling är det inte nödvändigtvis en fördel om kunden får precis det som ursprungligen önskades. Då vår värld är i ständig rörelse är också kundens krav ofta underkastad löpande revision. Det betyder i sin tur att utvecklarna måste träffa ett rörligt mål. Varje projekt är unikt och beror till stor del på projektets karaktär och storleken på teamet.

Kravspecifikation

  1.  Det är naturligtvis bra om kunden redan har en färdig kravspecifikation, men det vanligaste är att enbart en informell beskrivning av det önskade systemet finns tillgänglig. Man börjar därför med att be partnern utveckla kravspecifikationen inom ramen för ett separat inledande kontrakt med begränsad omfattning. Detta ger möjlighet för parterna testa varandra för att få en känsla av hur ett framtida samarbete kommer att fungera. Ofta är det nödvändigt att specialisten spenderar ett par dagar hos kunden för att kraven på specifikation, funktionalitet, dokumentation, test etc.
  1. Första utkast – Preliminary Vision Document – justeras via e-post, ping-pong och en eventuell workshop, och blir – efter kundens godkännande – det godkända Vision Document. Genomförs detta förarbete noggrant undviks senare problem.
  1. Specifikationen är kundens egendom och kan – om så önskas – användas till att bjuda ut uppgiften till andra subcontractors. Även om man skulle välja att avbryta samarbetet med partnern (det har ännu inte hänt), har de ändå fullständigt levererat ”value for money”.

Erbjudande: fast pris eller time & material

  1. Med en färdig kravspecifikation har båda parter ett fast underlag att bygga på, och Astenits partner kan ofta lämna ett fast pris på uppgiften.
  1. Innan kontraktet om själva systemutvecklingen ingås är det vanligt att kunden önskar besöka utvecklingsteamet för att skapa sig en bättre uppfattning. Som exempel tar det bara ett par timmar att flyga till St. Petersburg. Vissa använder uttrycket ”Offshore”, men i fallet St. Petersburg är det mera lämpligt att tala om ”Nearshore”. Både det Östeuropeiska företaget och Astenit hjälper till med formaliteter som t.ex. visum, flyg och hotell.

Systemutveckling

  1. De flesta av våra Östeuropeiska partners är CMMI och/eller ISO9001 certifierade, d.v.s. de har ett fast grepp som processen och stor erfarenhet av att estimera utvecklingsförloppet. Detta ger säkerhet för att uppgiften blir löst inom avtalad tid och kostnad.

    Själva systemutvecklingen styrs enligt kundens önskemål. Vissa önskar ett väldigt strukturerat arbetssätt som t.ex. beskrevs i dokumentet Software Development Process. Andra önskar en Agil metod. T.ex. finns det ett danskt Offshore Development Centre (ODC) i St. Petersburg som styrs enligt kundens önskemål, inte utifrån en kravspecifikation, men via långa och ofta förekommande telefonsamtal. Projektledningen kan också vara direkt från kunden om så önskas. Rapportering sker enligt kundens önskemål, oftast en gång per vecka. Om det är lämpligt går det även att lägga upp projektet på en hemsida som enbart kunden och utvecklarna har tillgång till. 

    I båda fallen bevarar kunden en nära känsla för vad som pågår. Astenits partners använder den utvecklingsprocess som kunden önskar, finns det inga särskilda önskemål har partnern sin egen process t.ex:
            Lanit-Teracom Software Development Process
            ScienceSoft Development Process
  1. Om uppgiften är av en viss omfattning, är det vanligt att man möts till reviews under vägen antingen hos kunden eller hos utvecklingspartnern. Stor vikt läggs vid nära kontakt under hela förloppet för att säkra projektet och kontakten underlättas av det relativt korta geografiska avståndet. Ofta uppstår en så nära relation att kunden efterhand betraktar utvecklingsgruppen som en integrerad del av sin verksamhet.

  2. Systemet testas av utvecklingspartnern enligt avtal och av kunden och olika ”bugs” korrigeras av utvecklingspartnern. Det är också vanligt att kunden under förloppet har några change requests som utförs enligt Time & Material villkor – Att utveckla ett system är som tidigare nämnt som att träffa ett rörligt mål. Under processen blir båda partner (turligt nog) klokare.

  3. Om så önskas kommer utvecklingspartnern till kunden för att leverera och ev. utbilda användaren.

Underhåll

  1. Om kunden så önskar, ingås ofta ett avtal om underhåll av systemet.
  1. Det är vanligt att kunden vill bevara den ackumulerade expertisen och erfarenheten från utvecklingspartnern och ingår då ett långtidsavtal om ett ODC. På så sätt bevaras teamet intakt och nya projekt kan startas snabbare, enklare och billigare.

    Utvecklingsarbetet sker i nära samarbete med kunden, d.v.s. utvecklingsarbetet är en lärande process snarare än ett beställningsjobb och stor vikt läggs vid personlig kommunikation. Kunden tas t.ex. med i teamdiskussioner och releaser av dellösningar kommer ofta och snabbt.
Metoder/verktyg:

Agile: Scrum, eXtreme Programming
UML, RUP
MS Project