Kada tim sporo isporučuje, instinkt je da se od ljudi traži da budu brži. To gotovo nikada ne uspeva. Brzina je svojstvo sistema, a ne pojedinaca – i nekoliko sistemskih promena dosledno daje nesrazmerno velike rezultate.
1. Učinite pipeline dosadnim
Izdanja treba da budu beznačajan događaj. U trenutku kada objavljivanje zahteva herojski napor, timovi grupišu izmene, grupisanje povećava rizik, a rizik sve usporava. Automatizovan CI/CD sa brzim i pouzdanim proverama vraća deploy u nešto što radite mnogo puta dnevno bez razmišljanja.
2. Skratite petlju povratnih informacija
- Brza lokalna povratna informacija: developer treba da sazna da je nešto pokvareno za nekoliko sekundi, a ne u sledećem sprintu.
- Mali pull request-ovi: brže se pregledaju, manje lome i ranije se spajaju.
- Observability u produkciji: brzi možete biti samo ako vidite šta se dešava nakon objavljivanja.
3. Birajte granice sa namerom
Najveći deo brzine gubi se na spregnutost (coupling). Kada nepovezani delovi sistema moraju da se menjaju zajedno, svaka funkcionalnost dodiruje sve. Jasne granice servisa i modula omogućavaju timovima da rade paralelno bez međusobnog ometanja – iz te paralelnosti dolazi onih 40%.
4. Automatizujte repetitivno odlučivanje
Sve što čovek radi na isti način svaki put – formatiranje, osnovne provere u pregledu koda, podešavanje okruženja, repetitivni outreach ili zadaci sa podacima – kandidat je za automatizaciju. Svaki takav koji uklonite vraća timu fokus za posao kojem zaista treba čovek.
Zaključak
Skraćenje vremena ciklusa za 40% nije bilo pitanje pritiska. Bilo je u uklanjanju trenja, tako da najbrži put i bezbedan put postanu isti put.