Accelerating Agile: Hyper-performing without the Hype

Step 1: Learn the domain

Step 2: Prioritise risky over valuable

“Where is the dragon?”

Step 3: Plan as far as you need

Tehát csináld a rolling wave planninget

Step 4: Try something different

Step 5: Fire, Aim, Ready

Ez igazábül fontosabb, mint a 100% test coverage. Igazából nincs értelme álltalánosan növelni a test coverege-t, amíg a legkockázatosabb (lásd Step 2) részek nem lefedettek rendesen.

Személyes tapasztalatom is hasonló. Soha nem dolgoztam magas test lefedettségű rendszerrel, de olyannal igen, aminek voltak visszatérő komponens problémái (minidg ugyan abban a komponensben jött elő valami gond), amit sikerült teljesen kiküszöbölnöm azzal, hogy azon a komponensen drasztikusan megemeltem a teszt lefedettséget és hogy, hogy nem abbból a komonenstől többet nem szenvedtünk. Pár körben még megcsináltam ugyan ezt pár hasonlóan problémás (és kritikusan fontos) komponenssel, és a rendszer dramatikus mértékben stabilizálódott.

Step 6: Build small, sparate pieces

Elmesél egy történetet, hogy a csapaténak egyik tagja copy-paste-el dolgozik. Mikor mit. néhol egy adatstruktúrát, néhol egy függvényt. Álltalában azzal kezni, hogy copy és elkezdni módosítani.

És van is értelme, hiszen: DRY -> sharing responsibility -> coupled.

Nagyon érdekes analógiát hoz fel: A természetben mi az ami úgy működik, hogy másol-módosít? A DNS! At ermészet bizony így fejlődik.

Ez pont az gondolatsor volt, amivel tudat alatt én is sokszor foglalkoztam. sokszor előfordult velem, hogy bizonyos esetekben egyszerően nem éreztem megfelelőnek a kód újrafelhasználást, hanem másolni akartam. Nem tudtam, hogy miből jön ez az érzés. De most már igen.

Kicsi komponenseket ugyan könnyebb lecserélni, de ehhez eleve ilyen architectúrával kell rendelkezni. Architektúrát nehezebb cserélni.

Step 7: Deploy small, separate pieces

Step 8: Prefer simple over easy

Nem valami konkrét, de érdemes feltenni pár kérdést. Pár példát felsorolt:

Step 9: Make the trade/offs

Step 10: Share the love

Step 11: Be OK with “failure”

Accelerating Agile: Hyper-performing without the Hype

Jul 17, 2013
comments powered by Disqus

Links

Cool

RSS