Agile 101 - Why projects fail ?
Timur Poperecinîi
@monomachus
Ce este Agile?
Agile mindset
Agile mindset
Agile mindset
Agile ≠ Scrum
Agile ≠ Kanban
Clientul: "Ce este Agile?"
- Flexibilitate
- Adaptare rapida a echipei la orice situatie
- Se vad mai rapid functionalitatile dezvoltate
- Time to market mai mic
Echipa: "Ce este Agile?"
- Colaborare mai multa in echipa
- Inputul meu la estimari conteaza
- Teste unitare (maybe)
- Specificatii la zi
Glosar
- Artefacte
- Product Backlog
- Scrum Backlog
- Product Increment
- Roluri
- Scrum Master
- Product Owner
- Stakeholders
-
Evenimente / Ceremonii
- Sprint
- Planificarea unui sprint
- Daily Meetings
- Review sau Demo
- Retrospectiva
- Backlog grooming
#1: Lipsa de experiența
44% din respondenți
- In primul rand agile e schimbarea modului in care gandesti
- Nevoie de training/coaching si intelegerea profunda a frameworkului in cauza (Scrum sau Kanban)
- Scrum Master si Product Owner experimentat, sau cel putin care "crede" in framework - e un must
Scrum in 2 cuvinte
Kanban in 2 cuvinte
- Visualize Workflow
- Limit Work in Progress (WIP)
- Measure and Improve Flow
Trebuie sa fim agile si nu doar sa-l practicam
Agile - detalii importante: DoR si DoD
- Definition of Ready
- Definition of Done
- Kanban - DoD for each column in the flow
Agile - detalii importante: User Stories
As a <type of user>, I want <some goal> so that <some reason>.
Scrum - detalii importante: Sprint 0
Agile - detalii importante: Cine face parte din echipa
Management, UI, Testers, DevOps, Developers, SEO Specialists, etc.
#2: Compania nu are valori agile
42% din respondenți
- Te lupti cu morile de vant
- Birocratie si procese Waterfall
- Lipsa suportului de la middle management in perioada de tranzitie
- Lipsa suportului pentru schimbare culturala in companie
Solutia - Managementul schimbarii
- Gasim persoane care gandesc ca noi, de dorit lideri neformali
- Implementam schimbari pe pasi mici
- Cerem feedback positiv de la clienti si il prezentam la management
- Ajustam procesele la managementul curent Agile
#3: Probleme de comunicare sau de cultura in cadrul echipelor
33% din respondenți
- Echipele nu sunt colocate
- Lucreaza in diferite fuse orare
- Comunicare intre echipe e ineficienta
- Integrarea lucrului facut de diferite echipe e un proces complex
- Particularitatile personale a unor membri din echipa nu e luat in consideratie
Solutii posibile
- Travel
- Desemnarea persoanelor responsabile pe subiecte anumite din ambele/mai multe echipe.
- Responsabilitatea devine comuna si ambele parti tre sa faca ceva ca sa se descurce
- Evenimente comune de echipa - hackaton, sportive, turistice
#4: ScrumMaster e de fapt ScrumSlave
25% din respondenți
- Persoana dicteaza ce tre sa fie facut de fiecare membru al echipei
- Nu e un servant leader, ci o persoana autoritara
- Situatia inversa: Apatie, nu e interesat in ceea ce face echipa, sau cum sa amelioreze lucrurile
ScrumMaster este ...
- Aparatorul echipei fata de stakeholderi, client, management
- Facilitatorul echipei
- NU este - responsabilul final de livrari, angajamente, testari
Echipa este ...
- Intreaga echipa devine un singur organism, care raspunde in intregime fata de estimarile sale, bugurile, livrarile
- NU este - doar responsabil de teste, sau doar responsabil de implementarea unui task X, responsabilitatea e a fiecarui membru din echipa
#5: Product Owner nu e potrivit
19% din respondenți
- Nu cunoaste businessul core
- Nu comunica cu utilizatorii finali a produsului
- Nu poate prioritiza
- Expectarile nu sunt bine definite
- Nu poate lua decizia finala de sine-statator
Product Owner deseori e din echipa clientului
- Explicarea rolurilor si frameworkului Scrum si toolurilor pe care le vom utiliza e un must pentru ca aceasta persoana sa poata interactiona corect intr-un process Scrum
- stabilim meeting-uri de Backlog Grooming periodic pentru a avea un Sprint Backlog bine definit cu cel putin o saptamana inainte de inceputul Sprintului
Failure Story
- Compania Startup vrea Agile
- Requirements se schimba in 3-4 zile
- Clientul discuta direct cu developerii fara sa implice pe Scrum Master sau sa posteze tickete in tool de PM
- Cere deployment in prod
- In oferta initiala s-a propus vag SEO, clientul a acceptat
- Echipa nu cunoaste despre aceasta
- Proiectul tre sa fie livrat in 2 luni de zile
- Design-ul se livreaza de cineva din partea clientului de 2 ori pe zi in HTML (fara SEO)
Another Failure Story
- Compania Startup vrea Agile
- Are un budget fix
- In oferta financiara se propune Scrum
- Proiectul incepe in luna ianuarie (de exemplu)
- E nevoie de 4-5 devi
- La inceputul lui ianuarie sunt prezenti 2 devi
- In februarie se elibereaza inca 3 si se alatura echipei
- Clientul merge in concediu la sf. lui Ianuarie
- UI e livrat de o companie externa care are alte deadlines si resurse
- Re-livrarea si re-integrarea UI costa bani, pe care clientul nu le are pentru ca avea budget fix
Failure Story #3
- Compania Enterprise vrea Agile
- Are un budget fix
- In oferta financiara se propune Scrum
- E primul proiect important Scrum in companie
- Sunt lansate 5 echipe cu a cate 5 persoane
- 5 echipe in 3 tari diferite
- Arhitectul din partea clientului stabileste tehnologiile si structura BDD
SUCCESS Story
- Compania Enterprise vrea Agile
- In oferta financiara se propune Scrum
- Sunt lansate 5 echipe cu a cate 5 persoane
- Toate echipele sunt in aceiasi agentie in RO
- Product Owner e persoana din partea clientului
- Compania este destul de tehnica si se ocupa de architectura si infrastructura aplicatiei singura
- Un GIT si release flow bine definit
Role playing
- Compania Startup vrea Agile
- Are mai multe produse in productie
- Ajusteaza produsele in dependenta de cerintele utilizatorilor finali
- Preluati un produs pe o platforma mai veche
- Careva functionalitati se mai dezvolta si de catre client
- Va cere schimbari de rute, care sa fie URL friendly
- Va cere functional nou si bug fixuri
- Vi se cere sa livrati in prod
Books to read
The Agile Samurai
The Dream Team
Nightmare
Have fun with Agile!!!
Agile 101 - Why projects fail
By monomachus
Agile 101 - Why projects fail
- 625