Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR

750 views

Published on

Apresentando os resultados da minha pesquisa de mestrado sobre as coisas que podem ser melhoradas buscando ideias na outra comunidade.

Published in: Technology
  • Be the first to comment

Métodos ágeis em FLOSS - CONSEGI 2011 - PT-BR

  1. 1. Métodos ágeis e software livre: um estudo da relação entre estas duas comunidades 2 01 1 Hugo Corbucci 2 01 0 2 009 corbucci@ime.usp.br 2 008 2 0072 006
  2. 2. Software livre
  3. 3. Software livreLiberdade para todos
  4. 4. Software livreLiberdade para todosde estudar e modificar
  5. 5. Software livre Liberdade para todos de estudar e modificaro funcionamento de projetos
  6. 6. Métodos ágeis
  7. 7. Métodos ágeisMelhores formas de
  8. 8. Métodos ágeis Melhores formas dedesenvolver software
  9. 9. Métodos ágeis Melhores formas dedesenvolver software em equipe
  10. 10. Métodos ágeis Melhores formas dedesenvolver software em equipe na indústria
  11. 11.
  12. 12. ?
  13. 13. E?
  14. 14. EOU
  15. 15. ?
  16. 16. ?
  17. 17. ?
  18. 18. ?
  19. 19. Indivíduos e interações sobre processos e ferramentas ✓
  20. 20. Software em funcionamento sobre documentação abrangente ✓
  21. 21. Colaboração com o cliente sobre negociação de contratos ?
  22. 22. Responder a mudanças sobre seguir um plano ✓
  23. 23. Será que eles enfrentam os mesmos problemas?
  24. 24. ? ?
  25. 25. Identificar o público participante
  26. 26. Avaliar seus conhecimentos em suas comunidades
  27. 27. Identificar principais problemas e soluções possíveis
  28. 28. Resultados
  29. 29. 180 respostas ok + 122 sem experiência133 respostas ok +28 sem experiência
  30. 30. 200180160140120100 80 60 40 20 0 1971 1975 1979 1983 1987 1991 1995 1999 2003 2007 1969 1973 1977 1981 1985 1989 1993 1997 2001 2005 2009 O deslanche de FLOSS é menor mas mais antigo 140 120 100 80 60 40 20 0 1971 1975 1979 1983 1987 1991 1995 1999 2003 2007 1969 1973 1977 1981 1985 1989 1993 1997 2001 2005 2009
  31. 31. 100 90 80 0 70 70% menos 1a5 6 a 10 60 11 a 50 mais de 50 50 40 30 de 10 20 10 0 FLOSS tem algumas equipes maiores 70 60 5080% menos 40 1a5 6 a 10 11 a 20 de 10 30 mais de 20 20 10 0
  32. 32. Equipes fragmentadas Mais distinções de papéis em FLOSS Membros multi-disciplinares
  33. 33. Princípios Princípiosem FLOSS em ágeis
  34. 34. ?
  35. 35. Revisões Cruzadas
  36. 36. Resultados públicos
  37. 37. Retrospectivas
  38. 38. PDOC – Documentação do Produto (Product Documentation)Prover documentação de alta qualidade Criar uma documentação de desenvolvimento Criar uma documentação para usuário Criar uma documentação genéricaManter a documentação listada acimaMelhorar a documentação do sistema Disponibilizar a doc. em várias línguas naturais e sua disponibilidade
  39. 39. PDOC – Documentação do Produto (Product Documentation)Prover documentação de alta qualidade Criar uma documentação de desenvolvimento Criar uma documentação para usuário Criar uma documentação genéricaManter a documentação listada acimaMelhorar a documentação do sistema Disponibilizar a doc. em várias línguas naturais e sua disponibilidade
  40. 40. STD – Uso de Padrões Estabelecidos e Adotados (Use of Established and Widespread Standards)Desenvolver padrões abertos Usar padrões existentes e conhecidos e documentar seu uso Adotar padrões certificados por entidades que apoiam FLOSSAdotar processos de devolvimento que sejam padrões Desenvolver padrões abertos para seus processos e avaliá-losGarantir independência estratégica do projeto
  41. 41. STD – Uso de Padrões Estabelecidos e Adotados (Use of Established and Widespread Standards)Desenvolver padrões abertos Usar padrões existentes e conhecidos e documentar seu uso Adotar padrões certificados por entidades que apoiam FLOSSAdotar processos de devolvimento que sejam padrões Desenvolver padrões abertos para seus processos e avaliá-losGarantir independência estratégica do projeto
  42. 42. QTP – Qualidade do Plano de Testes (Quality of Test Plan)Prover um plano de testes de alta qualidade Garantir que o plano de testes cubra testes funcionais e não-funcionais Garantir que o plano de testes cubra vários tipos de testesDesenvolver e gerenciar o processo de testes Conduzir testes regularmente Garantir que recursos para testes e os resultados deles estão disponíveisMelhorar o processo de testes
  43. 43. QTP – Qualidade do Plano de Testes (Quality of Test Plan)Prover um plano de testes de alta qualidade Garantir que o plano de testes cubra testes funcionais e não-funcionais Garantir que o plano de testes cubra vários tipos de testesDesenvolver e gerenciar o processo de testes Conduzir testes regularmente Garantir que recursos para testes e os resultados deles estão disponíveisMelhorar o processo de testes
  44. 44. ENV – Ambiente Técnico (Technical Environment)Planejar para ter recursos e infra para o desenvolvimento Garantir disponibilidade do ambiente e das ferramentas de desenvolvimento Garantir disponibilidade das metodologias de desenvolvimentoManter continuamente o ambiente com base em feedback Medir o nível de satisfação do desenvolvedores com o ambienteMelhorar o uso de ferramentas livres
  45. 45. ENV – Ambiente Técnico (Technical Environment)Planejar para ter recursos e infra para o desenvolvimento Garantir disponibilidade do ambiente e das ferramentas de desenvolvimento Garantir disponibilidade das metodologias de desenvolvimentoManter continuamente o ambiente com base em feedback Medir o nível de satisfação do desenvolvedores com o ambienteMelhorar o uso de ferramentas livres
  46. 46. DFCT – Número de Commits e Relatórios de Defeitos (Number of Commits and Bug Reports)Prover um ambiente fácil para contribuir com relatórios de errosGerir as contribuições, commits e relatórios de errosMelhorar o ambiente para contribuições Encorajar usuários a contribuir mais dando mais privilégios Medir o nível de satisfação dos usuários Melhorar o tempo de resposta da comunidade aos erros apontados
  47. 47. DFCT – Número de Commits e Relatórios de Defeitos (Number of Commits and Bug Reports)Prover um ambiente fácil para contribuir com relatórios de errosGerir as contribuições, commits e relatórios de errosMelhorar o ambiente para contribuições Encorajar usuários a contribuir mais dando mais privilégios Medir o nível de satisfação dos usuários Melhorar o tempo de resposta da comunidade aos erros apontados
  48. 48. MST – Facilidade de Manutenção e Estabilidade (Maintainability and Stability)Planejar a qualidade do produto Garantir que o código e design são estáveis e de fácil manutenção Realizar testes de estabilidade em outros sistemas de software e hardwarePlanejar a qualidade do processo Medir os objetivos atingidos pelo projetoGerir o processo de manutenabilidade Avaliar a interoperabilidade e compatibilidade entre versões do produto
  49. 49. MST – Facilidade de Manutenção e Estabilidade (Maintainability and Stability)Planejar a qualidade do produto Garantir que o código e design são estáveis e de fácil manutenção Realizar testes de estabilidade em outros sistemas de software e hardwarePlanejar a qualidade do processo Medir os objetivos atingidos pelo projetoGerir o processo de manutenabilidade Avaliar a interoperabilidade e compatibilidade entre versões do produto
  50. 50. CM – Gestão de Configuração (Configuration Management)Estabelecer linhas-guias Identificar itens de configuração Estebelecer um sistema de gestão de configuraçãoAcompanhar e controlar mudançasEstabelecer integridade dos itens de configuração
  51. 51. CM – Gestão de Configuração (Configuration Management)Estabelecer linhas-guias Identificar itens de configuração Estebelecer um sistema de gestão de configuraçãoAcompanhar e controlar mudançasEstabelecer integridade dos itens de configuração
  52. 52. PP1 – Planejamento de Projeto Parte 1 (Project Planning Part 1)Esbelecer estimativas Estimar o escopo do projeto
  53. 53. PP1 – Planejamento de Projeto Parte 1 (Project Planning Part 1)Esbelecer estimativas Estimar o escopo do projeto
  54. 54. REQM – Gestão de Requisitos (Requirements Management)Gerir requisitos Obter um entendimento de requisitos Gerir mudanças nos requisitos
  55. 55. REQM – Gestão de Requisitos (Requirements Management)Gerir requisitos Obter um entendimento de requisitos Gerir mudanças nos requisitos
  56. 56. RDMP2 – Desenvolvimento de um Plano (Implementation of a Roadmap)Disponibilizar e manter um plano do produto Garantir que o plano mostra as funcionalidades dos 2 próximos lançamentos Atualizar o plano regularmente Atualizar o plano como planejado
  57. 57. RDMP2 – Desenvolvimento de um Plano (Implementation of a Roadmap)Disponibilizar e manter um plano do produto Garantir que o plano mostra as funcionalidades dos 2 próximos lançamentos Atualizar o plano regularmente Atualizar o plano como planejado
  58. 58. PP2 – Planejamento de Projeto Parte 2 (Project Planning Part 2)Obter comprometimento com o plano Estabelecer o plano do projeto
  59. 59. PP2 – Planejamento de Projeto Parte 2 (Project Planning Part 2)Obter comprometimento com o plano Estabelecer o plano do projeto
  60. 60. STK – Relações entre Interessados (Relationship between Stakeholders)Planejar o envolvimento das partes interessadas Categorizar mensagens na comunidade Medir os termos de muita discussão na comunidade
  61. 61. PMC – Monitoramento e Controle do Projeto (Project Monitoring and Control)Monitorar o projeto de acordo com o planoImplementar ações corretivas
  62. 62. PMC – Monitoramento e Controle do Projeto (Project Monitoring and Control)Monitorar o projeto de acordo com o planoImplementar ações corretivas
  63. 63. PPQA – Garantia de Qualidade no Processo e no Projeto (Process and Project Quality Assurance)Avaliar objetivamente os processos e produtosFornecer uma visão objetiva
  64. 64. PPQA – Garantia de Qualidade no Processo e no Projeto (Process and Project Quality Assurance)Avaliar objetivamente os processos e produtosFornecer uma visão objetiva
  65. 65. TST1 – Testes Parte 1 (Test Part 1)Preparar para verificação Selecionar os produtos para verificação Estabelecer o ambiente de verificaçãoRealizar revisões externas Conduzir revisões externasVerificar os produtos Realizar a verificação
  66. 66. TST1 – Testes Parte 1 (Test Part 1)Preparar para verificação Selecionar os produtos para verificação Estabelecer o ambiente de verificaçãoRealizar revisões externas Conduzir revisões externasVerificar os produtos Realizar a verificação
  67. 67. DSN1 – Projeto Parte 1 (Design Part 1)Desenvolver o projeto Montar o produto ou componentes a partir de um design alto nível
  68. 68. Conclusão
  69. 69. FLOSS == Agile
  70. 70. FLOSS == Agile
  71. 71. Problemas semelhantes ✓
  72. 72. Contextos Diferentes
  73. 73. Vamos criar tantas opções e dara chance das pessoasmelhorarem que alguma delasserá excelente!
  74. 74. Vamos criar tantas opções e dar a chance das pessoas melhorarem que alguma delas será excelente!Vamos tirar todos osimpedimentos, melhorar aqualidade técnica e parar assimque possível para ter sucesso!
  75. 75. Podem ser usados em conjunto ✓
  76. 76. FIMPerguntas? Críticas? Comentários? Inspiração:

×