Tuesday, June 19, 2012

Estic llegint: The White Tiger

De Aravind Adiga. 2008. Publicat per Atlantic Books. 321 pàgines

Una novel·la ambientada a l'India que explica, en primera persona, com un ciutadà amb poques expectatives es converteix en un pròsper emprenedor.
Mostra una India desequilibrada, cruel i injusta. Una gran lectura.

He anat prenent notes durant la lectura.

Diu que la India està plena d'homes "mig cuits" per què no han pogut finalitzar l'escolarització i que justament aquests són la bona base per l'empreneduria. A la pàgina 10 diu:

Fully formed fellows, after twelve years of school and three years of university. Wear nice suits,join companies, and take orders from other men for the rest of their lives.
Entrepreneurs are made from half-baked clay.
A la pàgina 110 apareix un indianisme que ja havia comentat en parlar de Shibboleth en aquest blog. 
I did the needful in a few precise words.

I a la pàgina 292 fa un elogi del yoga pels emprenadors:
[...] an hour of deep breathing, yoga, and meditation in the morning constitutes the perfect start to the entrepreneur's day. How would I handle the stresses of this fucking business without yoga, I have no idea. Make yoga a must in all Chinese schools – that's my suggestion.

Wednesday, June 13, 2012

Definition of Done and Acceptance Criteria

It is always useful to share a common vocabulary in a team, and some terms lead to confusion, as it happens with Definition of Done and Acceptance Criteria.

In an agile project the work to be performed is described in User Stories, for example:
“As a premium user I want to check the special offers addressed to me so that I can purchase them”

Every User Story can have a set of “conditions of satisfaction”, things that must be satisfied in order to consider the User Story finished:
  • The premium user can list the special offers addressed directly to him
  • Each offer has a price, and it’s shown in the user’s currency
  • If the list is empty the user is notified about it and he can see the conditions
  • Every item has link so it can be purchased

These conditions are the Acceptance Criteria and are set per User Story, and are meant to remove ambiguity. In Scrum terminology they are the Product Owner's expectations.

The Definition of Done (DoD)  is a term used in Scrum but can also used in other methodologies. DoD is a set of conditions that every developer must satisfy in order to say he has completely finished with a User Story, so that it’s potentially shippable. It's a statement on quality, and it’s meant to avoid “Technical debt”. You cannot say “it’s done, just some documentation pending”.

Every team defines their own requirements for Done. The obvious one is “all Acceptance Criteria pass” but other teams must choose some of the following:
  • All code has been reviewed (if not pair-programmed)
  • Code has been deployed using Continuous Integration
  • Documentation updated
  • Systems Administrators notified about changes
  • Training manual updated
  • No pending bugs
  • Performance tests passed
  • All code under version control
  • All code needs to have automatic acceptance test
  • Business Analyst accepted
  • Unit Tests pass
  • Code coverage over 70%

If a User Story is not done, it must pass to the following sprint.

In Scrum you can have a Definition of Done for a User Story, for a Release and for a Sprint Planning.

Definition of Done is a team commitment on quality. Acceptance Criteria sets the minimum validations to check on a User Story completion.

There are some practices to include Acceptance Criteria in the development process, like BDD (Behavioural Driven Developmen) and ATDD (Acceptance Test Driven Development), but that’ll be another day.

Monday, June 11, 2012

El secreto del éxito de los freelance

No soy un artista, ni un freelance (autónomo) pero soy un fan de Neil Gaiman y cuando vi en el blog de Olaf Lewitz que había dado un discurso a unos graduados en arte, me puse a mirar el vídeo.
Para mi ha resultado tan inspirador como el discurso de Jobs o de Guardiola que ya comenté en este blog.


Me quedo con el secreto de los freelance:
La gente consigue un trabajo porque... consigue un trabajo. Pero siguen trabajando porque:
  • Su trabajo es bueno
  • Es fácil trabajar con ellos
  • Entregan el trabajo a tiempo
Y lo mejor de todo es que no necesitas las tres. ¡Con sólo dos ya está bien!
Tolerarán si eres desagradable pero haces un buen trabajo y entregas a tiempo.
Te perdonarán que entregues tarde si tu trabajo es bueno y les gustas.
Y no tienes que ser muy bueno si entregas a tiempo y es agradable trabajar contigo.

Sobretodo, disfrutar y cometer errores interesantes.

Make Good Art.