380 likes | 609 Views
Dokumentasjon og Planlegging av større IT-prosjekter. Fra en spillutviklers perspektiv. Jarl Schjerverud 1994 – 2007 Funcom, Lead Game Designer/Producer 2009+ Foreleser i spilldesign ved HIOF og NITH Jobber til daglig som rådgiver i ODIN MEDIA. Om Foredraget. Dokumenter og dokumentasjon
E N D
Dokumentasjon og Planlegging av større IT-prosjekter Fra en spillutviklers perspektiv
Jarl Schjerverud • 1994 – 2007 Funcom, Lead Game Designer/Producer • 2009+ Foreleser i spilldesign ved HIOF og NITH • Jobber til daglig som rådgiver i ODIN MEDIA
Om Foredraget • Dokumenter og dokumentasjon • Gjennomføring • Planlegging • Prosess, fra ide til produkt • Kort introduksjon av spill-industri og prosjekter
Anarchy Online 1996 - 2001
Drømmefall/Dreamfall 2001 - 2005
AOC 2002 - 2008
The Secret World 2004 – 2012?
Spillutvikling da... • Enkle produkter • Små team • Små budsjetter • Utviklingstid i uker
...og nå • Team: 200+ • Budsjett: $50 mill. + • Tid: 2 – 5 år
13 millioner abonennter • ...betaler USD 13 per mnd. • USD 169mill per mnd!
Utfordringer • Store team, mange unge og uerfarne • Høy risiko, lange prosjekter • Svært komplekse oppgaver i mange disipliner • Programmering • Prosjektledelse • Grafikk • Animasjon • Lyd • Musikk • Dramaturgi • Etc.
Store krav til kvalitet • Levering på tid • Holde tritt med teknologi • Utvikling over flere platformer • Forutsi marked flere år frem i tid • Endring av spesifikasjon underveis
Struktur • Prosjektleder – overordnet ansvar for tid, budsjett, bemanning • Game Director – overordnet kreativt ansvar • Team Leads – ansvar for avdeling
Typiske Faser • (Kravspesifikasjon/Analyse) • Konsept • Innsalg, oppstart • Design og spesifikasjon • Implementasjon • Verifikasjon/Testing • Release • Vedlikehold
Prosjektplan • Ta høyde for at endringer (alltid) vil skje • Men aldri ta lett på endringer • Sørge for at alle endringer går igjennom alle faser: • Konsept • Spesifikasjon • Implementasjon • Test • Prøve å identifisere tidlig hvor en vil få flere iterasjoner • Iterativ prosjekt-modell
Interne milestones slik at en får testet at alle systemer og ressurser fungerer sammen. • Timeboxing • Tilpasse ambisjon på system/feature nivå • Distribuere tilgjengelig tid – slik at vanskelige eller kritiske systemer får ”mest” tid
Dokumentasjon • Konseptfase • Ideutvikling • Definere hva som skal lages • Vurdere om prosjektet skal startes
Konseptfase Dokumentasjon • High Concept • Overordnet beskrivelse av forslag til hva som skal lages • Kortfattet – intern bruk • Concept • Detaljering av hva som skal lages • Kortfattet beskrivelse av alle elementer
Konseptfase Dokumentasjon • Risk assessment • Risikovurdering spesifik for prosjektet • Hvilke risker finnes • Sannsynlighet • Plan om risiko inntreffer
Konseptfase Dokumentasjon • Competetive analysis • Vurdering av eksisterende og fremtidig konkurrerende produkter
Konseptfase Dokumentasjon • Pitch • Salgsfremmende dokument til ekstern bruk • Baseres på konsept
Konseptfase Dokumentasjon • Preliminary project plan • Første utkast til mulig prosjektplan • ”Deliverables” • Definisjon av videre faser • Preliminary staffing plan • Kompetanse • Når • Hvor mange
Dokumentasjon • Designfase • Detaljering og spesifikasjon av alle elementer • Svært nøyaktig beskrivelse av ”alt” • Er det ikke dokumentert – er det ikke i spillet • 100% innsats gir 80% dokumentasjon
Designfase Dokumentasjon • System designs • Spesifikasjon av funksjonalitet, mekanismer, regler, etc. • Mange dokumenter • ”Tusenvis” av sider – presisjon og detaljenivå avgjørende for videre arbeide • Alle moduler brytes ned i mindre og mindre biter til de er ”håndterbare” – for så å bli spesifisert • Gjør det mulig å jobbe parallelt
Designfase Dokumentasjon • Content designs • Spesifikasjon av alt innhold (som systemene bruker) • Text • Personer (NPC, PC) • Lyd • Musikk • Brett (level design) • Etc.
Designfase Dokumentasjon • Teknisk spesifikasjon • Teknisk spesifikasjon basert på system og content design • Typen spesifikasjon er avhengig av område; • Programmering • Grafikk (2d/3d) • Lyd • Animasjon • Etc. • Kan føre til nødvendig endring av design pga. Tid, budsjett, teknologi, etc.
Dokumentasjon • Implementasjonsfase • Alle tekniske spesifikasjoner brytes ned i minste mulige, praktiske arbeidsoppgave – ”Tasks” • Hver task estimeres med: • Minste tid • Største tid • Sannsynlig tid • Estimasjonen må gjøres av den som skal utføre oppgaven
Dokumentasjon • Implementasjonsfase • Risiko dokumentasjon oppdateres • Prosjekt plan oppdateres • Design dokumenter oppdateres/vedlikeholdes løpende
Dokumentasjon • Verifikasjon/Test-fase • All testing gjøres mot eksisterende dokumentasjon • ”Test cases” lages og dokumenteres for typiske brukerscenarioer • ...men også for de mest atypiske • Platform spesifik kompabilitetstesting
Dokumentasjon • Verifikasjon/Test-fase • Alle feil og mangler rapporteres tilbake som arbeidsoppgaver (tasks) • Spesifikasjoner/Design dokumentasjon er utgangspunkt
Verktøy • Prosjekt plan (MS Project) • Design/Spesifikasjon (Wiki) • Tasks (Bugzilla, Basecamp) • Bug-rapportering (Bugzilla)
Guidelines • Enighet om hva som skal lages • Detaljert spesifikasjon av ”alt” • Bryt ned spesifikasjon i minste mulige arbeidsoppgaver • Bruk god tid på å få gode tidsestimater på alle arbeidsoppgaver • La de som skal utføre oppgavene estimere og planlegge sine egne oppgaver
Guidelines • Tilrettelegge for endringer • Bruke nok tid på planlegging før en starter implementasjon • Dokumentasjon skal være så kortfattet som mulig – men samtdig så detaljert som mulig • Dokumentasjon skal fungere som referanser – ikke romaner! • Dokumentasjonen skal tjene utviklerne – ikke omvendt!