Upload
walter-cunha
View
1.666
Download
0
Embed Size (px)
DESCRIPTION
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
Citation preview
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
Agenda
• Motivação
• Contratações Públicas
• Métodos Ágeis
• Experiências
• Pesquisa
• Conclusão
• Trabalhos Futuros
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
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
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
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
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
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
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
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
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
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
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
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
Pesquisa
• Entrevistas desetruturadas;
• Órgãos:
– BACEN;
– INEP;
– STF;
– ANCINE.
Curso de Especialização em Engenharia de Software 15
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
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
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
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
Questionário
Curso de Especialização em Engenharia de Software 20
•10 Órgãos - 41 projetos contratados executados
com métodos ágeis
• Contexto: Métodos Ágeis e Contratações Públicas
50%
30%
10%
10%
Utiliza Métodos Ágeis Internamente?
Não
Sim, a pouco tempo (menos de
1 ano)Sim, a algum tempo (menos de
3 anos)
Quais metodologias ágeis foram
utilizadas na execução do contrato?
Curso de Especialização em Engenharia de Software 21
2
0
3
0
7
4
0 1 2 3 4 5 6 7
Programação Extrema - XP
Scrum
Crystal
Desenvolvimento Orientado a Testes - TDD
Desenvolvimento Enxuto - Lean
Other
Na execução de contratos públicos com métodos
ágeis, é possível prever com precisão, nos momentos
iniciais do projeto, seu escopo?
Curso de Especialização em Engenharia de Software 22
4
2 2 2
0 0
1
2
3
4
1 - Não, de maneira
nenhuma2
3
4
5 - Sim, com certeza
O quanto alta qualidade constante interfere na
aplicação de métodos ágeis de desenvolvimento
com empresas terceirizadas?
Curso de Especialização em Engenharia de Software 23
5
4
1
0
0 1 2 3 4 5
inviabiliza
prejudica muito
prejudica pouco
não prejudica
Curso de Especialização em Engenharia de Software 24
50%
30%
10%
10%
Como seriam organizadas as ordens de serviço?
por "sprint"
por entrega (release)
por periodo
(semanalmente,
quinzenalmente,...)Other 70%
20%
0%
10%
Qual melhor maneira de medir o esforço de desenvolvimento?
Pontos por função
Homens-hora
Pontos de história
Other
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?
Curso de Especialização em Engenharia de Software 25
0
3
4
1
2
0
1
2
3
4
1- muito difícil
2
3
4
5 - muito fácil
A organização pretende executar novos contratos
de desenvolvimento de sistemas utilizando
metodologias ágeis?
Curso de Especialização em Engenharia de Software 26
0%
40%
60%
Não
Não sei
Sim
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
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
SW e menos por documentação” Curso de Especialização em Engenharia de Software 28
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
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
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
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
Obrigado!
Curso de Especialização em Engenharia de Software 33