Modelo prescritivo de desenvolvimento de software
O SCRUM
SCRUM é um processo ágil e leve que pode ser utilizado para gerenciar e controlar o desenvolvimento de software utilizando práticas iterativas e incrementais.
Baseado em práticas de gerenciamento já fundamentadas no Extreme Programming e no RUP, o SCRUM produz os benefícios do desenvolvimento ágil com a vantagem de ser uma implementação bem simples.
O SCRUM aumenta significativamente a produtividade e reduz o tempo para obter resultados, pois facilita a adaptação a processos empíricos de desenvolvimento de sistemas.
Elementos do SCRUM
O SCRUM como qualquer outra metodologia é baseada em papéis e responsabilidades, porém, os papéis do SCRUM são bem abrangentes e direcionados para um propósito comum: O SUCESSO DO PROJETO.
Papeis
Product Owner • Define as funcionalidades do produto; • Concentra as informações vindas de usuários, stakeholders ou do mercado de maneira que se obtenha uma visão única dos requisitos do sistema; • Sua maior responsabilidade é o ROI do projeto • Prioriza o Product Backlog • Pode alterar as prioridades fora do Sprint • Aceita ou rejeita os resultados dos trabalhos
O Time (Team)
O Time é o grupo de pessoas diretamente ligadas ao trabalho a ser feito que garantirá que o projeto seja entregue com todas as funcionalidades necessárias. Suas características são: • Multi-functional • Formado por até 7 pessoas • Define o objetivo do Sprint e especifica os resultados dos trabalhos • Faz aquilo que é necessário dentro das diretrizes do projeto para alcançar o objetivo do Sprint • Auto-organizável • Demonstram o resultado do Sprint (ver definição abaixo) para o Product Owner e outros Stakeholders
A idéia por trás dos conceitos MULTI-FUNCIONAL e AUTO-ORGANIZÁVEL é que o time deve ter a capacidade e o conhecimento técnico sobre TODO o processo de desenvolvimento do produto. No caso de um