adoção de metodologias Ágeis por organizações ... · metodologias Ágeis e governo ! as...
TRANSCRIPT
Adoção de Metodologias Ágeis por Organizações Governamentais: um Olhar da Academia
Elaine Venson
Rejane Figueiredo
Ricardo Ajax
Fabiana Freitas
Luiz Souza
Thatyana Lima
Eduardo Barbosa
FGA Faculdade Gama / Engenharia de Software
1º Seminário sobre Metodologia Ágil de Desenvolvimento de Sistemas
Equipe FGA
§ Quem somos: § Professores pesquisadores da FGA – UnB
§ Elaine Venson
§ Rejane Figueiredo
§ Ricardo Ajax
§ Fabiana Freitas
§ Estudantes de Engenharia de Software da FGA – UnB § Luiz Souza
§ Eduardo Barbosa
§ Thatyana Lima
§ Área de Atuação; § Pesquisa de práticas ágeis no contexto de terceirização e organizações públicas
§ Termo de cooperação UnB / Ministério da APF: Framework de Soluções de TI;
§ Definição de processo de gestão de demandas de desenvolvimento de software terceirizado por organizações públicas.
§ Membros de CQTS – Centro de Qualidade e Testes de Software – FGA / UnB
Agenda
§ Metodologias Ágeis § Scrum, Kanban, Lean, XP
§ Ágeis no Brasil
§ Ágeis e Terceirização § Necessidade de Adaptações
§ Ágeis no Governo § Relatórios Governamentais
§ Estudos de Casos
§ Lacunas
§ Práticas Recomendadas
Metodologias Ágeis
§ Práticas ágeis têm sido abordadas devido à:
§ Flexibilidade para gerenciar a volatilidade dos requisitos;
§ Ênfase na colaboração entre clientes e desenvolvedores, facilitando as mudanças.
§ Algumas das metodologias ágeis frequentemente citadas em estudos e empregadas no governo:
§ Scrum;
§ Lean;
§ Kanban;
§ XP.
Metodologias Ágeis
§ Scrum - Framework § É uma abordagem iterativa e incremental de gerência de projetos que oferece
um framework simples de inspeção e adaptação, com entregas em incrementos chamados sprints (duração de 2 a 4 semanas).
§ XP - EXTREME PROGRAMMING § Abordagem ágil que advoga a entrega de releases frequentes em curtos ciclos
de desenvolvimento de software, com a intenção de melhorar a produtividade e introduzir pontos de verificação nos quais novos requisitos pode ser adotados.
§ Lean § Baseada nos princípios da produção enxuta, é uma abordagem ágil que enfatiza
a eliminação de desperdícios, qualidade e entrega de valor ao cliente.
§ Kanban § Aplicado ao desenvolvimento de software, implica em definir a capacidade do
time (limite para o WIP, ou work in progress), permitindo equilibrar o recebimento de demandas e a vazão das entregas.
Ágeis no Brasil
§ Melo et al. publicou no Journal of the Brazilian Computer Society (dez 2013), um artigo intitulado: The evolution of agile software development in Brazil.
§ Em que relatam um Survey (levantamento) de maio de 2011 a outubro de 2011, sobre pesquisas, educação e estado da prática de ágeis no Brasil.
§ O levantamento possui maior participação do centro-oeste e do sudeste, obtendo 471 respostas.
§ Das organizações entrevistadas, as governamentais são o segundo maior grupo com 20.8% da amostra.
§ De todas as organizações entrevistadas 10% eram do DF.
MELO, C. DE O. et al. The evolution of agile software development in Brazil. Journal of the Brazilian Computer Society, v. 19, n. 4, p. 523–552, 1 nov. 2013.
Ágeis no Brasil
§ A preocupação com relação a adoção de ágeis é: § a falta de documentação com 51% dos respondentes, seguida de § falta de previsibilidade (43%); § falta de planejamento inicial (41%); e § controle do gerenciamento (37,6%).
§ O método mais utilizado foi o Scrum com 51,2% seguido de sua adaptação com o XP (22,5%) totalmente customizado (8,1%);
§ 67,1% dos respondentes relataram aumento na velocidade de conclusão dos projetos;
§ A principal causa de falha foi falta de experiência com métodos ágeis (16,3%), sendo que 36,3% tiveram sua implantação bem sucedida;
§ A principal barreira para futura adoção foi a incapacidade de mudar a cultura organizacional (50,7%);
MELO, C. DE O. et al. The evolution of agile software development in Brazil. Journal of the Brazilian Computer Society, v. 19, n. 4, p. 523–552, 1 nov. 2013.
Ágeis no Brasil
§ E concluem que:
§ Educação: Dada a falta de conhecimento, a falta de treinamento é uma das principais barreiras para a adoção de ágeis. As experiências de ensino na universidade tem possibilitado a melhoria de habilidades humanas como comunicação, comprometimento, cooperação e adaptabilidade.
§ Pesquisa: As pesquisas no Brasil estão divididas em três grandes grupos: introdução e adoção de ágeis; uso de ferramentas e práticas; e percepções dos métodos ágeis.
§ Indústria: Sucesso quando há mudança organizacional envolvida, não apenas da TI ou de um Time. A adoção começa com um time e se espalha.
MELO, C. DE O. et al. The evolution of agile software development in Brazil. Journal of the Brazilian Computer Society, v. 19, n. 4, p. 523–552, 1 nov. 2013.
Ágeis e Terceirização
§ Dinesh Batra publicou em 2009, na Communications of ACM, o artigo Modified Agile Practices for Outsourced Software Projects.
§ Em que busca responder se é possível estender o uso de ágeis para grandes projetos que envolvem um significativo componente de terceirização
§ Para isso analisa vantagens e problemas do ambiente de terceirização em relação:
§ Aos valores ágeis
§ A cada um dos 12 princípios ágeis
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
Valores do Manifesto Ágil Vantagens no Ambiente de Terceirização
Problemas no Ambiente de Terceirização
Indivíduos e interações versus
Processos e ferramentas
Há algumas evidências que a comunicação organizacional pode melhorar
Distâncias (culturais, geográficas e temporais) podem impedir a comunicação e as interações
Contratante e contratada tendem a usar uma linguam negocial (formal) ao invés de uma linguagem organizacional (formal e informal)
Tendem a conflitar valores culturais Software funcionando
versus Documentaçao compreensível
Software pode ser desenvolvido mais rapidamente
A documentação é essencial para evitar ambiguidades geradas pela falta de conhecimento tácito
Colaboraçao com o cliente versus
Negociação contratual -‐-‐-‐
A prática da terceirização normal é feita por meio de negociações contratuais
Resposta a mudanças versus
Seguir um plano
Mais recursos podem estar disponíveis para lidar com as mudanças
Mudanças podem não ser bem-vindas a menos que existam compensações Contratos podem não ser facilmente renegociáveis
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis considerados VIÁVEIS:
§ A maior prioridade é satisfazer o cliente por meio da entrega adiantada e contínua de software de valor
§ Entregar software funcionando com frequência, na escala de semanas até meses, com preferência aos períodos mais curtos
§ Software funcional é a medida primária de progresso
§ Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis que precisam ser ADAPTADOS:
§ Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário, e confiar que farão seu trabalho
§ Contínua atenção à excelência técnica e ao bom design, aumenta a agilidade
à Excelência e motivação não podem ser controlados no fornecedor
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis que precisam ser ADAPTADOS: § O método mais eficiente e eficaz de transmitir informações para
e por dentro de um time de desenvolvimento é através de uma conversa cara a cara
§ Pessoas relacionadas ao negócio e desenvolvedores devem trabalhar em conjunto e diariamente, durante todo o curso do projeto
à Inviável devido à distância física entre as equipes
à Uso de ferramentas de videoconferência
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis que precisam ser ADAPTADOS:
§ Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças, para que o cliente possa tirar vantagens competitivas
à O princípio dá “carta branca” ao cliente
à Dificuldades para o fornecedor absorver mudanças, principalmente as tardias, em grandes projetos
à Contratos precisam lidar com tais situações
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis que precisam ser ADAPTADOS: § As melhores arquiteturas, requisitos e designs emergem de
times auto-organizáveis
à A distância física entre as equipe cliente e fornecedor impõe desafios quanto à auto-organização
à Papeis no cliente e fornecedor podem facilitar, ex.: embaixador do cliente no fornecedor, equipe de integração no cliente
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Princípios Ágeis que precisam ser ADAPTADOS: § Em intervalos regulares, o time reflete em como ficar mais
efetivo, então, se ajustam e otimizam seu comportamento de acordo
§ Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários, devem ser capazes de manter indefinidamente, passos constantes
à Práticas viáveis do lado do cliente
à Aprendizado organizacional leva tempo
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Ágeis e Terceirização
§ Necessidade de adaptação…
§ Análise dos valores e princípios demonstram que adaptações precisam ser realizadas
§ O uso de ágeis em ambiente terceirizado implica retirar restrições como projetos pequenos e desenvolvedores especialistas pertencentes à mesma organização
§ O cliente não tem grande influência nas práticas internas da terceirizada
§ Algum grau de formalidade é necessário
§ O usuário/cliente não pode ter carta branca para inserir mudanças mesmo que tardias sem uma contrapartida financeira
§ Possibilidade de um modelo híbrido que harmoniza agilidade e disciplina com adaptações de acordo com contexto e ambiente
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Metodologias Ágeis e Governo
§ As metodologias ágeis vem sendo discutidas e até adotadas dadas as promessas de entrega mais rápida, com maior valor para o cliente e uma melhor qualidade.
§ Observa-se na academia a publicação de trabalhos relatando o uso de metodologias ágeis por organizações governamentais.
§ Alguns relatórios governamentais:
§ EUA: GAO – Government Accountability Office (2012)
§ Inglaterra: NAO – National Audit Office (2012)
§ Brasil: TCU – Acórdão (2013)
BATRA, D. Modified Agile Practices for Outsourced Software Projects. Communications of ACM, v. 52, n. 9, p. 143–148, set. 2009.
Relatório EUA
§ Título: § Práticas Efetivas e Desafios na Aplicação de Ágeis (Effective Practices
and Federal Challenges in applying Agile Methods)
§ Objetivos: § Identificar práticas efetivas para aplicação de Ágeis em soluções de
desenvolvimento de software e § Identificar desafios governamentais na implementação de técnicas de
desenvolvimento Ágil § Abordagem:
§ Entrevistas estruturadas com usuários experientes em ágil § 09 do mercado para identificar 32 boas práticas § 10 do governo, validam 10 boas práticas e definem 14 desafios
§ Resultados: § Define 32 práticas e abordagens efetivas para aplicação de métodos ágeis
em projetos de TI e identifica 14 desafios com adaptação e aplicação de ágeis no ambiente governamental
Relatório Inglaterra
§ Título: § Governança para Entrega Ágil (Governance for Agile Delivery)
§ Objetivos: § Oferecer apoio prático para organizações para que cumpram os objetivos
de políticas do governo para utilizar entregas ágeis para melhorar os serviços públicos, inclusive fazendo mais deles digitais.
§ Abordagem: § Avalia 07 estudos de caso de empresas privadas por meio de entrevistas
semi-estruturadas.
§ Resultados: § Define 04 princípios para boa governança de TI com entregas ágeis e
identifica 04 práticas comuns nos casos estudados § Não prescreve processos que devem ser utilizados pelo governo. A partir
das entrevistas realizadas produziram uma série de casos exemplo com o intuito de ajudar as organizações governamentais a preparar seus próprios projetos.
Acórdão TCU
§ Título: § Conhecimento Acerca da Utilização de Métodos Ágeis nas Contratações
para Desenvolvimento de Software pela APF
§ Objetivos: § Descrever como algumas instituições públicas federais estão realizando
contratações utilizando métodos ágeis, assim como apresentar alguns riscos associados a essas contratações
§ Abordagem: § Levantamento em 6 órgãos públicos através de entrevistas e visitas
técnicas com análise documental de 5 editais/contratos
§ Resultados: § Caracteriza a contratação ágil em 5 órgãos da Administração Pública
Federal § Identifica 16 riscos com relação ao uso de metodologias ágeis em
contratações no governo brasileiro
Lacunas de Pesquisas
Um mapeamento sistemático da literatura realizado por Jalali e Wohlin (2010) indica algumas lacunas de pesquisa na área: § Métodos de pesquisas mais rigorosos, com maior colaboração entre indústria e
academia (pesquisa na academia e coleta de dados na indústria);
§ Necessidade de estudos das modificações de práticas ágeis realizadas nos casos estudados de forma a fornecer guias para os interessados em aplicar metodologias ágeis, adaptando-as de acordo com suas necessidades;
§ Analises do grau de variação possível nas práticas modificadas de forma a não perder a agilidade;
§ Aprofundar estudo dos desafios de aplicar ágeis e terceirização;
§ Relato mais claro e rigoroso de fatores contextuais nos estudos de caso;
§ Desenvolvimento de um framework que permita avaliar riscos, desafios e benefícios da utilização de métodos ágeis no contexto de terceirização.
Práticas Recomendadas
§ Quanto à Adoção de Ágeis 1. Definir uma estratégia de adoção ágil, melhorando continuamente a
adoção de “agilidade” tanto no nível do projeto quanto no nível da organização (GAO, 2012). Adaptando se necessário porém sem comprometer a eficiência e eficácia (HAJJDIAB; TALEB; ALI, 2012).
2. Planejar um projeto piloto de tamanho médio, não crítico. Ter o apoio de um mestre ágil por seis meses e reduzir a pressão de trabalho (restringir demanda), para trabalhar na mudança de comportamento (HAJJDIAB; TALEB; ALI, 2012).
3. Ter gerentes de nível médio para orientar o time de desenvolvimento assim como gerentes de garantia da qualidade experientes com autoridade e participantes do time (AKER et al., 2013).
4. Visitar outras organizações para analisar como utilizam os métodos ágeis (NAO, 2012).
Práticas Recomendadas
§ Quanto à Capacitação 1. Melhorar a migração para os conceitos ágeis usando termos e
exemplos ágeis (GAO, 2012)
2. Capacitar equipes pequenas, multifuncionais (GAO, 2012)
3. Deve-se prever a evolução do time e não esperar a perfeição na primeira iteração (HAJJDIAB; TALEB; ALI, 2012)
4. Ter o mestre ágil, contratar alguns profissionais experientes em ágeis, ministrar constantemente cursos ágeis (HAJJDIAB; TALEB; ALI, 2012)
5. Antes de iniciar o projeto, investir em educação da alta gestão, gerentes de programa e equipes sobre a entrega ágil e como o reporte do projeto será diferente (NAO, 2012).
Práticas Recomendadas
§ Quanto ao Planejamento 1. Planejar a participação do usuário e prever a necessidade de
participação de especialistas no negócio (AKER et al., 2013)
2. Definir uma estratégia para gerenciar os requisitos e o projeto que devem estar totalmente definidos antes da Sprint (AKER et al., 2013)
3. Incluir a produção de artefatos específicos necessários como parte do plano da iteração, a serem concluídos até o recebimento do código (NAO, 2012)
Práticas Recomendadas
§ Quanto aos Requisitos 1. Obter feedback dos interessados/cliente com frequência e de perto
(GAO, 2012) 2. Incluir requisitos relacionados com a segurança e monitoramento
do progresso na fila de trabalhos não concluídos (backlog) (GAO, 2012)
3. Diminuir a quantidade de documentação não necessária, com a aprovação da alta gerência (HAJJDIAB; TALEB; ALI, 2012)
4. Com o detalhamento dos requisitos por fase, o nível de detalhe na transferência de conhecimento deve ser gerenciado (AKER et al., 2013)
5. Continuamente rever e retirar do escopo estórias de usuário que não atendem diretamente as necessidades dos usuários (NAO, 2012)
Práticas Recomendadas
§ Quanto ao Acompanhamento/Monitoramento 1. Procurar identificar e resolver os impedimentos nos níveis da organização e
do projeto (GAO, 2012)
2. Ganhar a confiança, demonstrando valor, no final de cada iteração (GAO, 2012)
3. Reuniões Diárias (daily stand-up meetings) (GAO, 2012; NAO, 2012)
4. Acompanhar o progresso utilizando ferramentas e métricas (GAO, 2012) (NAO, 2012)
5. Manter métricas e quadro de atividades visíveis (GAO, 2012; NAO, 2012)
6. É necessário rastrear com acurácia a porcentagem de completude do design e do desenvolvimento com o objetivo de orientar a decisão de trade-off entre o escopo e qualidade quando o cronograma é fixo (AKER et al., 2013)
Referências
§ Aker, S., Audin, C., Lindy, E., Marcelli, L., Massart, J.-P., Okur, Y., 2013. Lessons learned and challenges of developing the NATO air command and control information services, in: Systems Conference (SysCon), 2013 IEEE International. Presented at the Systems Conference (SysCon), 2013 IEEE International, pp. 791–800. doi:10.1109/SysCon.2013.6549974
§ Batra, D., 2009. Modified Agile Practices for Outsourced Software Projects. Commun. ACM 52, 143–148. doi:10.1145/1562164.1562200
§ Hajjdiab, H., Taleb, A.S., Ali, J., 2012. An Industrial Case Study for Scrum Adoption. Journal of Software 7, 237–242. doi:10.4304/jsw.7.1.237-242
§ Jalali, S., Wohlin, C., 2010. Agile Practices in Global Software Engineering - A Systematic Map, in: 2010 5th IEEE International Conference on Global Software Engineering (ICGSE). Presented at the 2010 5th IEEE International Conference on Global Software Engineering (ICGSE), pp. 45–54. doi:10.1109/ICGSE.2010.14
§ Melo, C. de O., Santos, V., Katayama, E., Corbucci, H., Prikladnicki, R., Goldman, A., Kon, F., 2013. The evolution of agile software development in Brazil. J Braz Comput Soc 19, 523–552. doi:10.1007/s13173-013-0114-x
§ GAO-12-681, Software Development: Effective Practices and Federal Challenges in Applying Agile Methods - 593091.pdf [WWW Document], n.d. URL http://www.gao.gov/assets/600/593091.pdf (accessed 1.30.14).
§ NAO (National Audit Office), Governance for Agile delivery [WWW Document], n.d. URL http://www.nao.org.uk/report/governance-for-agile-delivery-4/ (accessed 1.30.14).
Obrigado
Professores pesquisadores da FGA – UnB:
Elaine Venson ([email protected]) Rejane Figueiredo ([email protected]
Ricardo Ajax Kosloski ([email protected]) Fabiana Freitas Mendes ([email protected])