Você está na página 1de 34

Maurício Dourado

cmauriciojd@gmail.com

Gerência
de Projetos

Aula 04 – Desenvolvimento de Software


Aula Passada

• O que vimos na aula passada?


Grupo de processos

Nível de
Atividade
Processo de
Execução
Processo de
Planejamento
Processo de Processo de
Controle Finalização
Processo de
Definição

Início Fases Fim

Execução
Definição Planejamento Encerramento
e Controle
Grupo de processos

Planejamento
Inicialização

Controle Execução

Encerramento
Gerência de Projetos

Medologias de Desenvolvimento
X
PMBOK
PMBOK

• O PMBOK
– Foco no planejamento
– Disciplina no processo
– Formalismo
– Guia genérico
– Desconsidera as peculiaridades da produtos
Problemas de Software

1. Derrubada do Airbus 320, 1988.


2. Divisão de números com ponto flutuante no
microprocessador Pentium, 1993.
3. Foguete Ariane, 1996.
4. Mars Climate Orbiter, 1999.
5. Blackout no Noroeste dos EUA, 2003.
Processos de Sistemas de Software

• Modelo Sequencial
– Também conhecido como modelo em cascata;
– Modelo mais antigo;
– Origem é um artigo publicado por W. W. Royce em
1970;
• Argumentava ser um risco e convite para falhas;
– Mais utilizado;
– Inflexível;
– Não iterativo;
Processos de Sistemas de Software

Vi
áv
• Modelo Sequencial el
ap
en
be as
– Vantagens m qu
co an
m do
• Dirigido a documentação; pr o
ee s r
nd eq
• Abordagem disciplinada; id ui
os sit
! os
• Manutenção relativamente fácil; sã
o
– Problemas
• Dificuldade em seguir o fluxo;
• Determinação dos requisitos (incerteza natural);
• Resultado efetivo apenas no final;
• Inflexibilidade torna difícil responder a mudanças;
Processos de Sistemas de Software

• Modelo Incremental
– Divide o projeto em “construções” (mini-cascatas);
– Ciclo de desenvolvimento curto;
– Várias entregas (várias partes) cada uma com uma
funcionalidade requerida;
– Usuário define as prioridades;
– Requisitos com maior prioridade são
desenvolvidos primeiro;
Processos de Sistemas de Software

• Modelo Incremental
– Vantagens
• Primeiros incrementos funcionam como protótipo;
• Menor tempo e custo para o 1º protótipo;
• Funcionalidades são analisada rapidamente;
• Maiores prioridades recebem mais testes;
• Menor chance de falha geral no sistema;
• Menor capital investido, retorno mais rápido;
Processos de Sistemas de Software

• Modelo Incremental
– Desvantagens
• Perigo de se tornar codificação e correção;
• Em sistemas mais complexos as peças podem não se
encaixar;
• Gerência mais complexa;
Processos de Sistemas de Software

• Modelo Iterativo
– Não se preocupa em entregar de versões
operacionais desde o primeiro ciclo;
– Versões operacionais são produzidas à medida em
que os requisitos vão ficando mais claros e estáveis;
– Problemas muito complexos;
– Requisitos são muito voláteis ou que não podem ser
totalmente especificados no início do
desenvolvimento;
Processos de Sistemas de Software

• Modelo Iterativo
– Vantagens
• Incentiva a participação do usuário no processo;
• Possibilidade de melhor gerência dos riscos;
– Desvantagens
• Mais difícil de gerenciar;
• Necessita de profissionais para tratar os riscos;
Processos de Sistemas de Software
Processos de Sistema de Software

• Segundo Fowler (2005) os conceitos chave do


Manifesto Ágil são:

– “Indivíduos e interações ao invés de processos e


ferramentas.”
– “Software executável ao invés de documentação.”
– “Colaboração do cliente ao invés de negociação de
contratos.”
– “Respostas rápidas a mudanças ao invés de seguir
planos.”
Processos de Sistema de Software

• Coloca em segundo plano:


– processos e ferramentas,
– a documentação,
– a negociação de contratos,
– o planejamento.

• Primeiro plano:
– Indivíduos,
– Interações colaboração do cliente,
– Respostas rápidas a mudanças e alterações.
Metodologias Ágeis

• Extreme Programming (XP)


• Feature Driven Development (FDD),
• SCRUM,
• Microsoft Solutions Framework (MSF)
XP

• Kent Beck da Tektronix (um dos fundadores);


• Verifica as limitações do processo de
desenvolvimento de software;
• Não aborda o processo de gerenciamento;
• É um estilo de desenvolvimento;
– Técnicas de programação
– Comunicação clara
– Trabalho em equipe
XP

• Iterações de duração bastante curta;


• Abordagem incremental;
• Resposta rápida;
• Mecanismos automatizados para testes;
• Comunicação oral;
XP

• Três fases
– Exploração
• Escrever uma estória,
• Estimá-la,
• Decompô-la.
– Compromisso
• Escopo
• Data de entrega
– Direcionamento
• Plano de execução
XP
FDD

• Criado em Cingapura por Jeff De Luca


• Compilação de práticas
• Iterativo;
• Enfatiza a qualidade;
• Entrega resultados tangíveis e freqüentes;
• Provê relatórios de progresso precisos e
significativos;
FDD

• Desenvolver um modelo geral


• Foco em funcionalidades
– Lista de funcionalidades
– Planejamento por funcionalidades (sequencia)
– Projetar por funcionalidade
– Construir por funcionalidade
FDD
MSF

• Desenvolvida pela Microsoft


– Desenvolvimento de Software
– Análise da qualidade
• Abomina a linha "todo mundo pode fazer tudo no
projeto“
• Testes unitários
• Cobertura de 100% do código fonte
• Grande autonomia da equipe
– Saber o que fazer
– Planejam a entrega
MSF
SCRUM

• Takeuchi e Nonuka
• 10 melhores práticas em empresas japonesas
• Refere ao jogo de Rugby
• Não previbilidade
• Não define o que fazer em toda circunstância
• Saber exatamente o que acontece ao longo do
projeto
SCRUM

• Não vai dizer exatamente o que fazer,


• Não irá resolver todos os problemas,
• Os problemas serão mais facilmente
identificados.
• Serve como um guia de boas práticas;
SCRUM
Desenvolvimento do Projeto

• Custo e Complexidade
• Falso senso de segurança
• Desenvolvimento rápido e iterativo
• Envolvimento do cliente
Etapas das metodologias ágeis

• Descobrir o que o cliente quer,


• Certificar-se exatamente sobre o que ele quer,
• Calcular o esforço,
• Construir a solução ,
• Entregá-la ao cliente.
Gerenciamento X Metodologias Ágeis

• Princípio Gerenciamento tradicional


– direciona os resultados e entrega aquilo que foi
planejado;

• Abordagem Ágil
– Os resultados devem direcionar o planejamento;
– O sucesso advém de entregar o resultado
desejado, não necessariamente o planejado;
Metodologias Ágeis

• Incentivar a mudança,
• Reduzir o custo das mudanças no projeto;
• falta de documentação;
• Superficialidade das questões gerenciais e
organizacionais;
• Foco em líderes;

Você também pode gostar