Universidade Federal Rural de Pernambuco Unidade Acadêmica de Serra Talhada Bacharelado em Sistemas de Informação Processo de Desenvolvimento de Andrêsa, Clébia, Eugênia, Ronnie e Vanut Software
1
2 É uma metodologia ágil para gerenciamento e desenvolvimento de software Jeff de Luca
Cenário: 1997-1998, Cingapura Contexto: Desenvolvimento de um grande sistema de empréstimos para um banco internacional Anteriormente, após 2 anos de consultoria, 3.500 páginas de casos de (in)uso e um modelo de objetos com centenas de classes, foi avaliado como impossível
Peter Coad
Decisão: Implantação das metodologias de OO de Peter Coad e de gerência de projetos de Jeff De Luca Resultado: 15 meses após a contratação da dupla, 2.000 features entregues por uma equipe de 50 pessoas Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
3 Desenvolvimento guiado por funcionalidades (Features) Mas... O que é uma Feature? Característica ou funcionalidade... Pequena o suficiente para ser implementada no máximo em 2 semanas Oferece valor para o cliente Às vezes pode ser o próprio caso de uso Conceito muito próximo ao de um requisito funcional Exemplos: Calcular o total de uma venda Autorizar uma transação com cartão de um cliente
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
4
Interação entre metodologias
Resultados úteis a cada duas semanas ou menos;
Entregas freqüentes ;
Características
Blocos pequenos valorizados pelo cliente (Features);
Fornece estrutura para equipes maiores Adaptações às mudanças de requisitos e necessidades do mercado
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
5
Modelagem de objetos de domínio (Domain Object Modeling) Exploração e explicação do problema do domínio resulta em um arcabouço Desenvolver por funcionalidade (Developing by feature) Desenvolvimento e acompanhamento do progresso através de a lista de funcionalidades.
Boas Práticas
Proprietários de classes individuais (Individual class ownership) Cada classe possui um único desenvolvedor responsável
Construções freqüentes (Regular Builds) Garantir que existe um sistema sempre disponível e demonstrável Administração de Configuração (Configuration Manager) Habilita acompanhamento do histórico do código-fonte.
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
6 O Processo é dividido em duas fases:
Desenvol ver um modelo abrangen te
Construir a lista de
Planejar por
Detalhar por
Construir por
funcionalida des
funcionalida de
funcionalida de
funcionalida de
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
7
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
8 Principais papéis
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
9 Papéis de apoio
Adicionais
•Gerente de versão •Guru de linguagem •Engenheiro de construção •Produtor de ferramentas e utilitários •Administrador de sistemas Equipes
Testadores Instaladores Técnicos
Formadas dinamicamente: Única forma de desenvolver por feature e manter a posse de código Sob a coordenação de um Programador-Chefe Múltiplas mentes projetando Membros são os Donos de Classes relevantes Enfatiza o trabalho em equipe
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
10
Vantagens Recomendado para qualquer tipo de desenvolvimento;
Desvantagens Questionamento sobre a eficácia/aplicabilidade de FDD;
Foco em "características de valor para Controvérsias sobre o tamanho o cliente"; mínimo de um time FDD; FDD prioriza aquilo que o cliente prioriza;
Manutenção
FDD possui requisitos mais formais
Introdução | Características | Processo | Papéis | Vantagens-Desvantagens
11
Conclusão É um método ágil e altamente adaptativo
Oferece vantagens dos métodos pesados (rigorosos)
Oferece vantagens dos métodos extremamente ágeis,
É orientada às necessidades dos clientes, gerentes e desenvolvedores
Crystal
13 É uma família de metodologias que une: Diferentes modelos de processo, mas... com elementos centrais, comuns a todas, e... Papéis, processos e práticas específicas de cada uma.
Adaptável a diferentes projetos e equipes
Grupos de 6 a 80 pessoas
Que vão escolher o membro da família mais apropriado Para o seu projeto e ambiente
Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
14
Cada membro recebe uma cor, que indica o número de participantes e complexidade do projeto.
As letras representam o nível de risco do projeto, ou seja, as perdas acarretadas caso haja falhas do sistema.
Letras e seus significados C (Confort)
Perda de dinheiro com recuperação confortável
D (Discret)
Perda discreta de dinheiro
E (Essencial)
Perda substancial de dinheiro
L (Life)
Possível perda de vidas
Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
15
Tempo máximo de duração de projetos Clear
4 meses
Yellow
Não definido*
Orange
2 anos
Red
Não definido*
*Esses métodos não foram testados, por isso não há tempo de duração estimado
Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
16
Características
Cada incremento deve ter duração máxima de 4 meses, mas o recomendado é de 1 a 3 meses (Cockburn 2002a);
A metodologia Crystal não se restringe a um método específico;
Dar ênfase à comunicação e à cooperação pessoal.
Sempre usar ciclos de desenvolvimento incremental;
Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
17 Práticas Entrega de incrementos em intervalos regulares; Monitoramento do progresso; Envolvimento direto do cliente; Teste regressivo das funcionalidades;
Duas visões do cliente por versão
Workshops para ajuste do produto e da metodologia usada no início e no meio de cada incremento Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
18
Processo Plataforma Revisão Monitoramento Paralelismo e fluxo Técnica de melhoramento da metodologia Introdução | Características | Práticas | Processo | Clear x Orange
CRYSTAL
19
Crystal Clear VS. Crystal Orange Semelhanças:
Diferenças:
-São semelhantes em :
Clear inclui casos de uso, descrição das características/ Orange é necessário o documento de requisitos.
Sequência de lançamento de versões modelos comuns de objetos manual de usuário casos de teste código de migração. necessária a utilização de questões locais, ou seja, procedimentos que consistem de metodologias
Clear: políticas padrão são rígidas, mas podem ser substituídas por práticas equivalentes de outros métodos. / Orange: impõe seleção de notações padrão, convenções de modelo, padrões de formatação e qualidade
Introdução | Características | Práticas | Processo | Clear
x Orange
CRYSTAL
20
Conclusão
21
Grupo • Andrêsa Cibelly • Clébia Alves • Cleyton Vanut • Josefa Eugênia • Ronnie Edson