Lean, Kanban, TPS, SCRUM, Toyota, agilis szoftverfejlesztés – mi a kapcsolat közöttük? Definíciók és rendrakás.
Lean, Kanban, TPS, SCRUM, Toyota, agilis szoftverfejlesztés – mi a kapcsolat közöttük? Definíciók és rendrakás.
Ismerős szituáció lehet: IT konferencián az egyik előadó az agilis szoftverfejlesztés kapcsán elkezd a japán autógyárakról beszélni, röpködnek az olyan kulcsszavak mint TPS, Lean, SCRUM, majd case study-nak a Toyota Prius fejlesztése. Az egyszeri fejlesztők pedig tátott szájjal néznek…
Még mielőtt ebből divathullám lenne és minden második kkv „lean”-ként hirdetné magát, próbálom tisztázni a fogalmakat.
(Az mondjuk nem lenne baj, ha a lean ennyire széles körben elterjedne, de ne csak jelszavak szintjén.)
Agilis szoftverfejlesztés: Valójában nem egy módszertan, hanem szoftverfejlesztési módszertanok csoportja. Mások szerint szemléletmód, filozófia. Amikor agilis szoftverfejlesztésről beszélünk, akkor valójában arról van szó, hogy iteratívan vagy inkrementálisan fejlesztünk szoftvert, ahol a követelmények és a megoldás a fejlesztők és a felhasználók közös produktuma, ahol a csapatok önszervező képességére hagyatkozunk. A követelményeket nem rögzítjük le részleteiben, hanem elfogadjuk azt a helyzetet, hogy ezeket majd menet közben tisztázzuk.
SCRUM: Agilis módszertani keretrendszer. Van kapcsolat a japán gépgyárakkal (és autógyárakkal), mert az indító gondolata onnan ered. De itt csak pusztán egy gondolatról van szó, egy gondolat továbbfejlesztéséről. Amit ma SCRUM-nak hívunk, annak semmi köze sincs ahhoz, amit a japán gépgyárak csinálnak.
Lean: Folyamatfejlesztési irányelv, vagy nevezhetjük filozófiának is (a lean szakértők majd megmondják – én nem vagyok az). Habár sok közös pontot lehet találni az agilis szoftverfejlesztés és a lean között, de fundamentálisan ezek különböző dolgok.
Lehetséges a lean irányelveket alkalmazni szoftverfejlesztésben (mint ahogy akárhol máshol is), tehát létezik Lean szoftverfejlesztés.
A Lean szoftverfejlesztés biztosan nem egyenlő a SCRUM-mal.
Toyota Production System (TPS): A Toyota termelési rendszere, ami nem egyenlő a Lean-nel. A Lean filozófiát a Toyota dolgozta ki először és ma is alkalmazza, tehát a Lean része a TPS-nek, de létezik attól függetlenül is. Számos nagyvállalat alkalmazta a Lean-t és dolgozta ki saját termelési rendszerét.
A „termelési rendszer” itt értelemszerűen autók gyártását jelenti – semmi köze a szoftverfejlesztéshez, sem a SCRUM-hoz.
A TPS egyébként számtalan olyan elvvel és koncepcióval dolgozik, amik önmagukban is megállják a helyüket… ezekről helyhiány miatt most nem beszélek, de érdemes elolvasni egy-két könyvet a témában.
Kanban: Megint valami, amit a Toyota vitt tökélyre. A Kanban egy vizuális ütemezési rendszer arra nézve, hogy mit, mikor mennyit termeljünk. (A szakértők majd kiegészítik a definíciót).
Lehetséges a Kanban rendszert szoftverfejlesztésre adaptálni, fog is működni, de a Kanban csak egy eszköz – nem teszi a szoftverfejlesztést agilissá.
Látható tehát, hogy a fogalmak között húzható valamilyen kapcsolat, de a kulcsszavak könnyen össze tudnak keveredni.
A tanácsadók sokfélét mondanak arról, mi minden ered az autóiparból, a Toyotától és a japánoktól. Valóban, nagyon sok dolog ered onnan, de ne misztifikáljuk el. Már csak azért sem, mert a Toyotának mostanában nem megy olyan jól, és különösen a földrengés után sokan megkérdőjelezik a lean és a JIT mindenhatóságát.
Egyébként pedig, csak hogy tisztázzuk: az autóiparban vízesés modell szerint fejlesztenek.
Egyetlen szoftverfejlesztő se akarjon elmenni az esztergomi Suzuki gyárba autót összeszerelni csak azért, hogy ott agilitást vagy lean-t tanuljon, mert nem fog.
Zárszóként: ezek csak eszközök, elvek és módszerek. Szoftvert lehet jól fejleszteni Lean és Kanban nélkül is. Ezek csak eszközök, önmagukban nem garantálják sem az agilitást, sem a sikert.
Arról lehet beszélni, hogy valaki a saját SCRUM szoftverfejlesztéséhez adaptálta ezen eszközöket, és hogy ettől jobb lett neki. De ez nem jelenti azt, hogy mindenkinek így kellene fejlesztenie. Mint az autóban a bőrülés: ha valakinek ez jön be, akkor használja.
Utolsó kommentek