Métodos Ágeis - Aula 01

358 visualizações

Publicada em

Material do curso de Pós Graduação do Senac referente a disciplina de Métodos Ágeis.

Publicada em: Software
  • Seja o primeiro a comentar

Métodos Ágeis - Aula 01

  1. 1. MÉTODOS ÁGEIS Aula 01 Adriano Bertucci Email: adriano@bertucci.com.br Twitter: @adrianobertucci Site: www.adrianobertucci.com
  2. 2. TÍPICO PROJETO DE SOFTWARE “Nossa equipe não produz o quanto gostaríamos” “Nosso cronograma está atrasado” “Nossa equipe de desenvolvimento não se comunica” “Precisamos nos adequar às novas legislações” “Não conseguimos garantir a qualidade das soluções”
  3. 3. DESAFIOS - PROBLEMAS COMUNS  Requisitos de negócios não são gerenciados de forma efetiva  Ferramentas e dados dispersos  Testes não alinhados aos objetivos de negócios  Falta de orientações e processos definidos  Problemas de comunicação entre os membros da equipe  Visibilidade limitada do status do projeto para tomada de decisões
  4. 4. COMO ESTA A SAÚDE DO SEU PROJETO?  Cronograma e controle de atividades?  Controle de defeitos?  Quais cenários foram testados com sucesso?  Cobertura do código testado?  Rotatividade do código – estabilização?  Requisições de mudanças gerenciadas adequadamente?  Controle sobre que fontes foram alterados por causa de determinado requisito / correção?
  5. 5. SOLUÇÃO? ALM!  ALM (Application Lifecycle Management, Gerenciamento do Ciclo deVida de Aplicações):  É a coordenação das atividades do ciclo de vida de desenvolvimento, incluindo:  Requisitos  Modelagem  Desenvolvimento  Testes  Manutenção  Operações
  6. 6. PILARES DO ALM - PESSOAS
  7. 7. PILARES DO ALM - PROCESSO
  8. 8. PILARES DO ALM - FERRAMENTAS
  9. 9. FASES DO ALM - DEFINIÇÃO
  10. 10. FASES DO ALM - CONSTRUÇÃO
  11. 11. FASES DO ALM - CONSTRUÇÃO
  12. 12. FASES DO ALM - OPERAÇÃO
  13. 13. FASES DO ALM - OPERAÇÃO  ITIL (InformationTechnology Infrastructure Library)  Gerência de Capacidades  Gerência de Incidentes  Gerência Financeira  Gerência de Configuração  Gerência de serviços de atendimento  Gerência de níveis de serviço  Gerência de problemas  Gerência de distribuição  Gerência de Mudanças
  14. 14. FASES DO ALM - FIM
  15. 15. DISCIPLINAS PRESENTES NO ALM  Gerenciamento de Requisitos (Requeriments Management)
  16. 16. DISCIPLINAS PRESENTES NO ALM  Gerenciamento da Configuração do Software (Software configuration Management)
  17. 17. DISCIPLINAS PRESENTES NO ALM  Montagem e Integração (Build and Integration)
  18. 18. DISCIPLINAS PRESENTES NO ALM  Engenharia de Distribuição (Release Engineering)
  19. 19. DISCIPLINAS PRESENTES NO ALM  Gerenciamento de Defeitos (Defect Management)
  20. 20. DISCIPLINAS PRESENTES NO ALM  Teste Unitário, Integrado e de Regressão (UnitTest, Integrated and Regression)
  21. 21. DISCIPLINAS PRESENTES NO ALM  Análise de Código (Code Analysis)
  22. 22. DISCIPLINAS PRESENTES NO ALM  Teste de Sistema (SystemTest)
  23. 23. DISCIPLINAS PRESENTES NO ALM  Relatórios de Acompanhamento (Status Reports)
  24. 24. ADOÇÃO DO ALM  quais os envolvidos na construção da aplicação;  as expectativas de cada um;  quais as ferramentas utilizam;  como é gasto do tempo deles;  onde estão localizados fisicamente;  quais modelos/processos utilizam no dia-a-dia;  quais os relatórios que utilizam para monitorar o projeto;  qual o modelo de migração da aplicação do ambiente de desenvolvimento para o ambiente de produção;  como são estruturados os projetos dentro da ferramenta de controle de código-fonte;  quais as estratégias de montagem da aplicação;  quais os tipos de testes empregados na construção da aplicação;  como compartilham boas práticas de construção;
  25. 25. ENTÃO ESTÁTUDO RESOLVIDO?
  26. 26. CAMINHO PARA O SUCESSO… Ideia Solução
  27. 27. O CAMINHO DA ENG. DE SOFTWARE  Não é parecida com Engenharia Civil!  Após construir uma casa não é fácil mudar uma parede de lugar!!!  Mas em software, “mudar uma parede de lugar” é sim relativamente fácil...  Tampouco é muito parecida com outras engenharias!!!  Software é flexível!!!
  28. 28. ENGENHARIA DE SOFTWARETRADICIONAL  Desenvolvimento ad-hoc de software em geral produz resultados muito ruins;  Especialmente em sistemas grandes  Desejo de criar uma engenharia para que se tenha controle sobre desenvolvimento de software;  Engenharias tradicionais colocam grande ênfase em projetar antes de construir;
  29. 29. VISÃOTRADICIONAL DA EVOLUÇÃO DO SOFTWARE custo momento em que funcionalidade é adicionada
  30. 30. QUEREMOS PODER ALTERAR O SOFTWARE  No inicio do projeto, normalmente não se sabe precisamente o que se quer  Software evolui para atender ao negócio  Software nunca fica “pronto”  Obviamente isso só é possível porque software é uma entidade abstrata
  31. 31. PORTANTO…  Precisamos parar de tentar evitar mudanças  Mudanças são um aspecto intrínseco da vida do software  Precisamos de uma metodologia de desenvolvimento que nos permita alterar constantemente o código sem comprometer sua qualidade
  32. 32. O QUE QUEREMOS É… custo momento em que funcionalidade é adicionada
  33. 33. O QUE FAZER?
  34. 34. RECADO IMPORTANTE! “Se não pode ser medido, não pode ser gerenciado, e se não pode ser gerenciado, para que investir?”
  35. 35. FERRAMENTAS
  36. 36. TEAM FOUNDATION SERVER
  37. 37. TRANSFORMANDO CONCEITOS EM PRÁTICA…
  38. 38. PROCESSO DETRABALHO Analista de Negócio Gerente de Projeto Time de Desenvolvimento Test Operações Requisição De Mudança Cenários Requerimentos de Negócio Bugs Tarefas Erros em Produção Itens de trabalho são a unidade de comunicação entre as pessoas do time Builds Implantação
  39. 39. ITENS DETRABALHO Descrição Estado Atual Atribuição de tarefas Anexos Links para outros Itens de Trabalho Histórico totalmente auditado Personalizável Encerrado Ativo Solucionado Encerrado Ativo Solucionado Proposta Caso de Uso Tarefas Bugs “Os itens de trabalho são unidades de comunicação que fazem parte do processo de desenvolvimento”
  40. 40. MODELOS - PLATAFORMAVISUAL STUDIO MSF for Agile -Visual StudioALM
  41. 41. MODELOS - PLATAFORMAVISUAL STUDIO MSF for CMMI -Visual Studio ALM
  42. 42. MODELOS - PLATAFORMAVISUAL STUDIO Visual Studio Scrum 2.0 -Visual Studio ALM
  43. 43. ALM – CÍCLO CONTINUO DE ENTREGAS
  44. 44. PRÓXIMO ENCONTRO…  Agilidade conceitos  Scrum
  45. 45. PRATICANDO… LOTES DE PRODUÇÃO X PRODUTIVIDADE Analista Projetista Programador Testador Cliente Æ ŒRef: Luiz Cláudio Parzianello
  46. 46. PRATICANDO… LOTES DE PRODUÇÃO X PRODUTIVIDADE Æ … Æ ŒÆÆ … Æ Œ ™Æ ŒÆ Œ … Æ Œ ™Æ Œ ™ … Ref: Luiz Cláudio Parzianello Æ Æ Œ Æ Œ ™ … … … … Pequenos Lotes Grandes Lotes
  47. 47. PRATICANDO… LOTES DE PRODUÇÃO X PRODUTIVIDADE  Qual é o arranjo logístico mais rápido?  Qual equipe apresentou o maior esforço por projeto?  Quais as vantagens de cada abordagem?  Quais as desvantagens de cada abordagem?  Qual a justificativa para manter os grandes lotes?
  48. 48. ARTIGOS…  Disserte sobre ALM demonstrando a visão do grupo sobre o assunto e os principais motivos para se adotar.  O que é agilidade para grupo? Cite os ganhos do uso de um processo ágil no desenvolvimento de software.

×