PUMA - Metodologia de Desenvolvimento Ágil
Autor: Daiane Rodrigues | Publicado: 2011-01-11T05:48:00-08:00

Olá tripulantes! Muita gente tem me perguntado esses dias a respeito da metodologia PUMA, então resolvi publicar esse post explicando um pouco mais a respeito. Espero que curtam!!!



A PUMA é uma metodologia de desenvolvimento ágil criada por uma dupla de universitárias, Daiane Rodrigues (eu mesma) e Mayara Leal, em novembro de 2010 no Instituto Federal do Piauí/Campus Floriano. A criação da metodologia foi requerida pela disciplina de Engenharia de Software e apartir disso as mentoras decidiram compartilha-la com outros desenvolvedores que se interessarem pelo esquema apresentado e possam utiliza-lo em suas implementações e desenvolvimento de projetos. 

O nome PUMA teve origem em homenagem ao animal "Puma" (Puma concolor), é um animal ágil, arisco e dotado de excelente visão e audição.

A PUMA é uma metodologia com foco na entrega do produto no menor tempo possível, com menores custos e redução significativa na perda de informações tanto da comunicação com o cliente quanto do desenvolvimento do produto.

É uma metodologia baseada nas metodologias ágeis: XP e Scrum.

Seus valores são:

Simplicidade 
Comunicação 
Determinação 
Planejamento 
Organização


Papéis:


Manager - Gerente de projeto
Sênior - Representante dos desenvolvedores
Desenvolvedores


Manager:


Responsável pela comunicação com o cliente, análise e documentação do projeto; 
Possui contato direto com o cliente e o sênior. 


Sênior:


Responsável por gravar a conversa com o cliente e pelos testes; 
Contato direto com os desenvolvedores; 
Entende bastante de desenvolvimento.  


Desenvolvedores:


Responsáveis pela implementação; 
Trabalham em duplas; 
A dupla se encarrega de fazer os testes simples durante a codificação.   

1ª Reunião:

A visão G, ou primeira reunião é usada para definir os requisitos do projeto, onde o cliente listará as principais funções do sistema;

Nela participam o cliente, o manager e o sênior.

Duração média em torno de 00:30min a 01:30h.


2ª Reunião:


Na Repasse, são expostas as funcionalidades para os desenvolvedores;

A equipe faz uma estimativa de tempo para o desenvolvimento e a definição de preços.

Duração: 01:00h a 03:00h.


3ª Reunião:


Na check-up,  ou 3ª reunião, é feita a coleta das prioridades;
O gerente apresenta os valores de custo e o tempo estimado pela equipe;
No final o sênior realiza perguntas específicas a respeito das funcionalidades prioritárias.


Reuniões diárias:


As reuniões diárias ocorrem apenas no final do dia onde a equipe verifica o que foi produzido no dia corrente e delimita os objetivos do dia seguinte;

Conduzida pelo Sênior;

Duração: 00:15min - 00:30min.

Implementação:


A dupla trabalha junta durante o projeto. Os integrantes escolhem seu par, porém não pode ser escolhido o mesmo parceiro de um projeto anterior. 


Cada dupla desenvolverá uma etapa da funcionalidade.  
Equipe: 4 a 10 pessoas 
(Ex: Uma faz o design, outra a parte de código, outra as regras de negócio se existirem). 


Processo:

As funcionalidades listadas são definidas como Processos, e tem duração variando de acordo com o grau de complexidade da função, podendo variar de 15 a 30 dias.


Uso de planilha com prioridades definidas por cores.


Testes:

Fica a cargo do Sênior; 
Após os testes é realizado o PULO, que pode ser tanto para frente quanto para trás, ou seja, se forem encontrados erros no código a equipe se organiza para a correção dos erros, caso contrário a equipe adiciona a funcionalidade no pacote que será entregue ao cliente para que ele também teste. 


Protótipo: 


Após o desenvolvimento e os testes, é entregue ao cliente um pacote contendo 3 processos; 
O cliente se encarrega de testar o pacote e descobrir erros despercebidos pela equipe. 


Documentação:


Varia de acordo com a complexidade do negócio; 
A cargo do sênior; 
Incremental.


Então pessoal, o legal dessa metodologia é que por ser ágil possibilita o desenvolvimento de projetos de qualidade no menor tempo possível e com ganhos incríveis uma vez que o tempo gasto é reduzido!