Prestanite igrati Tetris (s timovima, sprinterima, projektima i pojedincima)

Već godinu ili dvije upotrebljavam Tetris kao metaforu za smanjenje anti-obrazaca za razvoj softverskog proizvoda. Radi na individualnoj, timskoj, sprinterskoj, projektnoj, programskoj i organizacijskoj razini. I ne samo za razvoj ... radi gdje god se ljudi koordiniraju da rade.

Ovo nije Tetris. Odlična je puzzle igra i moguće je biti "dobar" u Tetrisu. Kada govorim o Tetrisu, govorim o tome kako većina ljudi doživljava igru.

Jutros sam naišla na ovaj strašan Tweet Billa Murraya, a to me inspiriralo za pisanje brzog posta o Tetrisu.

Svi znamo kako se Tetris "osjeća". To je zabavna igra. No, kako Murray ističe, u tome je i element uzaludnosti i mazohizma. Stresno je! Sad zamislite da su to blokovi i komadi. Zamislite da igranje nije pod vašom kontrolom. Tako se može osjećati kao što se ponekad može raditi na frontovima u razvoju softverskog proizvoda!

Neki primjeri [Sprint, Feature, Team, Project] Tetrisa u razvoju softverskog proizvoda uključuju:

  1. Povlačenjem „malih priča“ u sprintu da biste pogodili neku iluzornu metu „brzine“ (čak i kad priče nemaju nikakve veze s smislenim ciljem).
  2. Poticanje visokih stopa pojedinačne upotrebe. Optimiziranje za "traženje posla" umjesto optimiziranja za učinkovitost, ishode i protok.
  3. Veliki četverogodišnji / godišnji planiranje pri čemu neka skupina menadžera / planera pokušava sastaviti dijelove slagalice i „sve to obaviti u tromjesečju“ (čak i ako se prioriteti drastično razlikuju).
  4. Zamolite funkcionalne discipline poput UX-a da "napreduju" u poslu, u nastojanju da rade "učinkovitije". To rezultira nemogućim kretanjem skupa ovisnosti i primanja (i nedostatkom razmjene informacija).
  5. Stvaranje pretpostavki o veličini / obliku planiranog rada (i protoku budućeg rada) koji na kraju postaju lažno. Na primjer, od tima će se tražiti da "krene dalje" od obećavajuće inicijative zbog slojeva ovisnih planova.
  6. Brzo preusmjeravanje / rotacija timova da bi se bavili pritiskom projekata.
  7. Paraleliziranje ovisnog rada u nadi da će se „horizontalni presjek“ višestrukih projekata moći dovršiti istovremeno (umjesto da se posao tretira kao jedan projekt).
  8. Nikad se ne vraćam da popravim stvari. "Rupe" ostaju i pojedu kolektivnu psihu organizacije.
  9. Sve veći pritisak na "timove". Guraju ekipe dok ne puknu. Umjesto da popravljaju praznine, upravljački slojevi na sve više i više rade dok sustav ne doživi spektakularni kolaps. Timovi neizbježno moraju očistiti nered (i okrivljeni su da ih "ne guraju natrag").
  10. Položite se na taj „jedan komad“ da dođe na svoje mjesto i spasite dan. Do tada, ne napredujući naprijed. Kad se komad srebra-metka ne pojavi ... naći ćete sljedeći metak.

Shvaćate ideju. Postoje neke uobičajene teme:

  • preuranjena optimizacija
  • kratkotrajno razmišljanje, pretjerano reaktivno donošenje odluka
  • guranje (ing) vs povlačenje (ing)
  • jureći za visokim iskorištavanjem pojedinaca / timova
  • dijeljenje zadataka / timova / projekata
  • sve veći intenzitet (guranje do kolapsa)
  • videći dijelove umjesto cjeline

Pa kako se boriti protiv razmišljanja Tetrisa?

Jabe Bloom je ovim Tweetom udario nokat po glavi:

Jabeovoj točki dodao bih:

  1. Pokušajte duboko ukorijeniti ideju "povlačenja" u vašoj organizaciji. To je veliki pomak u razmišljanju. Povlačenje znači da započinjanje nečega Uvijek će značiti dovršiti nešto drugo. Ne opterećujete ljude / timove gore. Ne "gurate" rad na timovima. Umjesto toga, čekate da timovi priđu kad budu spremni i to poštujete. Morate vjerovati svojim timovima da daju sve od sebe, a da ih ne tražite da se obave u veliko radno vrijeme i „istežu ciljeve“.
  2. Zaustavite fetišiziranje zauzetosti i rezultata. Uplatite premiju ako radite više s manje. Učinite zanat, štedljivost i štedljivost dio kulture. "Iznad i izvan" je u redu, ali često nehotice prekriva sustav. Također potiče lokalno junaštvo nad globalnim protokom. Fokusirajte se manje na izlaz / zaposlenost i više na koristi i ishode.
  3. Oslobađanje rada u tijeku / ograničenja procesa. WIP ograničenja služe kao prisilna funkcija za kontinuirano poboljšavanje, katalizator povlačenja i signal da se sustav napreže i treba mu nešto TLC. Zamislite svaki komad / razinu na Tetris ploči kao WIP. Nažalost, ograničenja WIP-a su kontraintuktivna: gledamo procjene / nagađanja kako bi "povećali" rad i "ispunili" sustav. Ovo je recept za opasno visoke stope iskorištenja i duga, duga vremena.
  4. Vizualizirajte ovisnosti / vizualizirajte cjelinu. Kad podijelimo stvari, skloni smo gubitku niti. Vizualizirajući stvari “u cjelini”, skloni smo donositi mudrije odluke. Umjesto šest „projekata“, imamo jednu misiju.
  5. Učinite nešto s "rupama". Rezanjem uglova stvaraju se praznine. Racionaliziramo rezne dijelove kako bismo ranije naučili, isporučili ranije i ranije zarađivali. Problem (kako učimo u Tetrisu) je taj što se praznine zbrajaju i povećavaju psihičko povlačenje timova i na kraju uzrokuju kolaps.
  6. Preslikajte svoje pretpostavke. Skloni smo djelovati na temelju mreže pretpostavki (neke svjesne, neke nesvjesne, neke krhke, druge snažne). Izgradnja zajedničkog razumijevanja oko naših pretpostavki može rano izložiti "zapetljane mreže" i potaknuti nas da u posljednjem odgovornom trenutku pojednostavimo, očvrsnemo planove i ostavimo više zaostajanja u sustavu.

Jedina lijepa stvar kod Tetrisa je ta što je vrlo vizualno! Razlog što služi kao sjajna metafora protiv uzorka je taj što možete vidjeti / dodirnuti / čuti kolaps. Smislite način na koji ćete sličnu smisla donijeti svojoj organizaciji. Na taj način, igrate li Tetris s timovima, pojedincima, projektima i programima ... neto učinak postat će bolno očit.

Vaša je najveća opasnost igranje tetrisa (i trpljenje udara), ali nemate načina razmišljati o tome jer se previše ukorijenio u vašu kulturu.

P: Kako možemo znati da nismo uhvaćeni u igri Tetrisa?

O: Na vrlo visokoj razini… osjećaj održivog (i učinkovitog) protoka.