Mini-etudy pro tým

Nedávno jsem se vrátil k výborné knížce The Art of Agile a znovuobjevil mini-etudy pro zlepšení XP dovedností. Zaujala mně konkrétně “Developing” Mini-Etude, která je určena pro procvičení přemýšlivého (rozjímavého?) návrhu kódu. Zajímavým zpestřením je spojit mini-etudy a videa Clean Coders.

Začínáme tím, že se společně v celém týmu podíváme na jednu epizodu CleanCoders (naposledy Names++). V dalších dnech pak po ranní stand-up schůzce věnujeme 15 minut párovému programování – refaktoringu kódu podle poznatků z poslední epizody. (Teď aktuálně zlepšujeme jména tříd, metod a proměnných.)

Pravidla etudy:

  • Pracujeme v páru – vždy dva lidi u jednoho počítače. Snažíme se alespoň jednou vystřídat role řidiče a navigátora.
  • Změny děláme po malých krocích (inkrementálně) a rovnou je commitujeme do Subversion.
  • Dodržujeme timebox – změny, které se nestihli dokončit (commitnout), na konci zahodíme (svn revert).
  • Každý den se snažíme vybrat jiného partnera do páru a podívat se na jinou část aplikace.
  • Na závěr je krátka retrospektiva – co nás překvapilo nebo zaujalo, jak se nám dařilo, apod.

Tento formát má kromě prvoplánového přínosu v pročištění kódu další důležité funkce:

  • procvičuje práci po malých ucelených krocích,
  • učí lépe odhadovat čas a timeboxovat,
  • podporuje výměnu znalostí o různých částech aplikace,
  • a nakonec díky práci v páru stmeluje tým.

Zkoušel jste někdo podobné cvičení? Jakým způsobem si zlepšujete programátorské dovednosti ve vašem týmu?

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax