Agile 101 - Why projects fail ?

Timur Poperecinîi

@monomachus

 What is Agile?

Agile mindset

Agile mindset

Agile mindset

Agile ≠ Scrum

Agile ≠ Kanban

The Client: "What is Agile?

  • Flexibility
  • Rapidly adapting team
  • Developed functionalities are visible/tested much sooner
  • Shorter time-to-market

 Team: "What is Agile?"

  • More collaboration inside the team
  • My input is valuable (participation at estimations, demo, retrospective)
  • Unit tests & other software craft best practices (maybe)
  • Up-to-date specifications

Dictionary

  • Artefacts
    • Product Backlog
    • Scrum Backlog
    • Product Increment
  • Roles
    • Scrum Master
    • Product Owner
    • Stakeholders
    • Team
  • Events / Ceremony
    • Sprint
    • Sprint planning
    • Daily Meetings
    • Review or Demo
    • Retrospective
    • Backlog refinement

 #1: Lack of experience

 44% of participants 

  • First of all agile is changing the way we think
  • Need of training/coaching & deep understanding of the particular framework (Scrum sau Kanban)
  • Experienced Scrum Master and Product Owner, or at least the one that believes in the framework is a must

Scrum in a nutshell

 Kanban in 2 words

  1. Visualize Workflow
  2. Limit Work in Progress (WIP)
  3. Measure and Improve Flow

 We should be agile, and not just practice it

 Agile - important details: DoR and DoD

  • Definition of Ready
  • Definition of Done
  • Kanban - DoD for each column in the flow

 Agile - important details: User Stories

As a <type of user>, I want <some goal> so that <some reason>.

 Scrum - important details: Sprint 0

 Agile - important details: Who is the part of the team

Management, UI, Testers, DevOps, Developers, SEO Specialists, etc.

 #2: Company does not have agile values

 42% of participants 

  • Tilting at windmills
  • Beauracracy & Waterfall procedures
  • Lack of support from middle management in the transition period
  • Lack of support for cultural change in the company

Solution - Change management 

  • We should find people that think like us, preferably non-formal leaders
  • Implementing change with small steps 
  • Ask for positiv feedback from clients and present it to management
  • Adjust current procedures to Agile framework

 #3: Communication or cultural problems within teams

 33% of participants 

  • Teams are placed in different states/countries
  • Multiple timezones are involved
  • Communication between teams is inefficient
  • Integration of the work done by different teams is a complex process
  • Particularities of some team members is not considered by management

Possible solutions

  • 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 English

By monomachus

Agile 101 - Why projects fail English

  • 571