Roteiro Ágil - Integrando princípios ágeis para a melhoria do desenvolvimento no SERPRO - Fábio Rilston
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
4,440
On Slideshare
3,467
From Embeds
973
Number of Embeds
10

Actions

Shares
Downloads
102
Comments
0
Likes
4

Embeds 973

http://visaoagil.wordpress.com 920
http://cantinhodoagile.blogspot.com 17
https://visaoagil.wordpress.com 11
http://www.slideshare.net 8
http://infoblogs.com.br 6
http://cantinhodoagile.blogspot.com.br 6
http://www.infoblogs.com.br 2
http://74.125.47.132 1
http://webcache.googleusercontent.com 1
http://www.cantinhodoagile.blogspot.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Roteiro Ágil Java/Web Integrando princípios ágeis para a melhoria do desenvolvimento em grandes empresas Palestrante: Fábio Rilston 28/03/2009 Maré de Agilidade Bahia 2009 – Case Serpro
  • 2. A Empresa Serpro  Maior empresa pública de TI da América Latina  Mais de 3.500 desenvolvedores  Presente nas áreas de Desenvolvimento, Comunicação e Tecnologia da Informação  Cases de Sucesso: Receita-Net, SIAFI, SISCOMEX, Renavam, SIAPE, CPF, dentre outros  Alguns clientes Serpro Secretaria do Tesouro Nacional Maré de Agilidade Bahia 2009 – Case Serpro
  • 3. Contexto  O Serpro possui um processo de software (PSDS) executado por todos os desenvolvedores  O PSDS é baseado em referenciais de mercado como o CMMI®, Rational Unified Process® e USDP  O Serpro é uma empresa Nível 2 do CMMI e, em algumas unidades, busca aderência ao seu Nível 3  O PSDS mudou o panorama de gestão e engenharia do produto, trazendo maior maturidade para os ciclos de gestão e produção Maré de Agilidade Bahia 2009 – Case Serpro
  • 4. Contexto Contudo… … Algumas categorias de projeto possuem peculiaridades que requerem tratamento diferenciado (ex. Web, DW, Portais Web, Projetos Sumários, etc.) … O PSDS não consegue atender a todas as necessidades específicas de desenvolvimento das unidades … O foco em resultados (produtividade) precisa ser reforçado … Algumas atividades do PSDS são complexas se analisadas no contexto de um projeto Maré de Agilidade Bahia 2009 – Case Serpro
  • 5. Solução Idealizada Assim, a solução ideal DEVE… … disponibilizar guias específicos para cada categoria de projeto e para contextos diferenciados. … garantir uma linguagem comum de comunicação entre desenvolvedores e estabeleça padrões mínimos de qualidade em temas específicos … agilizar a utilização do processo, tornando-o mais flexível em termos de controle e evidenciação (menos burocrático) … ser capaz de apoiar a gestão e execução de projetos, considerando a diversidade de clientes e plataformas existentes no Serpro Maré de Agilidade Bahia 2009 – Case Serpro
  • 6. Trabalhando com ROTEIROS O desenvolvedor vê e executa apenas atividades da categoria e contexto do seu projeto Maré de Agilidade Bahia 2009 – Case Serpro
  • 7. Modelos de Referencial referência e CMMI, Catedral, Bazar, Manifesto ágil... paradigmas teórico Modelo de Processo Unificado, Ciclos de Vida,... Processo Exemplos RUP, XP, Scrum, Open UP, Test Driven Process de Processo Negócio Cultura, PSDS Processo Padrão (ativos) Base Histórica Adaptação Reuso Modelo de Ciclo Tecnologia de Vida, Critérios Critérios de adaptação Características gerais de Adaptação, Tecnologia. Métodos de Trabalho Equipe Cliente... Roteiros Manutenções Iterativo Componentes Cascata ... Sumárias Roteiro Sub-Processos Ágil (adaptados) Java-Web 1 2 3 laridades Sub-Processo Projeto 1 Projeto 2 Projeto 3 Projeto ... Particu (instanciado ou definido Maré de Agilidade Bahia 2009 – Case Serpro para o projeto)
  • 8. Estrutura de um Roteiro Maré de Agilidade Bahia 2009 – Case Serpro
  • 9. Métodos Ágeis e o Desenvolvimento JAVA Equipes de desenvolvimento em JAVA necessitam de um processo que… … seja mais adequado ao ciclo iterativo com entregas parciais … dê suporte ao atendimento rápido de demandas, com o mínimo de Engenharia e Gestão necessários … seja mais flexível em termos de controle e evidenciação … permita uma passagem mais tranquila para o desenvolvedor dos requisitos para a implementação Maré de Agilidade Bahia 2009 – Case Serpro
  • 10. Métodos Ágeis e o Desenvolvimento JAVA Então, queremos uma solução que… … privilegie ciclos de vida iterativos com entregas curtas e úteis … assegure a disponibilidade e o compatilhamento de informações, dando visibilidade a todos os interessados nos diversos níveis organizacionais … melhore o suporte arquitetural … tenha um foco maior em validação do produto gerado, otimizando sua qualidade … aumente a produtividade do desenvolvimento Maré de Agilidade Bahia 2009 – Case Serpro
  • 11. Embate de Gigantes Ágil, Ágil, Ágil !! Modelos, Processo, Planejamento detalhado!! [Agile-Driven Team] [Plan-Driven Team] Maré de Agilidade Bahia 2009 – Case Serpro
  • 12. Solução Adotada (Bohem) Plan-Driven Agile Approaches Methods Win-Win Solution Maré de Agilidade Bahia 2009 – Case Serpro
  • 13. Métodos Ágeis de Referência OpenUP = + XP Scrum Roteiro JAVA/WEB Maré de Agilidade Bahia 2009 – Case Serpro
  • 14. Estrutura de Melhoria do PSDS Malheiros, V.; Paim, F.; Mendonça, M. Continuous Process Improvement at a Large Software Organization. Software Process Improvement and Practice, 13, 1-16, 2008 Maré de Agilidade Bahia 2009 – Case Serpro
  • 15. Fórmula do Crescimento 100kg Sponsor 100mg Trabalho Cooperativo 200mg Teoria Ágil 50mg Envolvimento de GEs 1 Evento de Fechamento das Idéias 10mg Páginas HTML Leva-se ao forno por 2 meses e apresenta-se em forma de site. Deixar descansar em Projetos Pilotos. Maré de Agilidade Bahia 2009 – Case Serpro
  • 16. Práticas Ágeis no Serpro Expectativa com a adoção de princípios ágeis  Agilização do ciclo de desenvolvimento  Menor time-to-market (múltiplas entregas)  Melhor admin. da complexidade (ciclo iterativo)  Maior visibilidade do projeto para o cliente  Maior envolvimento da equipe (Whole Team).  Menor burocracia: o que pode simplificar no PSDS?  Cuidado com a arquitetura, adoção de padrões para minimizar riscos.  Maior aderência ao ciclo de projetos JAVA. Maré de Agilidade Bahia 2009 – Case Serpro
  • 17. Quando Utilizar Ágil ? Fatores de Risco a um Projeto Ágil  Equipes grandes e distribuídas.  Cliente indisponível.  Arquitetura do projeto não claramente definida.  Equipe do projeto não experiente na plataforma.  Integração com muitos sistemas Maré de Agilidade Bahia 2009 – Case Serpro
  • 18. Práticas Ágeis Pré-selecionadas Desenvolvimento Incremental Integração Contínua Planning Game Simplicidade de Projeto XP Testes de Aceitação pelo Cliente Maré de Agilidade Bahia 2009 – Case Serpro
  • 19. Práticas Ágeis Pré-selecionadas Backlog de Produto Backlog do Sprint Daily Scrum (≅ Stand-Up Meetings) Scrum Planning Poker Maré de Agilidade Bahia 2009 – Case Serpro
  • 20. Práticas Ágeis Pré-selecionadas Desenvolvimento Iterativo e Incremental Micro-incremento Integração Contínua OpenUP Foco na Arquitetura ANTES Balanceamento entre Prioridades Maré de Agilidade Bahia 2009 – Case Serpro
  • 21. Ciclo de Vida Ágil no Serpro Maré de Agilidade Bahia 2009 – Case Serpro
  • 22. Práticas Ágeis Adaptadas Desenvolvimento Iterativo e Incremental  O projeto é dividido em Releases de 2 ou 3 meses.  Releases são divididas em Iterações de 2 ou 3 semanas.  Iterações são planejadas em tarefas de 1 ou 2 dias. Maré de Agilidade Bahia 2009 – Case Serpro
  • 23. Práticas Ágeis Adaptadas Planning Game  Planejamento de um release  O cliente descreve o trabalho a ser feito. Os desenvolvedores então traduzem esse interesse em uma especificação de requisitos de nível inicial.  O cliente prioriza as funcionalidades identificadas.  O cliente escolhe as funcionalidades que serão executadas no próximo release com base nas estimativas realizadas e no tempo disponível, compondo um Plano de Release. Maré de Agilidade Bahia 2009 – Case Serpro
  • 24. Práticas Ágeis Adaptadas Planning Game  Planejamento de cada iteração  A equipe decompõe cada estória em tarefas de engenharia, estima cada tarefa e faz um ‘sanity check’ para garantir que todas as tarefas ‘cabem’ no tempo disponível, com base em seu desempenho anterior.  Se há tarefas demais, o cliente retira uma ou mais funcionalidades do escopo  Se há tarefas de menos, o LP pode resgatar funcionalidades seguintes Maré de Agilidade Bahia 2009 – Case Serpro
  • 25. Práticas Ágeis Adaptadas Planning Poker Maré de Agilidade Bahia 2009 – Case Serpro
  • 26. Práticas Ágeis Adaptadas Planning Poker  As cartas estão disponíveis no site do Roteiro.  Os times recebem consultoria da área de processo para executarem as sessões.  A equipe é envolvida num grau antes não praticado.  Discrepâncias entre estimativas são discutidas para chegar-se a um termo comum na equipe.  A calibragem da estimativa evolui com a sucessão de jogadas. Equipe desenvolve um senso crítico comum sobre a complexidade de tarefas. Maré de Agilidade Bahia 2009 – Case Serpro
  • 27. Exemplo de Planning Poker Maré de Agilidade Bahia 2009 – Case Serpro
  • 28. Práticas Ágeis Adaptadas Backlog de Produto  Os objetivos do cliente são geridos por uma planilha constantemente atualizada.  A cada iteração, o planejamento é acompanhado em termos de:  Custo  Esforço  Alocação de Recursos  Metas de Entrega  O gráfico de Burning-Down auxilia na análise rápida da performance da iteração. Maré de Agilidade Bahia 2009 – Case Serpro
  • 29. Práticas Ágeis Adaptadas Backlog de Produto  Quando necessário, replanejamentos são realizados para realocação das atividades.  O Quadro de Atividades ajuda no acompanhamento da execução de tarefas. Equipe é motivada pelo andamento dos Post-it nas colunas. Maré de Agilidade Bahia 2009 – Case Serpro
  • 30. Exemplo de Quadro de Atividades Maré de Agilidade Bahia 2009 – Case Serpro
  • 31. Práticas Ágeis Adaptadas Balanceamento entre Prioridades  A priorização é feita pelo Líder de Projeto, buscando maximizar os benefícios para o Cliente, considerando as restrições impostas ao projeto, como: disponibilidade de recursos e tempo, retorno de testes, riscos manifestados, restrições tecnológicas, etc.  Requer o consenso dos envolvidos sobre: o problema a ser solucionado, as restrições relativas à equipe do projeto e as restrições relativas à solução  Trade-off entre benefícios (requisitos) e custo (solução arquitetural) Maré de Agilidade Bahia 2009 – Case Serpro
  • 32. Práticas Ágeis Adaptadas Integração Contínua (IC)  À medida que componentes do produto são testados com sucesso, estes vão sendo integrados ao conjunto de ativos previamente gerados da solução.  Foi criado um Ambiente de integração Contínua (AIC) em suporte às equipes de desenvolvimento. O AIC é gerido por uma estrutura escalar de Arquitetos de Software.  Plataforma altamente automatizada libera desenvolvedores para o trabalho mais específico de design e implementação. Maré de Agilidade Bahia 2009 – Case Serpro
  • 33. Práticas Ágeis Adaptadas Integração Contínua (IC)  Ferramentas que integram o AIC:   Maven PMD   Selenium Cobertura   Continuum Jdepend   CheckStyle Findbugs   Dashboard Ounce Maven   Archiva CPD Maré de Agilidade Bahia 2009 – Case Serpro
  • 34. Práticas Ágeis Adaptadas Stand-up Meetings  Todos os dias, à mesma hora, o Líder de Projeto tem uma breve reunião com a equipe. O propósito é eliminar qualquer impedimento à execução do projeto conforme planejado.  Cada participante deve responder a 3 perguntas: O que você fez desde a última reunião? O que você fará entre esta e a próxima reunião? Existe alguma coisa impedindo você de executar o que foi planejado? Maré de Agilidade Bahia 2009 – Case Serpro
  • 35. Práticas Ágeis Adaptadas Sprint Review  Preparo e realização da apresentação do build final de cada iteração para os Clientes  Avaliação de resultados  Feedback dos clientes (perguntas, comentários, sol. de mudança)  Atualização do Backlog do Produto  Coleta de lições aprendidas  Ajustamento do Plano do Release  Itens incluídos/excluídos/re-estimados, mudanças de prioridade, mudança na velocidade da equipe Maré de Agilidade Bahia 2009 – Case Serpro
  • 36. Práticas Ágeis Adaptadas Sprint Retrospective  Discussão  Cada membro da equipe é convidado a opinar sobre o que foi bom e o que foi ruim na aplicação do processo ao projeto  São coletadas Lições Aprendidas para retroalimentação em próximas iterações  Definição do Plano de Ação  A equipe propõe melhorias e define prioridades  O LP adiciona as ações de melhoria ao backlog do produto Maré de Agilidade Bahia 2009 – Case Serpro
  • 37. Experimentando a Agilidade SIF - Sistema de Informações Fiscais Unidade Fortaleza-CE Cliente STN Equipe 08 pessoas Duração 18 semanas Piloto 01 Iterações 6 Situação Finalizado Acompanhamento CETEC: acompanhamentos quinzenais, (3 revisões presenciais) Maré de Agilidade Bahia 2009 – Case Serpro
  • 38. Avaliação Resultados alcançados: Processo menos burocrático – redução de artefatos e  informação, sua complexidade e esforço requerido Time coeso e fortalecido. O conceito Whole team  funciona Diminuição do tempo de gestão em 56% *  A estrutura do roteiro está clara, acessível e simplifica o  entendimento * O planejamento de cada piloto durou 3,5 dias. Outros projetos normalmente demandam 8 dias de planejamento Maré de Agilidade Bahia 2009 – Case Serpro
  • 39. Avaliação Resultados alcançados: A equipe se sente integrada ao projeto e co-responsável  pelo seu sucesso Testes dentro do ambiente são mais robustos => nível  quase zero de erros no produto final LP tem controle total das atividades do projeto  Cliente satisfeito: “entregas constantes”,  “validações frequentes”, “atendimento das metas” Maré de Agilidade Bahia 2009 – Case Serpro
  • 40. Avaliação Oportunidades de melhoria identificadas:  Iteração de 1 semana separada para planejamento (=Iteração Zero) e de 3 semanas para Construção.  Após algumas iterações, as “stand-up meetings” não precisam ser diárias. 3 por semana são suficientes.  Quadro de Atividades (Kanban) é uma boa prática, pouco burocrático e mantém a equipe motivada.  Planning poker e uma boa prática de estimativa, maior comprometimento da equipe e maior precisão nas estimativas. Maré de Agilidade Bahia 2009 – Case Serpro
  • 41. Avaliação Oportunidades de melhoria identificadas: Melhorar a compatibilidade entre o Framework Serpro e  o ambiente de integração contínua (AIC). Somente testes de integração usavam a estrutura do AIC. Ajustar forma de interação dos desenvolvedores com  grupo de arquitetos. Melhorar descrição de atividades de Gestão de  Configuração. Maré de Agilidade Bahia 2009 – Case Serpro
  • 42. Experimentando a Agilidade SGC - Sistema de Gestão de Concursos Unidade Fortaleza-CE Cliente ESAF Equipe 10 pessoas Piloto 02 Duração 39 semanas (previsão) Iterações 13 (previsão) Situação Elaboração (projeto + plano de testes) Acompanhamento CETEC: acompanhamentos quinzenais, (2 revisões presenciais) Maré de Agilidade Bahia 2009 – Case Serpro
  • 43. Experimentando a Agilidade O2C - Operações Oficiais de Crédito Cliente ESAF Equipe 06 pessoas Duração 15 semanas (previsão) Piloto 03 Iterações 05 (previsão) Situação Planejado Acompanhamento CETEC: acompanhamentos quinzenais, (3 revisões presenciais) Maré de Agilidade Bahia 2009 – Case Serpro
  • 44. Resultados preliminares  A não interação direta da equipe com o cliente pode comprometer o uso de uma abordagem ágil  A gestão de projetos ágil pode ser interessante para outros projetos, mesmo os que ainda não adotam o Framework Serpro. Intercâmbio com PSDS.  O gráfico “burning down” tem se mostrado um efetivo instrumento de acompanhamento de projetos  Indícios que o planejamento do projeto pode ser ainda mais simplificado (planejamento estratégico)  A antecipação de riscos foi fundamental para o andamento do projeto Maré de Agilidade Bahia 2009 – Case Serpro
  • 45. Prêt-à-Porter na Experimentação RECEITANET - Consulta a Declarações de Contribuintes Cliente RFB Equipe 10 pessoas Duração 39 semanas (previsão) Iterações 13 (previsão) Situação Planejado Piloto 04 Acompanhamento CETEC: acompanhamento inicial, (1 revisão presencial) Maré de Agilidade Bahia 2009 – Case Serpro
  • 46. Resultados preliminares  Gestão de Projeto ainda mais simplificada. Artefatos afetados: Cronograma, Plano de Projeto, GPAG.  O uso de ferramenta ScrumWorks® pode garantir uma gestão mais limpa, eficiente e automatizada do projeto.  Recursos de Documentação em Java auxiliam a reduzir a carga de trabalho em Requisitos  Participação de projetistas de teste em especificação da aplicação reduz o gap entre documentação e Casos de Teste.  Expectativa: Liberação do Roteiro Ágil para uso nacional na release 6.7 Maré de Agilidade Bahia 2009 – Case Serpro
  • 47. Dúvidas ? Dúvidas ? Dúvidas ? Dúvidas ? fabio-rilston.paim@serpro.gov.br Maré de Agilidade Bahia 2009 – Case Serpro