Hai detto che vuoi adottare Agile perché riduce il time-to-market e aumenta la produttività dei tuoi sviluppatori, quindi mi piacerebbe concentrarti su quegli aspetti particolari.
Tempo di commercializzazione
Nei tradizionali prodotti a cascata, le parti interessate hanno solo una possibilità di sottoscrivere i requisiti. In Agile, è possibile produrre una visione molto più piccola e quindi aggiungere ulteriori requisiti in seguito. Questo è il tuo modo migliore per arrivare sul mercato velocemente. Per fare ciò, devi assicurarti che
- la tua base di codice rimane facile da cambiare
- puoi implementare il tuo codice facilmente, ripetutamente e in modo affidabile
- i tuoi stakeholder sono pronti a coinvolgere e parlare di ciò di cui hanno veramente bisogno, invece di ciò che vogliono.
Quindi dovrai fare un po 'di educazione ai tuoi stakeholder. Leggi intorno a soggetti come Story Mapping e Feature Injection e parla loro di ciò che vorrebbero ottenere da Agile. Tieni presente che la certezza che hanno usato per ottenere l'analisi di Waterfall non ci sarà (se mai lo fosse!), Ma avranno più possibilità di cambiare idea e modellare la direzione del prodotto, invece.
Per le pratiche che ti aiuteranno a mantenere il codice base facile da cambiare, ti suggerisco "XP Explained" di Kent Beck. Guarda anche approfonditamente TDD, BDD e Continuous Integration and Deployment.
Avere delle vetrine per le parti interessate all'interno di un ambiente il più vicino possibile alla produzione aiuta davvero. Consiglio di farlo ogni due settimane. Se ritieni che sia molto semplice da implementare e le parti interessate desiderano un maggiore coinvolgimento, puoi ridurre le iterazioni a una settimana. Se trovi che è molto difficile da implementare, assicurati di ottenere un feedback in qualche forma ogni due settimane - anche se deve essere su una macchina per sviluppatori - quindi rilasci ogni mese o due se puoi. Mentre lo fai, scopri cosa rende la distribuzione così difficile e inizia ad automatizzarla. Se ci sono organi politici che ti impediscono di dispiegare regolarmente, scopri cosa potresti essere in grado di mostrare loro come abbinare i loro processi di gate e vedere se riesci a trasferirli in un ruolo in cui educano la squadra e controllano continuamente invece di avere un grande controlla alla fine.
Aumento della produttività
Agile non è davvero un modo per convincere gli sviluppatori a fare più lavoro in meno tempo. Invece, gli sviluppatori hanno meno rielaborazioni, meno sforzi inutili in termini di lavoro svolto "nel caso" e un approccio più collaborativo che consente loro di imparare gli uni dagli altri e dal resto del team.
Il fatto che il team abbia co-localizzato è il fattore più importante per consentire che ciò accada, IMO. Gli sviluppatori devono essere in grado di collaborare con i tester per trovare i bug in anticipo, mentre ricordano ancora come risolverli; con gli analisti in modo che possano mettere in discussione qualsiasi parte dei requisiti che non capiscono; e l'uno con l'altro in modo che possano condividere nuove idee, progetti e cose che apprendono. La maggior parte delle pratiche di XP, in particolare la programmazione della coppia, la proprietà del codice collaborativo e TDD, ridurranno i bug e quindi rielaboreranno anche.
Un avvertimento su Scrum
Questo si applica in particolare se stai usando le misure di stima e velocità.
Molto di ciò che stai per fare sarà nuovo per te, e sarà difficile trovare un inizio per quanto tempo ci vorrà. Se inizi a utilizzare le stime e le misurazioni della velocità per tenere traccia del lavoro, le stime potrebbero essere abbastanza lontane per iniziare. Questo è normale.
Scrum inoltre non impone alcuna pratica tecnica che possa aiutare a mantenere il codice facile da modificare. Per le cose che cerchi - time to market e produttività - quelle pratiche tecniche saranno essenziali . Per questo motivo, ti preghiamo di non mettere semplicemente in opera Scrum, ma anche di iniziare ad adottare l'eccellenza nel tuo lavoro di sviluppo e di rendere flessibile il tuo processo. Avrai molti vantaggi solo grazie alla qualità superiore, al codice collaborativo e ad un ambiente di apprendimento elevato.
Coaching e formazione
È molto probabile che ti imbatti in problemi. Ho incontrato solo una compagnia che si è auto-allenata da un paio di lezioni di CSM, e avevano una cultura straordinaria. Non aver paura di chiedere aiuto e leggi molto. Scrum non è l'unica metodologia là fuori e puoi ottenere idee anche da altre fonti.