terceirização no desenvolvimento de sistema

33
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

Upload: walter-cunha

Post on 01-Jul-2015

1.665 views

Category:

Documents


0 download

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

TRANSCRIPT

Page 1: Terceirização no Desenvolvimento de Sistema

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

Page 2: Terceirização no Desenvolvimento de Sistema

Agenda

• Motivação

• Contratações Públicas

• Métodos Ágeis

• Experiências

• Pesquisa

• Conclusão

• Trabalhos Futuros

Page 3: Terceirização no Desenvolvimento de Sistema

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

Page 4: Terceirização no Desenvolvimento de Sistema

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

Page 5: Terceirização no Desenvolvimento de Sistema

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

Page 6: Terceirização no Desenvolvimento de Sistema

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

Page 7: Terceirização no Desenvolvimento de Sistema

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

Page 8: Terceirização no Desenvolvimento de Sistema

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

Page 9: Terceirização no Desenvolvimento de Sistema

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

Page 10: Terceirização no Desenvolvimento de Sistema

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

Page 11: Terceirização no Desenvolvimento de Sistema

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

Page 12: Terceirização no Desenvolvimento de Sistema

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

Page 13: Terceirização no Desenvolvimento de Sistema

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

Page 14: Terceirização no Desenvolvimento de Sistema

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

Page 15: Terceirização no Desenvolvimento de Sistema

Pesquisa

• Entrevistas desetruturadas;

• Órgãos:

– BACEN;

– INEP;

– STF;

– ANCINE.

Curso de Especialização em Engenharia de Software 15

Page 16: Terceirização no Desenvolvimento de Sistema

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

Page 17: Terceirização no Desenvolvimento de Sistema

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

Page 18: Terceirização no Desenvolvimento de Sistema

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

Page 19: Terceirização no Desenvolvimento de Sistema

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

Page 20: Terceirização no Desenvolvimento de Sistema

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)

Page 21: Terceirização no Desenvolvimento de Sistema

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

Page 22: Terceirização no Desenvolvimento de Sistema

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

Page 23: Terceirização no Desenvolvimento de Sistema

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

Page 24: Terceirização no Desenvolvimento de Sistema

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

Page 25: Terceirização no Desenvolvimento de Sistema

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

Page 26: Terceirização no Desenvolvimento de Sistema

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

Page 27: Terceirização no Desenvolvimento de Sistema

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

Page 28: Terceirização no Desenvolvimento de Sistema

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

Page 29: Terceirização no Desenvolvimento de Sistema

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

Page 30: Terceirização no Desenvolvimento de Sistema

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

Page 31: Terceirização no Desenvolvimento de Sistema

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

Page 32: Terceirização no Desenvolvimento de Sistema

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

Page 33: Terceirização no Desenvolvimento de Sistema

Obrigado!

Curso de Especialização em Engenharia de Software 33