• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Videogame e agile
 

Videogame e agile

on

  • 454 views

 

Statistics

Views

Total Views
454
Views on SlideShare
425
Embed Views
29

Actions

Likes
0
Downloads
8
Comments
0

5 Embeds 29

http://iad11.presentz.org 12
http://presentz.org 9
http://local.host 4
http://localhost 2
http://dev.presentz.org 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Videogame e agile Videogame e agile Presentation Transcript

    • Videogame e Agile La scelta vincete di Pierluigi Riti
    • Breve Storia del mercato dei videogame
      • Nell’epoca d’oro dello sviluppo dei videogame bastava un solo programmatore per creare videogame di successo.
      • Le prime console da bar costavano mediamente 300$ mentre un videogame ben riuscito poteva rendere ben 1000$ in una sola settimana
      • Essendo un singolo programmatore a realizzare il videogame, questo non aveva bisogno di una metodologia di sviluppo precisa.
      • Negli ultimi anni, dal 1996 al 2008, il mercato è cresciuto passando da un fatturato di 20 Miliardi di dollari a 50 Miliardi di dollari.
      • Contemporaneamente è cresciuto esponenzialmente il tempo di realizzazione dei videogame passando da meno di 1 anno uomo del 1980, a circa 120 anni uomo del 2005
      Breve Storia del mercato dei videogame
    • Breve storia del mercato dei videogame
      • Questo ha fatto il modo che i team di sviluppo siano cresciuti e che di conseguenza si è scelta una metodologia di sviluppo.
      • La metodologia scelta è stata la “waterfall” perché già usata in altri settori industriali
      • Questa metodologia prevede lo sviluppo in “fasi” passando da quella meno costosa a quella più costosa.
    • Concept Design Code Assets Test e Debug
    • Perché l’Agile
      • Un problema fondamentale delle metodologie waterfall è il fatto di non poter sapere chiaramente che problemi si incontreranno.
      • Ogni giorno di lavoro si crea conoscenza che non è possibile pianificare completamente con le metodologie waterfall.
      • Lo sviluppo di un videogame è per prima cosa la conoscenza di quello che si vuole fare e come si ottiene.
    • Perchè l’Agile
      • Utilizzare le metodologie agili per lo sviluppo dei videogame aiuta a “cercare il divertimento” o “find the fun”
      • Uno dei benifici dell’utilizzo del metodo interattivo è quello di realizzare il software a piccole parti in questo modo è possibile realizzare quanto richiesto dal customer nella maniera più veloce e con il minor costo possibile
      • Nel campo dei videogame il customer è colui che acquista e gioca con il videogame e quindi un videogame più divertente è sicuramente più attraente e di conseguenza più facile da vendere.
    • Perché l’Agile
      • La conoscenza è la chiave del successo usando le interazioni dell’Agile è possibile creare questa conoscenza
      • Usando la metodologia waterfall non sempre si hanno tutte le conoscenze necessarie per quel tipo di gioco
    • Perché l’Agile
      • Le metodologie agili si concentrano sull’eliminazione degli errori
      • Elimina la pratica del “kill-gate model” in cui si fanno partire molti progetti per poi eliminare quelli che non sembrano proficui
      • Le iterazioni dell’Agile permettono di stimare meglio i costi di sviluppo di ogni singola feature
    • Perché l’Agile
      • Lo sviluppo di un videogame richiede un gruppo con conoscenze multiple
      • I valori dell’manifesto agile aiutano la gestione di questi gruppi creando delle linee di comunicazione dedicate
      • La ogni figura comunica con il proprio Lead, a sua volta i Lead parlano con il Project Leader
      Project Leader Lead Animator Lead Programmer Animator Programmer
    • Agile Planning e Videogame
      • Ogni interazione dell’Agile prevede l’esecuzione delle fasi di:
        • Concept
        • Design
        • Coding
        • Asset Creation
        • Debuing
        • Optimizzation
        • Tuning and Polish
      • Tutte queste fasi vengono ripetute per ogni interazione che deriva direttamente dalle “user stories”
      • Ogni 4-8 interazioni si prevede una “release” del gioco che copre una parte di gameplay
    • Agile Planning e Videogame
      • Il principio di “inspect and adapt” viene utilizzato per analizzare l’intero videogame e per pianificare le azioni future
      • L’agile usa il principio di “inspect and adapt” per cercare il modo migliore e più veloce per raggiungere gli obbiettivi pianificati
      • Gli obbiettivi pianificati sono scritti nel product backlog che contiene tutte le feature con una priorità assegnata direttamente dal Product Owner
      • Le priorità vengono assegnate dal product owner controllando quale delle features aumenta maggiormente il valore aggiunto del videogame.
    • Agile Planning e Videogame
      • Ogni videogame possiede delle funzionalità minime che devono essere implementate
      • Ad esempio nel caso di FPS(First Person Shooter) queste funzionalità sono:
        • Single-Multiplayer gameplay
        • AI
        • Armi
        • On-line Multiplayer gameplay
      • Tutte queste funzionalità creano un debito tecnico di lavoro da gestire sia in termini di tempi che di costi.
    • Agile Planning e Videogame
      • Molti programmatori di videogame non ritengo l’Agile una metodologia corretta per vari motivi
        • I Publisher richiedono dei documenti di progetto dettagliati prima di approvare il videogame
        • Un videogame ha bisogno di 8 ore o più di gameplay
        • Avere un unica data di rilascio,che di solito corrisponde a qualche festività, Natale ad esempio oppure all’uscita di qualche film/cartone collegato al videogame.
    • Agile Planning e Videogame
      • Le fasi di produzione sono:
        • Concetto
        • Pre-Produzione
        • Produzione
        • Post-Produzione
      • Ogni fase influenza la successiva
      • Nella fase di Concetto di solito si pianifica cosa si vuole realizzare nel videogame, in questa fase di solito vengono presentate più proposte in attesa di trovare quella che si intende realizzare
      • Nella fase di Pre-Produzione di solito viene realizzato un livello del videogame
      • La fase di Produzione si occupa di realizzare l’intero videogame.
      • La fase di Post-Produzione si occupa di verificare la qualità del prodotto finito valutando tutte le ore di gameplay verificando che risponda agli standard qualitativi richiesti.
    • Agile Planning e Videogame
      • La fase di pre-produzione copre il 25% del tempo di sviluppo in questa fase il product owner analizza alcuni aspetti fondamentali per lo sviluppo successivo.
      • Il product owner e il team esplora il gameplay per capire i costi di produzione e misurare il debito tecnico
      • Il product owner usa la fase di pre-produzione per produrre tutte le misure necessarie alla misurazione degli sprint.
      • Il team scrum rifinisce il timebox di sviluppo in modo di avere una corretta pianificazione dei rilasci definendo costi e qualità da utilizzare nel videogame.
    • Agile Planning e Videogame
      • Misurare il debito tecnico permette al product owner di capire i costi di produzione
      • Avere la conoscenza di questi costi permette di evitare le cosiddette “kill gate feature”
      • Una “kill gate feature” è una feature che viene aggiunta in produzione e che aumenta i costi di produzione dello stesso videogame
    • Agile Planning e Videogame
      • Spesso durante la fase di produzione le metodologie Agile vengono abbandonate per tornare alle metodologie waterfall
      • Questo procura una perdita di tutti i vantaggi delle metodologie Agili
      • La Lean Production permette di usare al meglio le metodologie Agile anche durante la fase di produzione
      • Lo sviluppo dei successivi livelli del videogame può essere suddiviso in User Stories
    • Agile Planning e Videogame
      • Le User Stories più grandi possono essere suddivise in più parti, ad esempio un livello molto grande di un FPS
      • La suddivisione delle User Stories permette di pianificare meglio gli Sprint dell’Agile
      • Più Sprint possono essere raggruppati in Release che permettono di mostrare agli stakeholder un avanzamento del lavoro
    • Agile Planning e Videogame
    • Agile Planning e Videogame
      • Il lavoro da fare in ogni Sprint può essere suddiviso utilizzando una kanban board
      • Kanban rappresenta un flusso di lavoro “pull system ” ogni card rappresenta un azione che deve essere svolto.
      • Il team utilizza la kanban board per visualizzare tutto il flusso di lavoro che deve essere svolto.
    • Agile Planning e Videogame
      • In basso un esempio di Kanban Board
    • Agile Planning e Videogame
      • Un Kanban Board permette di rappresentare uno stream di produzione
      • Uno dei vantaggi dell’utilizzo di una Kanban Board è quello di permettere un corretto flusso di lavoro evitando quindi tempi morti
      • Un altro concetto importante che introduce è quello del Timeboxing
    • Agile Planning e Videogame
      • Lo scopo del Timeboxing è quello di pianificare lo sviluppo di ogni feature tenendo conto di qualità e costi
      • Il Timeboxing non obbliga a produrre una determinata qualità in un determinato tempo ma cerca la miglior qualità possibile in uno specifico tempo
      • Bilanciare qualità e costi è compito del product owner
      • Il Timeboxing non è preciso ma può variare, ad esempio un livello può richiedere un tempo di sviluppo maggiore rispetto ad un altro
    • Agile Planning e Videogame
      • Lean introduce due tipi di misure diverse per misurare il tempo di produzione delle attività.
      • Uno è il takt time che misura il tempo di produzione che nel caso di videogame è stimata nella fase di pre-produzione
      • L’altra è il c ycle Time che è il tempo che intercorre tra l’inizio e la fine di un processo di sviluppo
    • Agile Planning e Videogame
      • Lean cerca di ridurre continuamente sia il tempo di cycle time che di takt time
      • Idealmente il tempo cycle time è uguale o inferiore a quello di takt time
      • Il livellamento di questi tempi è l’obbiettivo del levelling flow
      • Il levelling flow si occupa di migliorare tutti gli asset di produzione per ridurre i tempi
    • Agile Planning e Videogame
      • L’Agile richiede anche un cambio dei team di sviluppo del videogame
      • Vengono introdotte nuove figure che permettono la miglior gestione di tutto il processo Agile.
      • Scrum crea le condizioni per la creazione di un grande team attraverso alcuni principi e pratiche
    • Agile Planning e Videogame
      • Team interdisciplinari abilità i team ad offrire il massimo del valore agli stakeholder o ai clienti
      • Autogestione consente ai team di selezione la quantità di lavoro di cui farsi carico ad ogni sprint
      • Auto-organizazzione consente ai team di avere un certo grado di responsabilità e autorità decisionale per la selezione dei membri
      • Vera leadership abilità la leadership a focalizzarsi sul mentoring e su tutto quanto necessario per far accrescere la cultura
    • Agile Planning e Videogame
      • Un piccolo team di sviluppo di un videogame è di solito formato da almeno 12 persone
      • Un team agile per essere efficiente deve avere una dimensione che dalle 7 alle 9 persone
      • Per gestire questa differenze l’Agile si modifica creando gruppi omogenei che lavorano tra di loro
    • Agile Planning e Videogame
      • Per risolvere le esigenze dell’Agile si possono creare gruppi più piccoli che lavorano in sinergia tra di loro
      • Ogni gruppo verrà gestito da un Lead , ad esempio Lead Artist , Lead AI Programmer, Lead Gameplay Programmer
      • Ogni Lead avrà il compito di gestire il lavoro di ogni gruppo
    • Agile Planning e Videogame
      • In particolare ogni Lead dovrà adottare alcune pratiche per permettere il cambiamento richiesto dall’Agile
      • Le procedure che ogni Lead adotterà saranno:
        • Designe and Planning
        • Resource Allocation
        • Task management
        • Review and Promotion
        • Mentoring
    • Agile Planning e Videogame
      • Tool Teams è un team misto, Artisti, programmatori, QA, AI, Level Designer, che si occupano di crerare parti specifiche di un videogame
      • Pool Team è un team di sviluppo che si occupa di una sola area di sviluppo
      • Integration Team un team dedicato all’integrazione delle componenti del videogame
    • Agile Planning e Videogame
      • La suddivisione dello sviluppo in team crea una nuova procedura dello Scrum
      • Ogni team viene gestito come un gruppo Scrum distinto
      • Per far collaborare tutti i team viene introdotta una nuova riunione che viene definita “Scrum di Scrum”
    • Agile Planning e Videogame
      • Lo Scrum di Scrum è una riunione, di solito settimanale a cui partecipano solo gli scrum master di ogni team
      • In questa riunione a cui partecipa oltre agli scrum master il product owner si parlerà di quello che hanno fatto i team durante la settimana, cosa dovranno fare e che problematiche sono state incontrate
    • Agile Planning e Videogame
      • Avendo un numero di team non consoni allo Scrum si può creare un problema di comunicazione
      • Per gestire questa problematica è possibile istituire una “communities of practice”
      • Questo artefatto ha lo scopo di condividere tra i team le problematiche per evitare gli errori comuni
    • Agile Planning e QA
      • Uno dei ruoli più importanti del Quality Assurance, QA, è quello di parlare con tutti i team
      • Il QA ha lo scopo di garantire la qualità del videogame rispettando gli standard qualitativi aziendali
      • Il QA può intervenire sul processo richiedendo un miglioramento della qualità generale del videogame
    • Agile Planning e QA
      • La QA nella gestione waterfall è gestita alla fine di ogni progetto
      • Questo porta ad un innalzamento dei costi nel caso in cui la qualità prodotta non sia quella effettivamente richiesta
      • L’Agile cambia radicalmente il modo in cui il QA partecipa al progetto
    • Agile Planning e QA
      • Nell’Agile il testing del prodotto e il controllo qualitativo fa parte del comune ciclo di vita di ogni sprint
      • Il QA può controllare in ogni momento la qualità del prodotto permettendo quindi di adottare delle azioni correttive al product owner
      • Questo permette di avere prodotti di maggiore qualità rispettando però i costi di progetto previsti
    • Conclusione
      • L’Agile viene di solito adottato solo nelle prime fasi venendo abbondato nella fase di produzione
      • L’utilizzo dell’Agile anche nella fase di produzione permette di migliorare l’intero ciclo di sviluppo evitando quelle che possono essere delle “kill-gate feature”
      • L’Agile migliora inoltre il rapporto con la QA introducendo il controllo di Qualità in tutte le fasi di sviluppo
      • L’Agile permette inoltre di migliorare la comunicazione tra i gruppi permettendo quindi di creare videogame di migliore qualità
    • Fine