The Office as a Code

4 min

“Tačno znamo šta da radimo. Ali u nekom mnogo stvarnijem smislu, mi pojma nemamo šta da uradimo.” - Majkl Skot, menadžer programera.

Da li postoji formula razvoja?

Baš tako - zašto ne bi kvantifikovali razvoj u nekakve parametere i izašli sa formulom koja preslikava proces rada firme? Na kraju, inženjeri samo (valjda); stremimo ka razumevanju sistema i postupaka.

Već neko vreme motam ovu misao po glavi; desilo se da imam uvid u različite kulture razvoja, i, prirodno, uočavam obrasce. Svi se tiču protoka informacija i razumevanja, ali to je druga tema. Kako bilo, takva nekakva formula bi trebalo da ilustruje razvojni proces kompanije; ne bi služila za (g)estimacije, već za upoređivanje. Zato fokus nije na preciznosti za konkretan slučaj, koliko na tačnosti za više slučajeva upotrebe.

Nešto ovako…

Dobrodošli u kanc!

Količina posla se meri jedinicama posla. Kao i sve ostale jedinice u ovom misaonom eksperimentu, nema stvarnu vrednost. Jedna jedinica posla predstavlja potpuno efikasan rad u trajanju od jedne vremenske jedinice. Vremenska jedinica je takođe proizvoljna vrednost; ovde uzimam da traje 30 minuta. Da pojednostavimo: jedinica posla je maksimalno učinkoviti rad u trajanju od 30 min.

Programera opisujem sa dve grupe parametara. Prva grupa se tiče “proizvodnje” posla:

Druga grupa parametara se tiče potrebnog znanja:

Tim opisujem sa samo dva parametra:

Većina ovih metrika nema jasan način merenja. To je potpuno u redu; firma sama mora da osmisli način kvantifikacije parametara.

Primeri

Hajde da pokrenemo ovaj misaoni eksperiment.

Zamislimo da imamo 100 jedinica posla koje treba uraditi. To je nekih 50 sati potpuno efikasnog posla; nešto malo više od šest dana.

Radnik meseca

Stavljamo Dvajta na projekat, koji je savršeni radnik. Postavimo da 10% vremena provodi na sastancima, jer Majkl voli da mikro-menadžuje. Rezultat: posao se uradi za 110 vremenskih jedinica.

Duplo radnika nije duplo brže

Vlažni san svakog menadžera: ako dupliramo broj radnika, prepoloviće se vreme izrade. Uključujemo Džima na projekat. Džim je odličan radnik, tek nešto manje efikasan nego Dvajt. Ipak, komunikacija je nije odlična (80%), usled sporadičnih pošalica.

Rezultat: 69 vremenskih jedinica. Razvoj nije duplo brži.

Dugo leto

Stenli nije efikasan (pola vremena rešava ukrštene reči), zna samo koliko mu treba i osrednjim tempom stiče nova znanja. Kevin je već na drugoj strani spektra, neradnik meseca. Komunikacija u timu je bleda.

Rezultat je 490 vremenskih jedinica.

Vreme za podvale

Ima perioda kada Džim i Dvajt podvaljuju jedni drugome. To povećava broj “sastanaka” (veći deo su, zapravo, podvale), a smanjuje se efikasnost komunikacije.

Rezultat: 165 vremenskih jedinica. Komunikacija i dostupnost informacija je ključni parametar razvoja. Tim nije zbir članova.

Novi lik

Džima menjamo za Rajanom, novajlijom. Iako je efikasan i ima tehničkog znanja, ne poznaje domen. Sva sreća, uči umereno brzo.

Rezultat: 132 vremenske jedinice. Zaposliti radnika koji ne poznaje domen je skupa stvar. Što je razumljivo, dok god su sve strane poravnate s rezultatom.

U sledećoj epizodi…

Bilo bi zanimljivo nastaviti ovaj eksperiment. Poraditi na koeficijentima i - najviše - sprezi međusobnih uticaja parametara. Usuđujem reći da nam ne treba više od ovih šest parametara. To takođe daje zanimljv pogled na razvojni proces.

Github projekat

Naslućujem da bi mogli doći do nečeg interesantnog.

“To je ono što je i ona rekla!”

🧧
Nisam definisan svojim stavovima. Stavove usvajamo, menjamo, nadograđujemo, ali oni ne čine nas same. Manje je važno da li se slažemo, koliko da se razumemo.