Aula 6: O Manifesto Ágil e o Scrum
Agile é uma abordagem de desenvolvimento leve, baseada em pessoas (não em planos), nascida do Manifesto Ágil publicado em 2001. Nesta aula, que abre o módulo de Agile, vamos conhecer os quatro valores e o espírito dos doze princípios do manifesto, entender o que é uma metodologia iterativa e increme
Resumindo: o Agile prefere pessoas, software em funcionamento, colaboração com o cliente e responder a mudanças. O Scrum é uma estrutura (framework) para aplicar isso — uma equipa que se autogere, trabalha em ciclos curtos (sprints), se reúne por 15 minutos todo dia e, ao final de cada ciclo, mostra software em funcionamento e melhora.
- Manifesto Ágil
- Um documento publicado em 2001 por 17 autores (entre eles Kent Beck e Martin Fowler) por meio da Agile Alliance; ele estabelece quatro valores e doze princípios para um desenvolvimento de software leve, baseado em pessoas (não em planos).
- Os quatro valores
- Indivíduos e interações mais que processos e ferramentas; software em funcionamento mais que documentação abrangente; colaboração com o cliente mais que negociação de contratos; e responder a mudanças mais que seguir um plano. O lado direito tem valor — mas o esquerdo é o preferido.
- Iterativo e incremental
- Desenvolvimento em ciclos curtos e repetidos (de semanas a meses, com preferência pelos mais curtos), em que cada ciclo (iteração) adiciona uma parte funcional e cumulativa ao produto final. Esse é o estilo de desenvolvimento do Scrum.
- Scrum
- Uma estrutura (framework) de desenvolvimento ágil iterativa e incremental, baseada em uma equipa que se autogere, permitindo uma adaptação rápida a mudanças; o nome vem do rúgbi — o time inteiro 'percorre a distância como uma unidade só, passando a bola de um lado para o outro'.
- Papéis do Scrum (R&R)
- Scrum Master (orienta a equipa quanto às regras do Scrum e remove impedimentos); Product Owner (responsável formalmente em nome das partes interessadas e prioriza o Product Backlog); a Equipa (se autogere para atingir as metas da sprint); o Cliente; e a Direção (decisões finais).
- Sprint
- Uma única iteração no ciclo de desenvolvimento do Scrum — com duração fixa e pré-definida de até 30 dias corridos (na prática, geralmente de 1 a 4 semanas), terminando com um software totalmente testado e funcional para uma demonstração.
- Product Backlog
- A lista atual e priorizada de todo o trabalho que falta fazer no produto; dela são escolhidos os itens para o Sprint Backlog a cada sprint. O Product Owner é responsável por priorizá-la.
- Daily Scrum
- Uma reunião diária curta de status, limitada a 15 minutos, sempre no mesmo lugar e horário; cada membro responde a três perguntas (o que foi feito desde ontem? o que está planeado para hoje? há algum impedimento?). Os impedimentos são resolvidos fora da reunião.