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

  1. Visualize Workflow
  2. Limit Work in Progress (WIP)
  3. 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