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?

1 comentari:

Enciam ha dit...

Veig que estàs en una època de gran productivitat :-) Serà que tens coses per estudiar ;-)