July 29, 2010

Scrum / agile development

Some resources and useful information about this development technique:

Basic concepts:

  • Sprints (iterations) last from 2 to 4 weeks, and they are released so that the client can test and provide feedback
    • Every iteration is divided into small tasks planned to be achieved in less than 2 days work
  • The specifications for a started sprint should not change, the client has the responsibility to define carefully the priorities; they are defined as user stories
  • There is a project owner which interacts with the client, and a facilitator which helps the development team to achieve the goals
  • From 5 to 9 people in every development team
  • Daily meetings (about 15 min) with all the team to discuss about:
    • The work done the day before
    • The problems faced when doing it
    • The work to be done the same day
    • Only ‘pigs’ can talk, ‘chickens’ can listen, though
  • ‘Pigs’ are: developers, project owner and project facilitator; chickens are: clients, users, marketing people
  • Finish every new feature (sprint) at 100%; it is better off having 80% features at 100% than 100% features at 80%