D S A P: U R S L: Esenvolvimento de Oftware Na Dministração Ública MA Evisão Istemática Da Iteratura
D S A P: U R S L: Esenvolvimento de Oftware Na Dministração Ública MA Evisão Istemática Da Iteratura
D S A P: U R S L: Esenvolvimento de Oftware Na Dministração Ública MA Evisão Istemática Da Iteratura
FACULDADE DE INFORMÁTICA
PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA
COMPUTAÇÃO
DESENVOLVIMENTO DE SOFTWARE NA
ADMINISTRAÇÃO PÚBLICA: UMA REVISÃO
SISTEMÁTICA DA LITERATURA
Isaque Vacari e Prof. Dr. Rafael Prikladnicki
AP Administração Pública
AUP Agile Unified Process
CASE Computer-Aided Software Engineering
CMM Capability Maturity Model (CMM)
DoD United States Department of Defense
ES Engenharia de Software
EUA Estados Unidos da América
GP Gerenciamento de Projetos
IEEE Institute of Electrical and Electronics Engineers
IV&V Independent Verification and Validation
MA Métodos ágeis
MSF Microsoft Solutions Framework
MPS.BR Melhoria de Processos do Software Brasileiro
OSS Open-source software
PDCA Plan-Do-Check-Act
PDS Processo de Desenvolvimento de Software
PMBOK Project Management Body of Knowledge
PRODEPA Empresa de Processamento de Dados do Estado do Pará
RAD Rapid Application Development
SI Sistema de Informação
SWEBOK Software Engineering Body of Knowledge
TI Tecnologia da Informação
UML Unified Modeling Language
USDP Unified Software Development Process
TSP Team Software Process
V&V Verificação e validação de software
XP Extreme Programming
SUMÁRIO
1 INTRODUÇÃO ................................................................................................................... 8
APÊNDICE A ...................................................................................................................... 78
APÊNDICE B ...................................................................................................................... 83
APÊNDICE C ...................................................................................................................... 86
8
1 INTRODUÇÃO
2 MÉTODO DE PESQUISA
1 O texto completo dos estudos foi obtido por meio dos serviços das bibliotecas da Pontifícia Universidade Católica
do Rio Grande do Sul, Empresa Brasileira de Pesquisa Agropecuária e Universidade Estadual de Campinas.
12
A ferramenta Start 2.0 [Zam+10] foi utilizada para gerenciar o grande número de
referências que foram obtidas através da pesquisa bibliográfica, assim como, para apoiar o
processo de extração de dados e análise dos resultados. Em geral, o resultado da pesquisa
bibliográfica de cada base de dados foi exportado e importado diretamente na ferramenta
Start 2.0 através do formato BibTeX. Além dessa ferramenta, o software Microsoft Excel®
foi utilizado para apoiar a análise quantitativa dos resultados. A ferramenta Start 2.0 possui
um mecanismo de exportação de dados para o software Microsoft Excel®, sendo este
recurso largamente utilizado nessa pesquisa.
Start. Na segunda etapa, realizou-se a leitura do título e do resumo dos trabalhos, sendo os
artigos classificados em três categorias:
[Inc] indica que o estudo está relacionado com desenvolvimento de software
(DS) na AP.
[Exc] indica que o estudo não está relacionado com DS na AP.
[Dup] indica que o estudo está duplicado com outros estudos.
Todos os estudos da segunda etapa contidos nas categorias [Exc] e [Dup] foram
excluídos. Na terceira etapa, os trabalhos da categoria [Inc] foram analisados com mais
cautela através da leitura do texto completo (introdução, conclusão, e partes específicas
associadas com a contribuição principal). Nesta etapa, foi incluída uma nova categoria de
exclusão de trabalhos para indicar que o texto completo do estudo não está disponível para
leitura [Ntc]. Todos os estudos da terceira etapa contidos nas categorias [Exc], [Dup] e [Ntc]
foram excluídos. A inclusão da terceira etapa foi adequada, pois em alguns casos, somente
a leitura do título e resumo não foi suficiente para classificar cada artigo corretamente. Dessa
forma, um subconjunto de documentos relacionados com desenvolvimento de software na
AP contidos na categoria [Inc] foi selecionado para a etapa de extração de dados e análise
em profundidade.
Etapa 1 N = 9.872
Identificação de
estudos iniciais
Etapa 2 N = 280
Exclusão de
estudos com
base no título e
resumo
Etapa 3 N = 62
Exclusão de
estudos com
base no texto
completo
Nesta seção será apresentada uma análise quantitativa dos estudos selecionados de
acordo com as três categorias de informação, incluindo informações gerais, informações
relacionadas com a organização da pesquisa e informações relacionadas com o conteúdo
da pesquisa.
A Tabela 4 apresenta os artigos selecionados por base de dados, sendo que trinta e
sete estudos (59,68%) foram recuperados a partir da base de dados Scopus, justamente por
18
ter sido a primeira base de dados utilizada para consulta e oferecer uma maior cobertura de
publicações científicas.
Tabela 4 - Artigos selecionados por base de dados.
Base de dados Número de ID
artigos
Scopus 37 (59,68%) P03, P04, P05, P06, P10, P11, P13, P15, P16,
P17, P18, P19, P20, P22, P24, P25, P26, P27,
P28, P29, P30, P31, P33, P34, P35, P38, P41,
P44, P47, P48, P52, P55, P56, P57, P59, P60, P62
Bielefeld Academic Search Engine 01 (01,61%) P23
IEEEXplore 04 (06,45%) P01, P07, P12, P40
Springer 07 (11,29%) P32, P37, P42, P43, P49, P50, P54
Wiley Online Library 05 (08,06%) P02, P08, P09, P21, P46
ScienceDirect 01 (01,61%) P14
ACM Digital Library 03 (04,84%) P53, P58, P61
Bases de Dados da Pesquisa 01 (01,61%) P45
Agropecuária
Biblioteca Digital Brasileira de 02 (03,23%) P39, P51
Computação
Workshop Brasileiro de Métodos 01 (01,61%) P36
Ágeis
A Tabela 7 mostra os artigos selecionados por tipo da pesquisa. Seis estudos (9,68%)
de opinião foram incluídos por apresentarem trabalhos relacionados e incluírem a
experiência pessoal do(s) autor(es) na percepção de como o desenvolvimento de software
na AP ocorreu na prática. Duas propostas de soluções (3,23%) foram incluídas por
apresentarem uma discussão prática dos seus benefícios. Os demais artigos apresentaram
resultados diretamente relacionados com a questão de pesquisa formulada, onde aspectos
do desenvolvimento de software na AP foram implementados e avaliados na prática, e suas
consequências foram investigadas.
Tabela 7 - Artigos selecionados por tipo da pesquisa.
software na AP são mais esperadas. Porém, em nove estudos (14,52%) não foi possível
definir o tipo de dados analisado, o que demonstra novamente uma falta de informações
relacionadas com a organização da pesquisa.
Tabela 10 - Artigos selecionados por tipo de dados analisado.
Tipo de dados Número de ID
analisado artigos
Quantitativo 10 (16,13%) P04, P17, P20, P26, P28, P39, P41, P53, P54, P61
Qualitativo 31 (50,00%) P05, P06, P08, P09, P10, P14, P16, P18, P19, P21, P22, P24, P30,
P33, P34, P35, P38, P42, P43, P44, P45, P46, P47, P49, P50, P52,
P55, P57, P59, P60, P62
Ambos 12 (19,35%) P02, P03, P07, P11, P13, P15, P23, P27, P31, P36, P48, P58
Não definido (ND) 09 (14,52%) P01, P12, P25, P29, P32, P37, P40, P51, P56
Nesta seção será apresentada uma análise qualitativa dos estudos selecionados com
vista a responder a questão de pesquisa definida no protocolo da revisão sistemática. Uma
vez que o principal interesse é sobre o desenvolvimento de software na AP, a análise incidiu
sobre artigos com evidências práticas da experiência de desenvolvimento de software no
setor público, organizadas em algumas dimensões, listadas a seguir.
27
reuniram para discutir sobre suas experiências de trabalho e pontos em comum. O resultado
do encontro deu origem ao manifesto ágil [BBB+01], uma declaração com quatro valores e
doze princípios que são, na visão de seus proponentes, determinantes entender o
desenvolvimento de software como um processo criativo, adaptativo, e movido a incertezas.
Desde então, cada vez mais, o governo tem renunciado as suas formas de trabalho e tem
adotado métodos e práticas alinhados aos princípios do desenvolvimento adaptativo. Na
sequência, os modelos, processos e métodos de Engenharia de Software (ES) adotados na
AP encontrados nessa pesquisa são apresentados.
O padrão Structured Systems Analysis and Design Method (SSADM) foi obrigatório
para desenvolvimento de software no Reino Unido de 1981 até meados da década de 2000
[P38]. O estudo de Middleton [P38] sobre desenvolvimento de sistemas de informação (SI)
em ambientes de governo, tipicamente burocrático, apontou que abordagens baseadas em
modelos prescritivos não são susceptíveis de lidar bem com a incerteza estratégica,
comunicação com o usuário e desenvolvimento pessoal. Além disso, o estudo mostrou que
na prática ocorrem mudanças fundamentais de estratégias durante à execução de projetos,
devido às mudanças da alta administração. A suposição de um contexto estratégico estável
e coerente mostrou-se inválida na prática. Segundo o autor, isto significa que modelos
prescritivos pode não ser a melhor maneira de desenvolver softwares para a maioria dos
projetos do setor público, sendo necessário investir em um modelo de desenvolvimento de
software que é mais adequado para lidar com a incerteza estratégica.
No mesmo estudo, o autor mostrou que a necessidade de começar com requisitos
fixos em todos os casos foi um obstáculo e tornou-se inviável. Como consequência disto,
várias funcionalidades foram entregues sem satisfazer as necessidades dos usuários.
Outrossim, a falta de entregas parciais de software, assim como, o longo tempo de espera
e a grande quantidade de documentação foram aspectos que levaram o índice de
comprometimento dos projetos para baixo. A evidência dos projetos estudados foi que a
abordagem SSADM limitou a contribuição do usuário para envolvimento em vez de sua
participação com maior comprometimento. Por fim, a abordagem SSADM concentrou o
desenvolvedor sobre as técnicas de desenho técnico e não nas habilidades sociais de
facilitação do processo humano de comunicação. Ao incentivar esta prática, a comunicação
real foi perdida, em parte porque diagramas tendem a ser imprecisos na prática.
29
com os usuários do sistema. Isto provou ser uma estratégia valiosa, especialmente para os
designers, que tiveram uma melhor compreensão sobre as exigências dos usuários.
Além de cobrir todo o ciclo de desenvolvimento de software, RUP tem sido importante
para modelar processos de negócio em projetos de governo eletrônico. O estudo de
Stojadinovic et al. [P56] forneceu um exemplo de como esta abordagem foi utilizada para
modelar o processo de negócio relativo à comercialização de medicamentos na Sérvia, onde
vários diagramas Unified Modeling Language (UML) foram utilizados para descrever o
modelo do sistema.
O estudo de Fruhling et al. [P15] mostrou como métodos ágeis, mais especificamente
XP, pode ser efetivamente adotado em organizações governamentais. Os autores criaram
um arcabouço de lições aprendidas para auxiliar os profissionais da área de software
alocados em ambientes governamentais e militares em futuras implementações de XP. Os
autores enfatizaram que para adotar métodos ágeis com sucesso é preciso haver uma
comunicação oportuna, precisa e completa entre todos os membros da equipe de
desenvolvimento, gestores do processo de negócio e usuários do software. Outra
constatação do estudo revelou que o trabalho colaborativo foi prejudicado quando membros
da equipe de desenvolvimento foram alocados em vários projetos com equipes diferentes
simultaneamente. Esta constatação corrobora com a opinião de Hajjdiab et al. [P19], onde
todos os membros da equipe de desenvolvimento deveriam estar o tempo todo com a equipe
e direcionar toda a sua atenção ao projeto. De acordo com ambos os estudos [P15] e [P19],
esta atribuição de diversos projetos simultâneos a uma pessoa tem ocasionado interrupções
no fluxo de trabalho e dificultado a inclusão de qualquer tipo de rotina diária para a equipe
do projeto, assim como, tem elevado a aplicação resumida de várias práticas ágeis nos
projetos. Por fim, Fruhling et al. [P15] sugerem que novas pesquisas sejam realizadas para
entender melhor as vantagens, desvantagens e riscos na transição de abordagens
prescritivas de processo para métodos ágeis em ambientes governamentais e militares.
O trabalho de Melo & Ferreira [P36] apresentou um estudo de caso de uma Instituição
Pública Brasileira de grande porte que optou por adotar métodos ágeis após anos de
experiência com métodos tradicionais de desenvolvimento. O artigo detalhou o contexto
organizacional que motivou e apoiou o processo de adoção. Havia dificuldade de
comunicação derivada da alta especialização em papéis. Os prazos de entrega eram longos
e faltava objetividade na definição do escopo de sistemas. Os funcionários estavam
desmotivados por trabalhar grande parte do tempo em tarefas burocráticas de
gerenciamento das fábricas ou em atividades muito especializadas. Além disso, criou-se
uma dependência das fábricas para todas as atividades relacionadas à implementação.
Neste contexto, a adoção de métodos ágeis apareceu como uma proposta de solução para
os diversos problemas apresentados, inclusive como uma alternativa para a solução do
problema de escala de produção. Na sequência o estudo descreveu dois projetos pilotos e
discutiu os resultados observados, sob perspectivas técnicas e gerenciais. O estudo revelou
que a adoção de métodos ágeis em uma organização é um processo lento e complexo. Em
organizações públicas, onde os processos burocráticos prezam pelo maior controle, em
detrimento dos resultados mais rápidos, é particularmente mais complicado. A simples
realização de alguns projetos pilotos não têm sido suficientes para tornar as práticas, valores
e princípios ágeis de fato implantados. Igualmente, o estudo constatou que as principais
dificuldades enfrentadas na implantação de métodos ágeis não estão relacionadas ao
aprendizado das práticas ágeis e sim com a necessidade de mudança da cultura
organizacional. Enquanto apenas o projeto de desenvolvimento de software pensar e agir
de forma ágil e o restante da organização mantiver os vícios e culturas derivadas de
processos prescritivos não será possível usufruir realmente dos benefícios ágeis. Por outro
lado, os resultados após dezoito meses de implantação mostraram que a adoção teve um
efeito positivo no aprendizado de novas tecnologias e na satisfação dos clientes e um
discreto aumento na qualidade do código e na produtividade das equipes estudadas e foram
34
considerados decisivos para encorajar novas experiências com métodos ágeis dentro da
organização.
O estudo de Iliev et al. [P23] mostrou que métodos ágeis tornou o processo de
desenvolvimento mais aberto para o cliente. O feedback do cliente ao longo do
desenvolvimento foi útil para melhorar o desenvolvimento das funcionalidades requeridas e
agregar mais valor ao negócio. A introdução de práticas de desenvolvimento de software,
testes e análise de diversas métricas levou a melhorias na execução técnica do projeto. A
implementação de novas funcionalidades tornou-se algo previsível e transparente para o
cliente. Por fim, os autores pretendem complementar o trabalho com informações sobre a
preparação das pessoas e da organização para a adoção de métodos ágeis.
38
O estudo de McMahon [P35] compartilhou várias lições aprendidas sobre o que está
funcionando e o que não está funcionando ao aplicar métodos ágeis em grandes projetos de
software no setor de defesa do governo americano. O resultado mostrou que muitas das
lições abordadas no estudo não são novas, e algumas podem parecer ter pouco - ou nada -
a ver com métodos ágeis. Segundo o autor, o papel do Gerente de Projeto tem sido afetado
pela maneira como ele/ela interage com a equipe ágil em um projeto, particularmente no que
diz respeito aos requisitos e listas de tarefas. Em projetos de grande porte, por exemplo, tem
sido recomendado ter várias listas de requisitos, geralmente organizadas em subprojetos,
como também, que cada subprojeto possua seu próprio proprietário do produto e sua própria
lista de requisitos. Da mesma maneira, os proprietários dos produtos deveriam reunir-se
regularmente para coordenar mudanças entre si e acordar estratégias de integração dos
subprojetos. Segundo McMahon [P35], um engenheiro de sistemas poderia ser um
candidato perfeito para o papel de proprietário do produto. Entretanto, para Michaelson [P37],
tem sido difícil identificar proprietários de produtos adequados e comprometidos para
projetos, como também, garantir que eles estarão disponíveis para reuniões diárias com
equipes de desenvolvimento. Outrossim, métodos ágeis não têm exigido menos requisitos
escritos [P35].
39
Kent Beck, um dos proponentes do manifesto ágil, enumerou nove ambientes que,
segundo ele, XP não deveria ser utilizado [Bec99]. Seis destas nove características estavam
presentes em um projeto piloto de adoção de XP na NASA Langley Research Center
(Langley) [P60]. Na medida em que o projeto começou, William A. Wood & William L. Kleb
[P60], tiveram que lidar com vários conflitos culturais antes de implementar XP. Em primeiro
40
lugar, o conflito entre o valor de negócio de curto prazo e os objetivos de pesquisa de longo
prazo levou a um choque cultural ao aplicar práticas básicas de XP em projetos de pesquisa
científica. O estabelecimento de ciclos de desenvolvimento incremental com feedback em
poucas semanas parecia ser incoerente com o papel do centro de pesquisa de buscar
soluções ao longo prazo através de projetos revolucionários.
Em segundo, a política interna da empresa atribuía dois terços do tempo do projeto
para as atividades de levantamento de requisitos, documentação e projeto. A atividade de
codificação deveria ser realizada em apenas um terço do tempo restante do projeto, não
sendo permitida sua execução desde o início do projeto. Em terceiro, as políticas internas
da empresa incentivavam o uso de grandes especificações para o planejamento e
desenvolvimento de software, com pouca menção ao teste de software (por exemplo). O não
cumprimento desta prática poderia penalizar o projeto por falta de garantia de qualidade e
inconformidade com os processos institucionais. Em quarto, os pesquisadores eram
reconhecidos e valorizados por desempenho individual ao invés de trabalho em equipe. Em
quinto, em centros de pesquisa, os pesquisadores geralmente são alocados em salas
individuais, que poderiam estar localizadas em outros prédios dentro do próprio campus da
empresa. Esta característica de ambiente não favorecia à comunicação efetiva das pessoas
envolvidas no projeto. Por último, as equipes eram formadas por duas pessoas, manter os
papéis distintos de programador, cliente, mediador, coach para equipes pequenas era um
problema. No contexto da pesquisa de longo prazo, as tecnologias que estão sendo
exploradas podem ser imaturas ou incertas, como também, estarem a anos de distância de
alcançarem seu potencial comercial. Nesta situação, o financiador é muito distante da
pesquisa para servir como um cliente adequado. Assim, o pesquisador é essencialmente o
"cliente" para o seu próprio esforço de desenvolvimento, pelo menos por vários anos.
As soluções encontradas pelos autores para resolver os conflitos culturais
apresentados anteriormente incluíram:
Inicialmente, os autores não sabiam se poderiam reformular as metas de pesquisa
de longo prazo em pequenos incrementos tangíveis, adequados aos ciclos de
iteração do XP de duas a três semanas. Felizmente, na prática, embora a escala
de tempo de feedback de investigação continue grande, os autores conseguiram
decompor com sucesso as características técnicas em pequenos pedaços de
iteração, seguindo a prática do Design Simples do XP.
41
O estudo de Dubinsky et al. [P13] descreveu uma pesquisa realizada com uma equipe
de desenvolvimento de software da Israeli Air Force. Com o objetivo de reduzir o tempo de
entrega do software, melhorar a comunicação e a colaboração com o cliente, a equipe optou
pela adoção de XP para o desenvolvimento de um projeto de software de missão crítica.
Dentre os vários temas pesquisados, o estudo focou em métricas ágeis. As métricas ágeis
foram adotadas e aperfeiçoadas ao longo do projeto. O resultado foi um aumento da
confiança dos membros da equipe de desenvolvimento e dos gestores administrativos, onde
a adoção de métricas ágeis objetivas contribuiu para verificar o cumprimento de prazos mais
cedo, assim como, permitiu que a tomada de decisão acontecesse de maneira precisa. Esta
42
constatação comprova a opinião de McMahon [P35], que diz o seguinte: ”Um dos maiores
benefícios de métodos ágeis tem sido a sua capacidade em promover a visibilidade do
projeto para os gestores mais cedo”. Além disso, os gestores administrativos apontaram que
as métricas estudadas poderiam ajudar a escalar o XP, por exemplo, para gerenciar várias
equipes de desenvolvimento em projetos de larga escala. Em trabalhos futuros, os autores
pretendem investigar a escalabilidade das métricas adotadas de modo a promover a
melhoria contínua das métricas usadas.
Vale ressaltar que os princípios e várias práticas de XP contradiziam e pareciam ser
incompatíveis com muitos dos processos de trabalho existentes. A solução encontrada pela
gerência administrativa foi uma renúncia da maioria dos regulamentos existentes. Isso
permitiu que a equipe executasse seus próprios processos de trabalho, desde que
demonstrasse para os níveis superiores que o projeto estava sendo gerenciado e estava
efetivamente sob controle, bem como, a qualidade e o atendimento das necessidades dos
clientes não estavam sendo comprometidas. O resultado foi que após a primeira iteração os
gestores ficaram surpresos ao ver algo em execução e todos concordaram que “a pressão
para entregar algo a cada duas semanas levou a resultados surpreendentes”.
Rapid Application Development (RAD) foi aplicado em um projeto de larga escala para
resolver problemas frequentes do desenvolvimento de software em uma AP do Reino Unido,
incluindo entregas com atraso e que nem sempre atendiam às necessidades do cliente,
assim como, uma crescente incapacidade de responder as novas demandas [P06]. O
resultado foi que as partes interessadas encontraram dificuldades em ajustarem-se as
exigências do RAD (incluindo comprometimento e disponibilidade) e adotaram uma postura
passiva, o que dificultou a tomada de decisão críticas de negócio. A cultura organizacional
estabeleceu que a tomada de decisão deveria ser realizada no ponto apropriado da
hierarquia organizacional. Isto fez com que os gerentes de negócios se mantivessem
relutantes em tomar decisões importantes sobre processos de negócios que não se sentiam
responsáveis, apesar de estarem habilitados a fazê-lo. Tais dificuldades impactaram sobre
a trajetória do projeto, causando atrasos no cumprimento de prazos importantes do projeto.
Este resultado fortalece a ideia de que quando uma cultura organizacional enfatiza uma
“cultura de culpa”, muito dos benefícios do desenvolvimento adaptativo podem ser negados,
tal como, um nível de conflito e uma falta de confiança pode ocorrer entre desenvolvedores
e gestores de negócios [P05]. Porém, evidências sugerem que esses problemas tendem a
43
O estudo de Bygstad [P09] mostrou que aplicar casos de uso, design de interfaces,
técnicas de programação e testes foi difícil com muitos participantes inexperientes. O
resultado foi que o custo foi maior do que o estimado, a produtividade e a qualidade foram
inferiores, e a colaboração entre os gestores do processo de negócio e os desenvolvedores
não foi suficiente para alcançar os melhores resultados. Por outro lado, o estudo identificou
uma janela de oportunidade para a adaptação mútua. Em um projeto de desenvolvimento
de SI, a flexibilidade do SI é alta no início do projeto, em seguida, ela gradualmente se torna
menor à medida que mais componentes de software são produzidos e introduzidos no
sistema. Por outro lado, o processo de negócio tem um baixo grau de flexibilidade no início,
em seguida, ela aumenta lentamente por conta dos primeiros resultados do projeto. Neste
ponto do tempo, a janela de oportunidade se abre, onde a flexibilidade tanto do SI quanto do
processo de negócio é suficiente para uma mudança mútua. Isto significa que a flexibilidade
do SI e do processo de negócio variam ao longo do tempo. No início do projeto, tem sido
relativamente fácil alterar os requisitos, enquanto que no final do projeto, tem sido muito mais
difícil e mais caro. Uma outra constatação do estudo foi que, o envolvimento de
desenvolvedores e representantes do processo de negócio em workshops e sessões de
prototipagem permitiu que os desenvolvedores tivessem um feedback mais detalhado do
processo de negócio, enquanto os representantes dos processos de negócio aprenderam
mais sobre as complexidades e limitações da tecnologia.
3.2.1.3.5 V-Modell XT
construídos a partir do V-Modell XT tenham uma versão personalizada que atenda suas
necessidades específicas da melhor maneira possível.
Depois de utilizar o TSP por vários anos, a organização informou que os seus níveis
de qualidade do produto melhoraram em cerca de dez vezes e que os tempos de teste foram
reduzidos de meses para semanas. Cronograma e custo tem sido muito mais previsível do
que antes, e as reuniões de status semanais que aconteciam as segunda-feira, quarta-feira,
e sexta-feira não foram mais necessárias. Cooperação e coordenação da equipe também
foram melhoradas. A conclusão final da organização foi a de que, "Esta é a única maneira
de gerenciar grandes projetos de conhecimento de trabalho".
Com relação às equipes de desenvolvimento, elas têm se esforçado para cumprir as
metas do cronograma da gerência do projeto, tal como, elas têm negociado seus próprios
compromissos com a gerência. As equipes têm se sentido responsável pelo controle do seu
trabalho, bem como, elas têm conseguido informar o status do projeto, e tem obtido
informações adequadas para defender suas estimativas. Segundo Humphrey [P22], as
equipes deveriam ser treinadas em métodos de gerenciamento de equipe. Elas deveriam
ser responsabilizadas por produzir os seus próprios planos, negociar os seus próprios
compromissos e cumprir esses compromissos com produtos de qualidade. Isto significa que
o papel do gerente não tem sido simplesmente gerenciar equipes de trabalho, mas sim,
liderá-las, motivá-las, apoiá-las e orientá-las [P22].
O estudo de Love & Siddiqi [P30] investigou a hipótese de que a introdução de uma
ferramenta Computer-Aided Software Engineering (CASE) renderia processos melhorados
compatíveis com o CMM Nível 2 em um Departamento de Sistemas de Informação (DSI) do
governo do Reino Unido. A investigação mostrou que a combinação de uma ferramenta
CASE com mudanças em práticas de trabalho foi suficiente para o DSI alcançar CMM Nível
2, e que muitas das melhorias realizadas antecederam à adoção da ferramenta.
Em geral, o uso da ferramenta CASE contribuiu para melhorar o processo de
desenvolvimento de software, incluindo protótipo de telas para especificação de requisitos
com usuários, planejamento e acompanhamento de projetos, gerencia de configuração e
garantia da qualidade por meio de relatórios de inconsistência de itens que estão nos
repositórios.
a indústria. Por fim, usabilidade representou um custo adicional a ser pago a indústria, em
termos da diminuição da taxa de produção de software, aumento do controle do produto e
aumento da curva de aprendizado, contra benefícios que não eram fáceis de avaliar. O
resultado da pouca participação dos usuários finais ao longo do desenvolvimento de
software foi que a solução escolhida foi difícil de assimilar e alternativas comerciais eram
mais fáceis de utilizar. Outra constatação mostrou que a indústria possui muito pouco
conhecimento sobre métodos de desenvolvimento de software centrado no usuário e, em
particular, dão pouca atenção ao contexto de utilização dos produtos de software que
desenvolvem. Segundo os autores, isto significa que características de usabilidade de
produtos de software são praticamente ignoradas pela indústria de software.
O estudo de Arthur & Gröner [P02] mostrou que verificação e validação de software
(V&V) tem sido importante para o desenvolvimento de software dentro do prazo, do
orçamento, do escopo e com a qualidade requerida. Neste artigo, a eficiência da metodologia
Software Engineering Evaluation System (SEES) sobre o processo de desenvolvimento de
software foi examinada. O resultado revelou que a abordagem permitiu detectar defeitos logo
no início do processo de desenvolvimento, o que reduziu o tempo necessário para corrigi-
los. Por outro lado, os autores identificaram características que impediram o uso eficiente da
abordagem SEES e propuseram um conjunto de recomendações para melhoria do processo,
incluindo automatização do processo, redução da redundância de atividades e execução do
processo sobre requisitos “maduros”. Além disso, a adesão da abordagem SEES foi difícil
por conta da natureza abrangente e complexa de metodologias V&V.
O estudo de Driskell et al. [P12] apresentou os resultados da aplicação da abordagem
Independent Verification and Validation (IV&V) em conjunto com a análise de risco para
avaliar a adequação dos requisitos de segurança do software no início do desenvolvimento.
O resultado mostrou que a partir de casos de uso de alto nível do sistema, diagramas de
transição de estado e diagramas de atividade foi possível identificar uma lista de falhas
críticas de segurança e fornecer informações importantes para testes específicos de
segurança do software, incluindo entradas para testes de software e casos de teste de
segurança.
O estudo comparativo de [P54] sobre três diferentes abordagens de testes de
software utilizadas no Software Engineering Laboratory (SEL) revelou que testes de
aceitação tem sido um processo consistente para medir a qualidade do software antes da
liberação para o cliente. Os sistemas que tem realizado testes de aceitação tem
demonstrado um alto nível de qualidade em suas operações, além disso, os testes escritos
por desenvolvedores não têm sido tão eficientes na detecção de erros quando comparados
aos testes baseados em cenários operacionais. Esta constatação foi confirmada pelos
estudos [P47] e [P48], onde testes de aceitação realizados com os usuários reduziu
drasticamente o número de defeitos encontrados após a liberação do software no ambiente
de produção. Outra constatação foi que a implementação em pequenos incrementos de
software acelerou o processo de execução dos testes de aceitação, e permitiu que os
desenvolvedores tivessem um feedback mais rápido sobre a qualidade do software
produzido.
54
Por outro lado, alguns estudos têm apresentado certa discrepância em relação à
adoção de testes ágeis. Nos estudos de [P57] [P60] testes para todos os níveis foram
implementados e práticas como Test-driven development (TDD) foi adotada sem restrição
alguma. Enquanto, no estudo de Melo & Ferreira [P36] a adoção de testes de unidade
apresentou dificuldades, assim como, no estudo de Pedroso Júnior et al. [P45] a prática de
TDD não foi adotada pela equipe por falta de exemplos reais. Outrossim, o estudo de [P13]
revelou que a maioria das pessoas não gostam de escrever testes, e quando escrevem, o
fazem de maneira insuficiente.
possam ser bem sucedidas em grandes empresas sem estarem apoiados por um programa
de melhoria de processo de software. Neste trabalho, foi descrito a experiência do Serviço
Federal de Processamento de Dados (SERPRO) na institucionalização de um programa de
melhoria de processo de desenvolvimento de software abrangendo várias unidades de
desenvolvimento. A abordagem foi composta por elementos adaptados do RUP, Project
Management Body of Knowledge (PMBOK) segundo as melhores práticas definidas no
modelo CMM. O resultado foi que institucionalizar um programa de melhoria de
desenvolvimento de software que assegurasse um nível mínimo de qualidade e um processo
padrão para várias unidades foi uma tarefa difícil e exigiu uma estratégia organizacional bem
definida. Os principais desafios encontrados foram:
Identificar os procedimentos que poderiam ser estabelecidos e facilmente
automatizados para promover o tratamento eficaz de melhorias, revertendo-os em
otimização de processos, sem renunciar a uma análise aprofundada do seu
conteúdo;
Incorporar melhorias em novos lançamentos do processo de software, mantendo
a integridade de todos os ativos de processos;
Disseminar os esforços do programa de melhoria através de várias unidades de
desenvolvimento de software de uma forma homogênea;
Garantir a rápida absorção de mudanças e um processo padrão que atendesse as
necessidades de cada unidade organizacional;
Manter as sucessivas versões do processo respeitando as melhores práticas de
gerenciamento de software e desenvolvimento, sem perder de vista a realidade
de cada unidade organizacional.
Assim como em muitos outros setores, a AP pode ser confrontada com a escolha
entre desenvolver um produto de software inteiramente ou parcialmente com seus servidores
60
problema foi encontrada no estudo de Kaneda [P24]. Neste trabalho, o autor mostrou uma
combinação das abordagens Project Based Learning (PBL) e métodos ágeis. Estas
abordagens foram utilizadas pela prefeitura de Kyoto e a universidade pública de Doshisha
no Japão que desenvolveram dois softwares sem a ajuda de empresas da indústria de
software. O resultado desta estratégia foi que os alunos e os professores foram beneficiados
com o conhecimento sobre desenvolvimento de software com métodos ágeis para o mundo
real e ambos tiveram uma maior compreensão da importância da ES. Da mesma maneira,
esta abordagem permitiu que o governo ajustasse os softwares desenvolvidos o quanto
necessário, sem um aumento de custo. Outrossim, a execução do ciclo PDCA, importante
para as atividades diárias da prefeitura de Kyoto, foi mantida.
Em março de 2008 foi iniciado um projeto de parceria entre a Empresa de
Processamento de Dados do Estado do Pará (PRODEPA) e a Universidade Federal do Pará
(UFPA) a partir de um acordo de cooperação técnico–científica apoiada pela Secretaria de
Desenvolvimento, Ciência e Tecnologia (SEDECT) do Estado do Pará. A parceria permitiu
que a PRODEPA e a UFPA atuassem conjuntamente na definição e implantação de um
processo de testes de software para a PRODEPA. Dois projetos piloto foram executados
com o processo e os resultados preliminares apontaram para um significativo ganho na
qualidade do produto final [P39]. Além disso, a PRODEPA reconheceu que a parceria com
a academia resultou na eficácia do processo.
No Brasil, uma parceria envolvendo o Instituto Tecnológico de Aeronáutica (ITA) e
reais necessidades do Instituto de Aeronáutica e Espaço (IAE), assim como, do Instituto
Nacional de Pesquisas Espaciais (INPE) foi estabelecida para o desenvolvimento de
aplicações aeroespaciais [P29]. O resultado da parceria contribui para aumentar a
experiências dos profissionais envolvidos.
que reúne várias competências e diferentes experiências, tem oferecido uma abordagem
mais ampla para enfrentar os desafios de desenvolvimento de serviços eletrônicos mais
adequados às necessidades dos cidadãos. Esta abordagem tem fornecido um cenário maior
de utilização de serviços de governo que são necessários para a criação do projeto
conceitual do software. Porém, o resultado tem dependido muito do envolvimento frequente
dos usuários, o que coloca uma pressão extra sobre os indivíduos que talvez não sejam
aliviados de seus trabalhos diários para participar do projeto de desenvolvimento.
O desenvolvimento colaborativo no governo também tem acontecido entre diferentes
instituições pertencentes à mesma empresa pública [P58]. Neste modelo, uma equipe de
desenvolvimento é formada por desenvolvedores distribuídos em várias instituições. Unphon
et al. [P58] citou que do ponto de vista dos desenvolvedores, uma questão crucial para o
êxito do desenvolvimento colaborativo tem sido a possibilidade de capturar as semelhanças
entre as organizações e a partir delas construir partes comuns, bem como, a perspectiva de
integrar facilmente as especificidades de cada organização ao sistema geral. A principal
ação executada neste estudo alocou os desenvolvedores perto das organizações dos
usuários para facilitar uma implantação local do software, tal como, modificou o papel dos
desenvolvedores, que além de desenvolvedores atuavam como usuários avançados e
administradores do sistema em suas organizações. No que tange ao gerenciamento de
requisitos, neste estudo os critérios de priorização de requisitos adotados foram: (1) o
requisito foi altamente necessário em várias organizações, e (2) o requisito foi solicitado por
uma organização que alocou mais recursos no projeto, por exemplo, tempo.
67
A RSL descrita neste trabalho contribuiu para identificar estudos dentro do domínio
pesquisado. Contudo, como qualquer outro método, foram encontradas algumas limitações.
Em primeiro lugar, a escolha das bases de dados para consulta procurou abranger o
máximo das principais alternativas científicas disponíveis para execução de uma RSL.
Entretanto, é possível que outras fontes de publicações científicas não utilizadas neste
estudo também contenham artigos sobre desenvolvimento de software na AP. Portanto, não
é possível garantir a cobertura total de artigos científicos sobre este assunto. Além disso,
outros tipos de publicações (tais como: publicações governamentais, livros, teses,
dissertações, etc.) disponibilizadas em outras fontes de dados (tais como: sítios Web da AP)
não foram incluídas por não fazerem parte do escopo deste estudo. Porém, acredita-se que
a inclusão de artigos científicos disponíveis em bases de dados conhecidas
internacionalmente, assim como, os resultados apresentados forneceram uma boa indicação
do "estado da arte" e o "estado da prática" do desenvolvimento de software na AP.
Em segundo lugar, no que diz respeito à utilização do software Start 2.0, não foi
possível exportar e importar, de uma só vez, todos os artigos recuperados em algumas bases
de dados para a ferramenta. Esta limitação foi encontrada nos mecanismos de busca do
SpringerLink, ACM e BASE que não oferecem suporte adequado para o intercâmbio de
dados em lote com outros sistemas. O caso mais crítico foi o da ACM que teve a estratégia
de busca reduzida a um conjunto restrito de campos: título, autoria, palavras-chave e resumo.
Porém, a adoção da ferramenta Start 2.0 foi positiva, e o seu uso poderá ser mais eficiente
quando os mecanismos de busca oferecerem recursos mais sofisticados de integração com
outros sistemas. Da mesma maneira, a combinação da ferramenta Start 2.0 com o software
Microsoft Excel® foi importante para a execução da análise quantitativa dos resultados desta
RSL.
Em terceiro lugar, o texto completo dos artigos foi obtido através dos serviços
mantidos pelas bibliotecas da Empresa Brasileira de Pesquisa Agropecuária (Embrapa),
Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS) e Universidade Estadual de
Campinas (Unicamp), sendo que vinte e oito artigos que poderiam estar relacionados com o
tema não foram analisados por não estarem disponíveis “gratuitamente” nessas bibliotecas.
Por fim, a definição à priori da estratégia de busca faz com que o conhecimento seja
visto como algo bem definido e explícito. Entretanto, nesta pesquisa novos conhecimentos
foram descobertos durante a execução da revisão sistemática, o que poderia ter resultado
68
em uma reformulação da estratégia de busca, juntamente com uma nova execução de todo
o processo com as novas descobertas. Isto significa que uma descrição inicial precisa da
realidade torna difícil a aplicação desta prática com êxito, uma vez que o conhecimento pode
ser também mal definido, tácito e difuso.
69
5 CONSIDERAÇÕES FINAIS
descritas [P13] [P36] [P45] [P60], como também, eles têm permitido uma maior facilidade de
ajustes no escopo e direção do projeto [P44].
Evidências sugerem que nem todos os ambientes de governo têm evoluído com o
mesmo entusiasmo dos modelos adaptativos [P05] [P13] [P15] [P19] [P36]. Assim, a cultura
inerente de uma organização pública nem sempre coincide com práticas de trabalho flexíveis
e colaborativas, bem como, com clima de confiança e tomada rápida de decisões
necessárias para que o desenvolvimento adaptativo aconteça com sucesso [P05].
Na mesma direção, grande parte dos “ruídos” sobre a utilização de modelos,
processos e métodos de ES em ambientes de governo, está relacionada com a maneira de
posicionar estas abordagens em um contexto maior, caracterizado como um contexto
burocrático, hierárquico e incerto. Desta maneira, há muitas outras atividades necessárias
para atender plenamente as necessidades de negócio do governo, incluindo atividades
relacionadas com a cultura organizacional, formação de competências e trabalho
colaborativo entre desenvolvedores, usuários, gestores do processo de negócio e
profissionais de desenvolvimento de software da indústria, da academia e de outras APs.
Diante disso, estudos empíricos podem ser executados para compreender os
ambientes de governo, tipicamente burocráticos (no que diz respeito aos regulamentos fixos,
rigidez do modelo de gestão e estrutura organizacional) e extrair lições importantes para
entender e ampliar o que se sabe sobre o uso de modelos adaptativos na AP em benefício
do desenvolvimento de software no setor público.
ser concluído dentro destas duas semanas. Projetos estudados por Melo & Ferreira [P36]
relataram ter enfrentado dificuldades em convencer os clientes a realizar publicações
parciais do sistema em produção, mesmo que agregassem valor ao negócio. Em geral,
inserir novas práticas de trabalho, alterar o gerenciamento de projetos e hábitos de
programação tem sido difícil [P19] [P59].
A seleção do projeto certo como piloto pode ser desafiadora, nem todo projeto é
adequado para ser o primeiro. O projeto piloto ideal depende da confluência de fatores como
tamanho, duração, importância do projeto e engajamento do patrocinador ligado ao produto
[Coh11]. Por exemplo, no estudo [P36] foram escolhidos sistemas que não eram críticos sob
o ponto de vista de negócio e nem possuíam restrições de prazos severos. A escolha de
projetos de grande porte é considerada um risco [P13]. Por outro lado, a falta de um projeto
piloto tem sido relatada como um dos fatores de fracasso na adoção de métodos ágeis no
governo [P19]. Além disso, a adoção de novos métodos de desenvolvimento requer o apoio
da alta administração [P05] [P13] [P19] [P36]. Um suporte gerencial tem permitido que o
aprendizado ocorra independentemente de qualquer problema ou falha [P36].
Finalmente, uma vez que modelos adaptativos não têm sido testados e explorados
suficientemente no setor público, assim como, dado o conjunto restrito de evidências
encontradas para extrair resultados conclusivos, mas ao mesmo tempo a existência de
resultados promissores do uso de modelos adaptativos na AP, existe uma oportunidade para
pesquisadores atuarem em ambientes de governo para realizarem estudos empíricos para
entender como estes modelos são executados na prática e que efeitos eles geram, incluindo
suas vantagens e desvantagens. Além disso, várias questões de pesquisa emergem e
precisam ser melhor investigadas:
Será que os servidores públicos são abertos ao uso de modelos adaptativos e
dispostos a participar ativamente em todo o processo de desenvolvimento?
74
REFERÊNCIAS BIBLIOGRÁFICAS
APÊNDICE A
APÊNDICE B
APÊNDICE C
Quem executou o
Modelo, Processo, Nível de
ID Administração Pública País Área do SWEBOK desenvolvimento do
Método de ES experiência
software?
Jet Propulsion Laboratory -
[P14] Estados Unidos Software Quality (SQ) NA NA NA
NASA
United States Strategic
[P15] Estados Unidos SEMM Extreme Programming Iniciante Indústria
Command (USSTRATCOM)
Federal Bureau of Investigation
[P16] Estados Unidos SEMM Scrum Iniciante Governo e Indústria
(FBI)
Vários gerentes de organizações
[P17] Estados Unidos SEM NA NA NA
do setor público
Software Engineering
[P18] Setor Público NA NA NA NA
Economics (SEE)
Um departamento de
Telecomunicações e TI do Emirados Árabes
[P19] SEMM Scrum Iniciante Governo
governo dos Emirados Árabes Unidos
Unidos
Mais de 20 organizações
Emirados Árabes
[P20] governamentais dos Emirados SEM NA NA NA
Unidos
Árabes Unidos
Department of Defense and Navy
[P21] Estados Unidos SEM NA NA NA
(DoD/Navy)
Naval Oceanographic Office Team Software Process -
[P22] Estados Unidos SEMM Experiente Governo
(NAVO) TSP
Uma Administração Pública da
[P23] Bulgária SEMM Métodos Ágeis Iniciante Governo
Bulgária
[P24] Prefeitura de Kyoto Japão SEMM Métodos Ágeis Iniciante Academia
National Information Society OSS Development
[P25] Coréia do Sul SEMM Iniciante Governo e Indústria
Agency (NIA) Models
Várias organizações públicas da
[P26] Noruega SEM NA NA NA
Noruega
[P27] Federal Office of Administration Alemanha SEMM V-Modell XT NA NA
German Department of the
[P28] Alemanha SEMM V-Modell XT Iniciante Governo
Interior
Instituto de Aeronáutica e
Espaço (IAE)
[P29] Brasil ST Rational Unified Process Iniciante Academia
Instituto Nacional de Pesquisas
Espaciais (INPE)
88
Quem executou o
Modelo, Processo, Nível de
ID Administração Pública País Área do SWEBOK desenvolvimento do
Método de ES experiência
software?
Information Systems Department Computer-Aided Software
[P30] Reino Unido SEP ND Governo
(ISD) Engineering
Área de Informática do Poder
[P31] Argentina SEP CompetiSoft Iniciante Governo
Judicial de Neuquén
German National Research
Governo e Academia e
[P32] Center for Information Alemanha SEMM Evolucionário ND
Indústria
Technology (GMD)
Serviço Federal de Processo SERPO de
[P33] Processamento de Dados Brasil SEP Desenvolvimento de NA NA
(SERPRO) Soluções - PSDS
US Department of Defense
[P34] Estados Unidos SEMM Waterfall NA NA
(DoD)
[P35] Government Defense Estados Unidos SEM Métodos Ágeis Experiente ND
Scrum e Extreme
[P36] Banco Central do Brasil Brasil SEMM Iniciante Governo
Programming
Her Majesty’s Revenue and
[P37] Reino Unido SEMM Métodos Ágeis Iniciante ND
Customs (HMRC)
Várias organizações públicas do
[P38] Reino Unido SEMM SSADM NA NA
Reino Unido
Empresa de Processamento de
[P39] Dados do Estado do Pará Brasil ST ND Iniciante Governo
(PRODEPA)
Uma organização do governo
[P40] Estados Unidos SEMM Extreme Programming Iniciante Governo
dos Estados Unidos
Departamento de TI de uma
[P41] grande organização pública do Israel SEM NA NA NA
governo de Israel
Uma organização governamental Unified Software
[P42] Chile SEMM Iniciante Governo
do Chile Development Process
Australian Bureau of Statistics Software ABS Software
[P43] Austrália Experiente Governo
(ABS) Requirements (SR) Development Process
Swedish Association of
Municipalities for Joint
[P44] Suécia SEMM Scrum ND Governo Colaborativo
Development of eServices
(Sambruk)
89
Quem executou o
Modelo, Processo, Nível de
ID Administração Pública País Área do SWEBOK desenvolvimento do
Método de ES experiência
software?
Embrapa Informática
[P45] Brasil SEMM Extreme Programming Iniciante Governo
Agropecuária
[P46] Swedish Armed Forces Suécia SEMM MODAF Iniciante Governo e Indústria
Uma grande agência de petróleo
[P47] Canadá SEMM Rational Unified Process Iniciante Governo
e gás do governo do Canadá
Uma agência do governo do
[P48] Canadá SEMM Rational Unified Process Experiente Governo
Canadá
Provincial Center of Informatics
[P49] (CENPRI) Espanha SM ND ND Governo
Departamento Público
Departamento de Defesa dos
[P50] Estados Unidos SEM NA NA NA
Estados Unidos - DoD
Informática de Municípios
[P51] Brasil SEP MPS.BR Iniciante Governo
Associados S/A (IMA)
National Aeronautics and Space
[P52] Estados Unidos SQ NA NA NA
Administration (NASA)
US National Computer Security
[P53] Estados Unidos SQ Waterfall Experiente ND
Center
Software Engineering Laboratory
(SEL)
National Aeronautics and Space
[P54] Administration’s (NASA) Estados Unidos ST Waterfall Experiente ND
Goddard Space Flight Center
(GSFC) Flight e Dynamics
Division (FDD)
[P55] Governo dos Estados Unidos Estados Unidos SEM NA NA NA
Uma agência de Medicina do
[P56] Sérvia SEMM Rational Unified Process ND ND
Governo da Sérvia
Métodos Ágeis e Métodos
[P57] United States Army Estados Unidos SEMM Experiente Governo e Indústria
Tradicionais
Uma agência do governo da
[P58] Bélgica SEM Iterativo e Incremental Iniciante Governo Colaborativo
Bélgica
National Institutes of Health Scrum e Extreme
[P59] Estados Unidos SEMM Iniciante Indústria
(NIH) Programming
[P60] NASA Langley Research Center Estados Unidos SEMM Extreme Programming Iniciante Governo
90
Quem executou o
Modelo, Processo, Nível de
ID Administração Pública País Área do SWEBOK desenvolvimento do
Método de ES experiência
software?
[P61] Setor Público ND SEM NA NA NA
Vários projetos do setor público Reino Unido,
[P62] do Reino Unido, Estados Unidos Estados Unidos e SEM NA NA NA
e Nova Zelândia Nova Zelândia