gerenciamento Ágil de projetos · metodologia de desenvolvimento tradicional x desenvolvimento...

27
Gerenciamento Ágil de Projetos

Upload: others

Post on 19-Sep-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Gerenciamento Ágil de Projetos

Page 2: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

GESTÃO TRADICIONAL

GESTÃO ÁGIL

Page 3: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil

Metodologia de desenvolvimento tradicional

• Conhecidas como Metodologias orientadas à planejamento, asMetodologias Clássicas dominaram a forma de desenvolvimento desoftwares até o início da década de 90,

• Entretanto, estas metodologias devem ser aplicadas apenas emsituações em que os requisitos do sistema são estáveis e osrequisitos futuros são previsíveis.

• Metodologias ou Processos orientados à documentação são, decerta forma, barreiras impostas ao desenvolvimento, pois muitasorganizações não possuem recursos para processos pesados deprodução de software.

Page 4: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil

Metodologia de desenvolvimento tradicional

• Nos modelos tradicionais, o foco é maior na análise de requisitos dosoftware e projeto do que no desenvolvimento e testes.

• Sendo assim, em um cenário de um sistema de pequeno ou médioporte, a mudança repentina de requisitos causa mudança naespecificação e no projeto, fazendo que voltem a “estaca zero”, ou seja,um grande retrabalho.

Page 5: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil

Metodologia de desenvolvimento tradicional

• Modelo Sequencial Linear

• O modelo sequencial linear (modelo em cascata) é um modelo dedesenvolvimento de software que começa no nível de sistema eprogride, de maneira sequencial, através da análise, projeto,codificação, teste e manutenção.

• O desenvolvimento é modelado segundo um ciclo convencional deengenharia

Page 6: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil

Modelo Sequencial linear

Page 7: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil

Metodologia de desenvolvimento tradicional

• Codificação: tradução do projeto para uma linguagem que resulte em instrução executáveis pelo computador.

• Testes:• Aspectos lógicos internos do software: Garantem que todas as instruções tenha, sido

testadas.

• Aspectos funcionais externos: Descobrem erros e garantir que a estrada definida produza resultados que concordem com os esperados.

• Manutenção: o software deverá sofrer mudanças depois que for entregue ao cliente.• Causas das mudanças: erros, adaptação do software (mudança no ambiente externo e

acréscimos funcionais e de desempenho).

Page 8: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Alguns problemas do modelo sequencial linear:a) Projetos reais raramente seguem o fluxo sequencial que o modelo

propõe.

b) É difícil para o cliente estabelecer todos os requisitos explicitamente eo modelo sequencial linear exige isso.

c) Nenhuma versão executável do programa fica disponível até oprojeto terminar.

d) Nesse modelo, alguns projetos podem passar por “estadosbloqueios”, nos quais alguns membros da equipe de projeto precisamesperar que outros membros completem as tarefas pendentes.

Page 9: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Modelo de Prototipagem

• Baseado no desenvolvimento de um protótipo com base no conhecimentodos requisitos iniciais para o sistema.

• O desenvolvimento é feito obedecendo à realização das diferentes etapas deanálise de requisitos, o projeto, a codificação e os testes.

• Não necessariamente estas etapas devem ser realizadas de modo muitoexplícito ou formal

• Um protótipo é uma versão inicial de um sistema de software, que éutilizada para mostrar conceitos, experimentar opções de projeto e, em geral,para conhecer mais sobre os problemas e suas possíveis soluções.

Page 10: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Saiba mais em https://pt.slideshare.net/jwainer/prototipagem

Page 11: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

Modelo de Prototipagem

• O desenvolvimento rápido de um protótipo é essencial para que oscustos sejam controlados e os usuários possam fazer experiências como protótipo no início do processo de software.

• É um modelo de desenvolvimento interessante para alguns sistemas degrande porte que representem um certo grau de dificuldade paraexprimir rigorosamente os requisitos.

Page 12: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Metodologia de desenvolvimento tradicional – Problemas no Modelo de Prototipagem:

• Quando informamos que o produto precisa ser reconstruído, o clienteexige que alguns acertos sejam aplicados para tornar o protótipo umproduto é muito frequentemente, a gerência de desenvolvimento desoftware cede.

• O desenvolvedor muitas vezes faz concessões de implementação a fimde colocar um protótipo em funcionamento rapidamente.

• Depois de algum tempo, o desenvolvedor pode familiarizar-se comessas opções e esquecer-se de todas as razões pelas quais elas sãoinadequadas

Page 13: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Modelo Desenvolvimento Incremental

• O Modelo Incremental foi desenvolvido através da combinação entre os modelos linear e prototipação. O desenvolvimento é dividido em etapas, denominadas “incrementos”, que produzirão o sistema, até a sua versão final.

• Em cada incremento é realizado todo o ciclo do desenvolvimento de software, do planejamento aos testes do sistema já em funcionamento.

• O Modelo Incremental apresenta diversas vantagens para o desenvolvimento de um software, especialmente se os requisitos não estão claros inicialmente.

Page 14: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Modelo Desenvolvimento Incremental

• Outra vantagem para o desenvolvedor é que, em contato com osistema, o cliente esclarece seus requisitos e suas prioridades para ospróximos incrementos, além de contar com os serviços da versão jáproduzida.

• A construção de um sistema menor é sempre menos arriscada que aconstrução de um grande;

• Se um grande erro é cometido, apenas o último incremento édescartado. Reduzindo o tempo de desenvolvimento de um sistema, aschances de mudanças nos requisitos do usuário durante odesenvolvimento são menores.

Page 15: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Desenvolvimento Incremental

Page 16: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Modelo em Espiral

• Seguindo a mesma linha do modelo incremental, este modelo baseia-se em quatro principais atividades:

1. Determinação dos objetivos, alternativas e restrições;

2. Análise de risco e prototipação;

3. Validação e verificação;

4. Planejamento da fase seguinte

Page 17: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Modelo em espiral

• Esta concepção tende a criar um roteiro de atividades e etapas paraque se alcance uma maturidade do processo evolutivo dedesenvolvimento de sistemas complexos e obter, ao final, um produtoem sua forma mais completa possível

Page 18: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Modelo em espiral

Page 19: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Metodologia de desenvolvimento tradicional

• Problemas do Modelo em espiral

• O modelo em espiral, por suas características de avaliação eplanejamento baseadas em risco, exige que se tenha gerentes etécnicos experientes.

• As tarefas gerenciais para acompanhamento e controle do projetotornam-se mais difíceis, uma vez que o modelo em espiral pode levarao desenvolvimento em paralelo de múltiplas partes do projeto,cada uma sendo abordada de modo diferenciado

Page 20: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Paradigmas de desenvolvimento de software

Page 21: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Paradigmas de desenvolvimento de software

• Existem infinitas formas de se construir sistemas de software, e todomundo que trabalha procura a metodologia perfeita para se construirsoftware perfeito, no menor prazo possível, e que no final clientes edesenvolvedores são felizes para sempre.

• As metodologias ágeis são uma tentativa de refinar as metodologiasiterativas, tirando o foco do processo em si e dando mais ênfase àcontribuição das pessoas, dos integrantes do projeto

Page 22: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Paradigmas de desenvolvimento de software

• Trazem alguns conceitos que as diferenciam radicalmente dasmetodologias antecessoras, como deixar o cliente participar maispróximo ao processo, iterações extremamente curtas e grande ênfaseem testes automatizados.

• Por outro lado, pesquisadores e mesmo defensores dessas práticas nãorecomendam times muito grandes para um projeto (e alguns propõemdividir o projeto em subprojetos e trabalhar com equipes menores).

• Os métodos mais conhecidos nesta categoria são ExtremeProgramming (mais carinhosamente conhecido como XP) e Scrum.

Page 23: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Paradigmas de desenvolvimento de software

• Algumas concepções equivocadas

• A primeira coisa que muita gente pensa quando ouve falar demétodos ágeis é que não existe documentação para o softwaresendo desenvolvido.

• A uma percepção de que as coisas podem meio que ser feitas dequalquer jeito com métodos ágeis

Page 24: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

• Paradigmas de desenvolvimento de software

• Algumas praticas são boas de qualquer jeito

• Testes automatizados - Automatize o máximo de testesque puder. Vai dar mais trabalho.

• Integração contínua - Pode ser visto como uma extensãodos testes automatizados.

• Iterações curtas - Entregue as versões do seu sistema commais frequência e descubra mais cedo se você está indona direção certa.

Page 25: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Page 26: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Metodologia de desenvolvimento tradicional x ágil

Abordagem Tradicional

1. Preditivo e rígido

2. Gerenciamento no estilo “comando e controle”

3. Trabalho determinado pelo gerente

4. Documentação gera confiança

5. Sucesso corresponde a entregar o planejado

6. Cliente pouco envolvido

7. Requisitos conhecidos e estáveis

8. Planejamento direciona resultados

Abordagem Ágil

1. Adaptativo e flexível

2. Gerenciamento no estilo orientação e suporte

3. Trabalho escolhido pelos membros da equipe

4. Comunicação gera confiança

5. Sucesso corresponde a entregar o desejado

6. Cliente comprometido

7. Requisitos emergentes e mutáveis

8. Resultados direcionam ao planejamento

Page 27: Gerenciamento Ágil de Projetos · Metodologia de Desenvolvimento Tradicional x Desenvolvimento Ágil Metodologia de desenvolvimento tradicional •Nos modelos tradicionais, o foco

Atividade

• Questionário de fixação

• Referência para leitura:• https://www.devmedia.com.br/introducao-aos-processos-de-software-

e-o-modelo-incremental-e-evolucionario/29839