AgileWorks Romania

Software Craftsmanship

Prezentare "Intro to Software Craftsmanship", AgileCE 2010. Despre Software Craftsmanship
  • Dezvoltarea de software este 'craft' (mestesug, indemanare); cu trecerea timpului devenim mai buni profesional practicand acest mestesug si ajutandu-i pe altii sa il invete. Citam din  Software Craftsmanship Manifesto: "As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft. [...]".
  • Manifestul se gaseste aici:
  • Membrii marcanti ai miscarii: Robert C. Martin blog , Michael Feathers, Ron Jeffries,  J.B. Rainsberger code whispererCorey Haines
  • Cateve practici care ne indreapta spre Software Craftsmanship: Code Retreat, Coding Dojo, Coding Kata
Despre Code Retreat
  • 'Code retreat' este o zi de practica. Ideea este sa stabilim un spatiu unde putem practica 'the craft of development.'
  • Format: o problema (ex: Conway's Game of Life) de rezolvat; se lucreaza in perechi; 6 sesiuni de cate 45', dupa fiecare sesiune urmand o scurta retrospectiva asupra ce am realizat; la finalul fiecarei sesiuni se sterge codul scris.
  • Scopul nu este codul in sine si nici macar finalizarea solutiei, ci este de a exersa diverse practici pentru 'clean code' si pentru a ne indrepta spre 'software craftsman'. Citam din Corey Haines "The goal of the retreat is to provide sessions where people can practice doing things they wouldn't ordinarily do when working on something they need to get finished. Since the Game of Life is not a task that can be reasonable finished in an hour, the tension to finish goes away, and we can focus on different design / development techniques. Ever wanted to try to implement an algorithm with no 'if' statements? Go for it! Want to try the 'TDD as if you meant it' style? Knock yourself out! The world is open, and, since you are pairing, it makes for a fun time trying new things." Descrierea in engleza aici:
  • Necesar: un laptop la fiecare doua persoane, cu mediul de dezvoltare instalat si functional;  important este ca cei care fac pereche sa cunoasca acelasi limbaj - in rest, putem sa avem intr-o grupa atat programatori Java cat si .Net sau php.
  • Important 🙂 : Ziua se incheie la bere cu discutii despre ce am invatat/practicat/descoperit in sesiunile de programare
Despre Coding Dojo
  • 'Coding Dojo' este tot o forma de invatare&practica, ca si 'code retreat';
  • Format: o provocare (o problema de rezolvat, o bucata de cod care 'tipa' sa fie refactorizata, etc.); un calculator si  un proiector; o pereche la calculator - ceilalti atenti la implementare; o persoana din pereche este schimbata la fiecare 5 - 10 minute (depinde de grup), perechea de la calculator explica permanent ce face, audienta se implica prin comentarii si intrebari - mai multe detalii aici:
Despre Coding Kata