Es mostren els missatges amb l'etiqueta de comentaris agile. Mostrar tots els missatges
Es mostren els missatges amb l'etiqueta de comentaris agile. Mostrar tots els missatges

dimecres, 13 de juny del 2007

Meetings in Scrum...

Aquí hi ha un interessant fil de discussió de diferents percepcions que tenen els desenvolupadors que empren Scrum com a metodologia àgil de desenvolupament de programari. Bàsicament contrasten si són útils tant les reunions matinals com les que fan en finalitzar cada cicle (que en Scrum s'anomenen sprints i duren 30 dies).

diumenge, 10 de juny del 2007

From Lightweight Methods to Agile Manifesto and the state of the art...

Al febrer de 2001, 17 persones es van reunir a Snowbird (Utah) per debatre les bases del desenvolupament de programari àgil. Com a resultat d'aquella trobada, en va resultar el document The Agile Manifesto. La història contada per un dels protagonistes, en Martin Fowler.

Tantmateix, ja han passat 6 anys des d'aquest acord, i hom es pregunta si cal fer un refactoring del manifest que fou escrit. Al XP Day Toronto 2007, en Brian Marick, un altre dels 17 que va contribuir amb la creació del manifest fa 6 anys, va exposar les idees del que caldria adaptar. Aquí teniu un post seu on ho explica amb detall.

dijous, 31 de maig del 2007

Top Five essential practices for developing software...

En aquest article d'en Basil Vandegriend és proposen les 5 costums o pràctiques més importants a l'hora de desenvolupar programari. Encara que semblin òbvies, estic segur que a molts llocs no s'apliquen en la seva totalitat, i això d'una banda afecta a la productivitat i eficiència de les empreses, i al mateix temps, a la seguretat i comoditat dels programadors de l'equip. Així, un resum d'aquestes pràctiques seria:

  • tests automatitzats: cal escriure tests per tot el codi que escrivim, i és més, cal iniciar fent els tests abans de programar el codi, això ens ajuda a saber més exactament el que esperem d'aquest codi. També és important que automatitzem aquests tests, de manera que es passin sols cada cop que fem un build, així podem descobrir els problemes a l'instant, i d'altra banda ens permet corregir problemes que ja han ocorregut anteriorment.
  • control de versions: és imprescindible per a un equip de persones que interactuen contra una mateixa línia de desenvolupament (trunk) poder mantenir actualitzar la seva còpia del codi, poder penjar els canvis i que tothom els tingui accessibles immediatament, poder mantenir totes les releases que es van traient, etc. És clau que el trunk sempre compili. De sistemes de control de versions n'hi ha de centralitzats (per ex. Cvs o Subversion, entre d'altres) i de distribuïts (com Git o Bazar, entre d'altres).
  • refactoring: consisteix en millorar un tros de codi ja existent sense variar-ne la funcionalitat. Es recomana fer-ho sovint i sempre a nivell de petits trossos de codi.
  • Construir i desplegar sovint: és important desenvolupar a nivell de petites funcionalitats i desplegar sovint el que anem fent. Això permet que tothom disposi de la versió de codi el màxim actualitzada possible, i a més, permet fer un seguiment més exhaustiu dels canvis que es van produint al trunk en quant a millores de l'aplicació. Es recomana fer build i desplegar varis cops al dia, i com a mínim, és bó deixar al sistema cv la última versió bona que tinguem abans de marxar de la feina, així podem començar de zero al dia següent.
  • comunicació: és essencial dins d'un equip que hi hagi comunicació, estalvia duplicar feines, ajuda als novells a adquirir experiència dels més experts, etc. Una possibilitat d'establir una bona comunicació és fer una reunió diària una estona després d'haver iniciat la jornada laboral, que sigui curta (uns 10 minuts) i on tothom exposa que està fent i possibles problemes en que es trobi). Això també permet veure si tothom està en el bon camí i si s'entenen les prioritats establertes al projecte.
Que en penseu? penseu que realment poden ser útils? n'afegiríeu alguna més?