1) O documento analisa experiências na terceirização de desenvolvimento de sistemas de informação utilizando práticas ágeis no governo brasileiro.
2) Foram realizadas entrevistas com órgãos públicos que utilizam métodos ágeis e um questionário com 41 projetos, identificando desafios como escopo flexível e mudança de cultura.
3) As conclusões indicam que o sucesso depende da forma de gerenciamento dos contratos e da mudança de cultura das partes, mas existem tendências positivas no governo
Experiências com Terceirização de Desenvolvimento Ágil no Governo
1. Experiências na Terceirização de
Desenvolvimento de Sistemas de Informação
Utilizando Práticas Ágeis a partir da Análise
de Casos do Governo Brasileiro
Alexandre Cezar Pratti
Orientador: Fábio Petrillo
Curso de Especialização em Engenharia de Requisitos e
Modelagem de Negócios
3. Motivação
• Contexto:
– PDS-CGU (RUP);
– Terceirização;
– Dificuldades na execução de projetos.
• Proposta inicial;
• Decisão pela análise de experiências do
governo.
Curso de Especialização em Engenharia de Requisitos 3
4. Contratações Públicas
• Descentralização:
– Governança de TI no Brasil (Cepik e
Canabarro, 2010)
• Não garantem maior eficiência da
Administração;
• Detém natureza burocrática;
• Modelo antigo: Todos serviços, uma
empresa.
Curso de Especialização em Engenharia de Software 4
5. Contratações Públicas
• Modelo atual:
– Acórdão TCU 786/2006 (diagnóstico);
– MPOG: IN04/2008 (regulamentação);
• Planejamento, parcelamento, serviço mensurado, alinhamento.
– Ferramentas mais utilizadas:
• APF, OS, Métodos tradicionais (RUP);
– Dificuldades conhecidas:
• TI reduzida nos órgãos, alta rotatividade...
– Lei 10.520/2002 (Pregão) – Serviços comuns.
Curso de Especialização em Engenharia de Software 5
6. Métodos Ágeis
• Manifesto ágil (valores comuns):
– “Indivíduos e interações mais que processos e
ferramentas
– Software em funcionamento mais que documentação
abrangente
– Colaboração com o cliente mais que negociação de
contratos
– Responder a mudanças mais que seguir um plano”
Curso de Especialização em Engenharia de Software 6
7. Métodos Ágeis
• Segundo Fowler (2005):
– “Agile methodologies developed as a
reaction to these methodologies. For many
people the appeal of these agile
methodologies is their reaction to the
bureaucracy of the engineering
methodologies. These new methods attempt
a useful compromise between no process and
too much process, providing just enough
process to gain a reasonable payoff”
Curso de Especialização em Engenharia de Software 7
8. Métodos Ágeis
• XP – Programação Extrema
– Técnicas de eng.: simplicidade, refatoração...
• TDD – Desenv. Orientado a Testes
• Lean – Desenv. Enxuto
– Orientado a valor, empowerment
• Scrum:
– Time-boxes, sprint, release, melhoria e
planejamento contínuos.
Curso de Especialização em Engenharia de Software 8
9. Motivação
• Contratação Pública e Métodos
Tradicionais de desenvolvimento:
– Dificuldades em sua execução;
• Contratação pública + Métodos Ágeis
– Porque não?
– Quais as experiências que temos?
• Tendência do mercado: experiências com
terceirização e métodos ágeis
Curso de Especialização em Engenharia de Software 9
10. Experiências
• Franklin (2008) - Adventures in Agile
Contracting (EUA)
– Experiência em 3 estágios:
• T&M
• T&M, marcos de negócio
• “Tripla restrição”
– Fatores-chave:
• Processo alteração contratual que garanta
mudanças rápidas
• Participação ampla na elaboração do contrato
Curso de Especialização em Engenharia de Software 10
11. Experiências
• Obukhova (2010) - Fixed Price Agile
Projects. How it works (Ucrânia)
– Modelo próprio: orçamento e tempo fixo (4
Passos);
– “Fazer apenas o que é necessário”;
– Fatores-chave:
• Entrega como produto;
• Definição de “pronto”;
• Tempo de feedback acordado;
• Histórias claras.
Curso de Especialização em Engenharia de Software 11
12. Experiências
• Banerjee et al. (2011) - Experience of
Executing Fixed Price Off-shored Agile
Project (India)
– Fase de gerenciamento de projeto x ágil
– Fatores-chave:
• Cliente e executor acreditarem no trabalho ágil.
• Mudança de cultura
Curso de Especialização em Engenharia de Software 12
13. Experiências
• Silva et al. (2012) - Adaptação na prática
de um setor público às metodologias ágeis
– Simulação de contratação ANCINE – PUC-RJ
– Desafios:
• Escopo flexível e qualificação do valor de negócio.
– Fatores-chave:
• Mudança de cultura;
• Envolvimento do cliente;
• Desentranhar o waterfall;
Curso de Especialização em Engenharia de Software 13
14. Pesquisa
• Metodologia:
– Levantamento em comunidades (SISP e
TiControle);
– Entrevista em órgãos voluntariados;
– Análise de termos de referência e modelos de
desenvolvimento de software;
– Questionário Online.
Curso de Especialização em Engenharia de Software 14
16. BACEN
• Trabalha com ágil a mais tempo (+3)
• Iniciou com equipes terceirizadas ainda no
modelo antigo
• Experiência com desenvolvimento remoto
• Novo modelo recentemente licitado:
– Critérios do gestor do projeto:
• OS por sprint ou release;
• Acordo de nível de serviço flexíveis.
• Ambiente técnico do órgão
Curso de Especialização em Engenharia de Software 16
17. ANCINE
• Sem experiência interna
• Equipe Remota
• Problemas de Integração
• Melhorava a medida em que a
metodologia era entendida
• Entregas rápidas
• Viabilizando uma nova contratação
Curso de Especialização em Engenharia de Software 17
18. INEP
• Contrato previa desenvolvimento
tradicional ou ágil
• O processo de desenvolvimento ágil foi
descrito para o contrato
• OS representavam Sprints
– Estimava-se antes da abertura e ao final
• Não havia testes automatizados
• Parte foi executado com a visão ágil
Curso de Especialização em Engenharia de Software 18
19. STF
• Baseado no Scrum
– Regras no contrato
– Produtividade por Sprint
• Suporte ao gestor do projeto
• Métricas bem definidas
• Ferramentas
• Licitação em breve
Curso de Especialização em Engenharia de Software 19
20. Questionário
•10 Órgãos - 41 projetos contratados executados
com métodos ágeis
• Contexto: Métodos Ágeis e Contratações Públicas
Utiliza Métodos Ágeis Internamente?
10%
Não
10%
Sim, a pouco tempo (menos de
50% 1 ano)
Sim, a algum tempo (menos de
30% 3 anos)
Curso de Especialização em Engenharia de Software 20
21. Quais metodologias ágeis foram
utilizadas na execução do contrato?
4
7
Programação Extrema - XP
0 Scrum
Crystal
Desenvolvimento Orientado a Testes - TDD
3
Desenvolvimento Enxuto - Lean
Other
0
2
0 1 2 3 4 5 6 7
Curso de Especialização em Engenharia de Software 21
22. Na execução de contratos públicos com métodos
ágeis, é possível prever com precisão, nos momentos
iniciais do projeto, seu escopo?
4 4
1 - Não, de maneira
3 nenhuma
2
2 2 2 3
2
4
1 5 - Sim, com certeza
0
0
Curso de Especialização em Engenharia de Software 22
23. O quanto alta qualidade constante interfere na
aplicação de métodos ágeis de desenvolvimento
com empresas terceirizadas?
0
1
inviabiliza
prejudica muito
prejudica pouco
4 não prejudica
5
0 1 2 3 4 5
Curso de Especialização em Engenharia de Software 23
24. Como seriam organizadas as Qual melhor maneira de
ordens de serviço? medir o esforço de
desenvolvimento?
10%
10% 0%
por "sprint"
10%
20% Pontos por função
por entrega (release)
Homens-hora
50% Pontos de história
por periodo
Other
(semanalmente,
quinzenalmente,...)
Other 70%
30%
Curso de Especialização em Engenharia de Software 24
25. Do ponto de vista da organização, qual o nível de
dificuldade na gestão de um contrato de desenvolvimento
de sistemas com a utilização de metodologias ágeis?
4 4
3
3
1- muito difícil
2
2
2 3
4
5 - muito fácil
1
1
0
0
Curso de Especialização em Engenharia de Software 25
26. A organização pretende executar novos contratos
de desenvolvimento de sistemas utilizando
metodologias ágeis?
0%
40%
Não
Não sei
Sim
60%
Curso de Especialização em Engenharia de Software 26
27. Opiniões
“Estabelecer um processo de desenvolvimento
que instrumente o contrato. Em cada projeto,
estabelecer acordos de nível de serviço claros e
parâmetros de qualidade para o produto,
observando o processo de desenvolvimento da
instituição contratante. O contratante deve
monitorar e gerenciar continuamente os projetos
contratados, de modo a antever possíveis
problemas.”
Curso de Especialização em Engenharia de Software 27
28. Opiniões
“Iterações curtas (2-4 semanas). Product Owner
compartilhado pela TI e pelo usuario final frente a
empresa terceirizada. Educação inicial e constante
do usuário frente ao backlog - avaliações de
cenários e custo-beneficio das decisões de
repriorização e mudança. Dashboard e software
visível para avaliação e monitoramento do projeto.
Desenvolvimento por produto especifco e não por
"saco" de PF para ser utilizado em qualquer coisa.
SLAs medidos mais por criterios de entrega de
SWEspecialização em Engenharia de Software
Curso de
e menos por documentação” 28
29. Conclusão
• Real tendência;
– Outros exemplos no governo.
• Estado Atual
– Não há solução exata;
– Órgãos em experimentação (inovação).
– Sucesso pode estar relacionado a forma de
gerenciamento de contratos
Curso de Especialização em Engenharia de Software 29
30. Conclusão
• Dificuldades comuns:
– Desconhecer a metodologia a ser empregada
(cultura do contratado e do contratante);
– Problema da contagem em PF: não é
orientada a valor para o negócio ou ROI
• As dificuldades se confudem com as de
um paradigma tradicional de terceirização
Curso de Especialização em Engenharia de Software 30
31. Conclusão
• CGU (recomendação)
– Experiências próprias de práticas ágeis em
desenvolvimentos internos;
– Evolução do controle da qualidade em
projetos contratados.
• Ponto-chave:
– Mudança de cultura da empresa contratada e
do órgão.
Curso de Especialização em Engenharia de Software 31
32. Trabalhos Futuros
• Melhorar o questionário e número de
respondentes;
• Entrevistas semi-estruturadas;
• Envolver melhor o governo em eventos
ágeis;
• Aumentar o número de experiências
documentadas no governo;
• Criação de uma orientação ou modelo.
Curso de Especialização em Engenharia de Software 32