Agile
O método Agile contrasta com plan-driven development por se focar na adição rápida e incremental de funcionalidade, ter uma rápida reação à alteração de requisitos e também por minimizar o tempo gasto em planeamento.
Princípios dos Métodos Agile
- Customer Involvement
- Embrace Change
- Incremental Delivery
- Maintain Simplicity
- People, Not Process
Técnicas de Desenvolvimento Agile
-
Incremental Planning / User Stories
User Story
Uma user story é um caso de uso que pode ser experienciado por um utilizador.
Um template comum para uma story é:
As a
<type of user>
, I want<some goal>
so that<some reason>
.Geralmente, as stories estão sub-divididas em tasks.
-
Small Releases
-
Test-driven Development
-
Continuous Integration
-
Refactoring
Scrum
O Scrum é um método agile que define um esqueleto para a organização de um projeto agile.
Num scrum existem duas entidades chaves, o Product Owner, que garante que a equipa de desenvolvimento está sempre focada nos seus objetivos, e o ScrumMaster, que guia a equipa no uso do método scrum, mas sem se tornar no gestor do projeto.
Geralmente, num scrum, uma equipa de desenvolvimento é constituida por 5 a 8 pessoas, de forma a incluir pessoas com diferentes skills, mas sem se tornar difícil de gerir.
O desenvolvimento em scrum é feito através de Sprints, que
têm uma duração fixa (geralmente entre 2 a 4 semanas), em que são implementados
tarefas do Product Backlog, isto é, a to-do list do projeto.
O product backlog é revisto e atualizado antes de cada sprint, sendo que
as tarefas mais prioritárias devem estar no topo da lista.
Durante um sprint, a equipa tem reuniões diárias, intituladas de Scrums, para
se rever o progresso efetuado.
No fim de um sprint, é suposto a equipa obter um shippable product increment,
isto é, uma melhoria ao produto que pode ser lançada aos utilizadores.
É também neste período que é efetuado o Sprint Review, onde
a equipa reflete sobre o que correu bem e o que correu mal, de forma a melhorar
em sprints futuros.