Pencak Silat is een verzamelnaam voor tientallen Indonesische vechtkunsten. In tegenstelling tot bij vechtsport is het doel van vechtkunst het daadwerkelijk uitschakelen van tegenstanders. Zo bezien lijkt softwareontwikkeling meer op vechtkunst dan op vechtsport. Je ontwikkelt immers niet enkel om het ontwikkelen, maar streeft een concreet doel na; de totstandkoming van een systeem of applicatie. Maar er zijn meer overeenkomsten…
Pencak vormt een bonte verzameling van stijlen die onderling enorm kunnen verschillen. Ook de ouderdom van de stijlen varieert. Er zijn stijlen die recent zijn opgericht, maar ook die eeuwen teruggaan. Als je vraagt wat kenmerkend voor een bepaalde stijl is, wordt al snel gesproken over een systeem van bewegingen gebaseerd op specifieke uitgangspunten over wat belangrijk is in een gevecht. In vechtkunst is het eigenlijk heel simpel, het bewijs van de effectiviteit wordt geleverd in de uitvoering.
Zo is het ook bij methodes voor softwareontwikkeling. Er zijn talloze methodes, uiteenlopend van de traditionele watervalmethode tot het momenteel veel toegepaste Agile. Uiteindelijk leiden ze allemaal tot een systeem dat wordt opgeleverd. Het verschil zit ‘m in de efficiëntie en effectiviteit van het ontwikkelproces.
Inspelen op de ander
Een techniek werkt pas echt als het in de stress en snelheid van een gevecht nog steeds toepasbaar is, net als een methode voor softwareontwikkeling in principe onder alle omstandigheden overeind moet blijven. Het is dus zaak om de technieken niet te complex te maken. Daarnaast is een techniek pas goed als het je in staat stelt in te spelen op wat je tegenstander doet. Een tegenstander heeft zijn eigen doel, tactiek en ritme.
Dit is vergelijkbaar met waar een ontwikkelaar mee te maken heeft van businesszijde. De business heeft zijn eigen doel, maar het komt regelmatig voor dat ze gedurende het ontwikkelingstraject van tactiek en ritme veranderen. De Agile-methode is bij uitstek geschikt om als ontwikkelaar op dit soort veranderingen in te spelen.
De mens maakt de methode
Het verschil in kwaliteit wordt dan ook niet bepaald door de kwaliteit van de techniek of de kwaliteit van de methode, maar door de kwaliteit van de toepassing van een techniek en methode. De techniek is geen doel op zichzelf, net als een methode geen doel op zich is. Bij vechtkunst is het belangrijk dat je in staat bent om een techniek bij te stellen als uit de oefening blijkt dat deze niet helemaal werkt zoals gewenst. Datzelfde geldt voor softwareontwikkeling.
Je moet de flexibiliteit hebben om je aanpak bij te stellen als dat nodig blijkt. Een aanpak geeft weliswaar richting, maar de uitvoering blijft maatwerk omdat iedere klant uniek is. Gedurende een project moet je continu beoordelen of de gekozen aanpak werkt of dat deze bijgesteld moet worden. Net als bij vechtkunst bepaalt bij softwareontwikkeling de kwaliteit van de mensen uiteindelijk het succes.
Martin, een leuke eerste opinie op de Computable, leuk!
Ik kom zelf meer uit de hoek van de vechtsport; Thaiboksen (meer dan 20 jaar geleden) en misschien dat ik daarom wat dingen anders zie, zie hier mijn punten:
“In tegenstelling tot bij vechtsport is het doel van vechtkunst het daadwerkelijk uitschakelen van tegenstanders.” , ehh, is het niet andersom? Vechtkunst is in mijn ogen meer het tentoonstellen van een stroming, terwijl het in de vechtsport juist een doel is om daadwerkelijk te winnen. Thaiboksen was daarin behoorlijk effectief (niet per se efficient).
“Uiteindelijk leiden ze allemaal tot een systeem dat wordt opgeleverd. Het verschil zit ‘m in de efficiëntie en effectiviteit van het ontwikkelproces.” Dit schrijf je, maar later schrijf je dit “Het verschil in kwaliteit wordt dan ook niet bepaald door de kwaliteit van de techniek of de kwaliteit van de methode, maar door de kwaliteit van de toepassing van een techniek en methode.”
Dit spreekt elkaar volgens mij tegen. Eerst stel je de methode centraal, later de toepassing.
“…maar de uitvoering blijft maatwerk omdat iedere klant uniek is.”
Tja, hierin verschillen we van inzicht. Om dit met een quote te onderbouwen “Remember that you are absolutely unique! Just like everyone else” Ofwel, elke klant is welliswaar bijzonder en dat gevoel wil je ze geven, maar uiteindelijk zijn ze hetzelfde en daar zit ook de meeste leverage in.
Dan je laatste zin:
“Net als bij vechtkunst bepaalt bij softwareontwikkeling de kwaliteit van de mensen uiteindelijk het succes.” een waarheid als een koe 🙂 Ofwel de mens is belangrijker dan de methode en daar kan ik het mee eens zijn.
Hoi Henri,
Bedankt voor je reactie. Wat ik bedoel is dat bij vechtsport de sport centraal staat (competitie), bij vechtkunst gaat het niet om competitie maar om overleven, sportiviteit is daarbij niet van belang.
Sorry Grasshopper,
Je vergelijking ontgaat me volledig als je het over methodieken hebt, alsof je met pijl en boog probeert het op te nemen tegen een tank. Maar goed ik doe dan ook aan de schietsport en moet bij je voorbeeld denken aan die scene van Indiana Jones in Raider of the lost ark. Er zit tenslotte een behoorlijk verschil in het ontwikkelen van bijvoorbeeld een vluchtsysteem of een webwinkel maar is uiteindelijk testen niet grotendeels (mede)bepalend voor de kwaliteit?
Test is zeker belangrijk. Ook daar is een overeenkomst met vechtkunst, de theorie moet getoetst worden aan de praktijk. Van belang is wel om te beseffen dat een geslaagde test ook nog geen garantie op succes is en er dus nazorg nodig is. Een testomgeving is immers niet gelijk aan een productieomgeving. Dat is net zoals de training van de vechtkunst toch anders blijft dan het onverwachte gevecht op straat.
Ik vind het een leuk artikel die best treffend is qua vergelijking. Wel opvallend is dat Agile de methode is waarmee vergeleken wordt, maar een flexibele aanpassing naar het waterval-model? Past dat dan niet bij Pencak? In software ontwikkeling is dit soms de beste aanpak, is er ook een vergelijk met Pencak te maken? Laat dit soort verhaaltjes maar meer komen. Altijd leuk om te lezen. En vaak leuke reacties.
Bij vechtkunst kun je analoog aan waterval veel tijd in je voorbereiding stoppen. Je werkt dan aan een basis in standen, stoten, trappen en vormen (jurus). Pas als je basis goed is, begin je met een tegenstander. Een goede basis zal je zeker helpen. Nadeel is wel dat je tijdens het werken aan die basis nog nooit een tegenstander hebt ervaren, dit kan zelfs jaren duren. Op straat krijg je dan ondertussen gewoon klappen.
Je kunt ook alvast een standaardtechniek leren met een tegenstander, vergelijkbaar met een eerste Agile sprint. Dan heb je alvast wat. De kunst is dan wel een goed eerste begin te bepalen waar je op voort kunt borduren.
Kortom beide methodes kunnen leiden tot succes, de kwaliteit van degene die de methode toepast zal het verschil bepalen. In vechtkunst is er ook geen superieure stijl, wel is er een stijl die het beste bij een bepaalde persoon past.
Eens met de strekking van dit stuk. Wel de dialoog op gang brengen en houden. Van elke stap naar nieuwe functionaliteit moet helder zijn dat die compleet is uitgevoerd en dat er inzicht is in de consequenties van keuzes. Op die manier kan de business Informatiemanagement (of Functioneel Beheer) aansturen en die kan vervolgens Technisch Beheer/Ontwikkeling aansturen. Dat gebeurt dan steeds op basis van gevalideerde wensen, specificaties en (ontwerp)oplossingen. Hoe kleiner de ‘pakketjes’, hoe wendbaarder je bent. In die zin kan een agile aanpak hierin helpen.
Het doel is anticiperen en niet reageren: elke vechtsporter of beoefenaar van vechtkunst weet: wie het beste kan anticiperen is in het voordeel en heeft de grootste kans op succes.
Wie echter zijn tegenstander zijn medestander kan maken heeft succes zonder meer.