de Software Relato de Experincia e Lies Aprendidas
Luciana Nascimento 1
Talita Vieira Ribeiro 1 Adailton Magalhes Lima 1
Carla Alessandra Lima Reis 1
Rodrigo Quites Reis 1
Resumo. Medio reconhecida como um processo importante de apoio ao gerenciamento do desenvolvimento de software, porm sua implantao efetiva enfrenta desafios relacionados ao esforo e conhecimento necessrios para gerar informaes teis para tomada de deciso. O desafio ainda maior quando se trata de organizaes imaturas ou sem experincia com medies. Como forma de contribuio para as iniciativas de implantao de medio nesse contexto, este artigo relata a experincia, estratgias e resultados de implantao de medio em um projeto de desenvolvimento de software visando prover informaes gerncia para anlise e tomadas de aes. Abstract. Measurement is recognized as a key process for software development management support, but its effective implementation faces challenges due to the effort and knowledge required to provide useful information for decision making. These challenges increase in case of immature or inexperienced organizations. In order to contribute with measurement implementation initiatives in this context, this paper presents the results and experience in implementing a measurement approach in a software development project. 1 Introduo Durante o planejamento do desenvolvimento de um software, as atividades so definidas e organizadas, os perodos so estimados, os recursos e as pessoas so alocados de
1 Laboratrio de Engenharia de Software, Instituto de Cincias Exatas e Naturais, Universidade Federal do Par {luma,adailton,clima,quites}@ufpa.br, talita@webapsee.com Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 413 acordo com as necessidades e restries do projeto, os riscos so previstos e para eles so elaboradas estratgias de mitigao. Mas o processo de desenvolvimento de software envolve a criatividade e disponibilidade de pessoas e seus requisitos certamente mudam e/ou evoluem ao longo da sua execuo [1]. Portanto, a monitorao da execuo do processo de software e, se necessrio, a modificao do seu planejamento so aes importantes para conduzir o projeto de forma bem sucedida. Nesse cenrio, medies so imprescindveis para auxiliar a gerncia do projeto de software. Medio o processo pelo qual nmeros ou smbolos so atribudos aos atributos de entidades no mundo real de forma a descrev-los conforme regras bem definidas [2], de modo que possam ser caracterizados e melhor conhecidos. No mbito de desenvolvimento de software, a anlise dos dados resultantes de medies fornece subsdios para [3,4]: caracterizar processos, produtos e recursos, entre outros elementos correlatos; monitorar a execuo de processos e tomar decises fundamentadas em dados quantitativos; avaliar o alcance de metas e aes de melhoria; prever e planejar com base em dados histricos e identificar pontos fortes e ineficincias, que so as oportunidades de melhoria do processo. A implementao de medio nas organizaes da indstria de software ainda problemtica [5], pois demanda conhecimento para que no venha aumentar as dificuldades enfrentadas durante o desenvolvimento de software. Tal fato ainda mais complexo em contextos em que h limitaes de recursos e pessoal dedicados a iniciativas de melhorias de qualidade, falta de conhecimentos acerca de medio e, no caso de organizaes iniciantes, falta de experincia [6]. Este artigo relata as estratgias de planejamento e execuo de implantao de medio e anlise, assim como lies aprendidas, em um projeto de desenvolvimento de software em um contexto semelhante ao descrito. O artigo est organizado como segue: a seo 2 apresenta o contexto no qual foi implantada medio, a seo 3 detalha o planejamento da implantao de medio enquanto que a seo 4 relata como de fato ocorreu a execuo de medio no projeto em estudo. A seo 6 apresenta aes de projeto tomadas a partir dos resultados da medio e na seo 5 so descritas as dificuldades e as lies aprendidas. As consideraes finais so descritas na seo 7. 2 Contextualizao: Descrio do Caso A experincia relatada neste artigo ocorreu durante a execuo de um projeto de desenvolvimento de um software governamental que visa obter informaes sobre a pesquisa cientfica no Estado do Par. O sistema de software denominado SIGAP Sistema Integrado de Gesto de Grupos e Atividades de Pesquisa do Estado do Par e seu projeto de desenvolvimento resultou de uma parceria entre a Secretaria de Desenvolvimento, Cincia e Tecnologia do Estado do Par (SEDECT) e o Laboratrio de Engenharia de Software da UFPA (LABES-UFPA). Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 414 RITA Volume 17 Nmero 3 2010 Para atender a demanda de desenvolvimento do SIGAP, o LABES formou uma equipe composta por seis alunos de ps-graduao e dois de graduao, sendo que dentre eles apenas uma pessoa possua conhecimentos sobre medio no auxlio gerncia de projetos de software. Os papis existentes na equipe so: Gerente, Analista de Requisitos, Arquiteto de Software, Desenvolvedor, Revisor e Testador. Descries mais detalhadas sobre as prticas de gerenciamento de projetos de software utilizadas no projeto SIGAP podem ser encontradas em [7]. Porm, convm destacar as prticas que mais tiveram influncia na estratgia de planejamento e execuo da implantao de medio no projeto. So elas: Aderncia ao nvel G do MPS.BR (Melhoria do Processo de Software Brasileiro [8]): no projeto SIGAP foram implantados os processos de Gerncia de Projetos e Gerncia de Requisitos de forma a atender todos os resultados esperados e capacidade de processo no nvel G do referido modelo. Processo de desenvolvimento iterativo e incremental: em cada iterao foram desenvolvidos submdulos do sistema, sendo que algumas iteraes ocorreram em paralelo (ex.: enquanto os desenvolvedores codificavam os requisitos de uma iterao as analistas de requisitos especificavam os requisitos da prxima). As iteraes tinham as seguintes etapas: Planejamento, Anlise de Requisitos, Projeto e Arquitetura, Construo e Testes (com integrao e validao do mdulo com o usurio). Estimativa baseada em julgamento de especialista [9]: foram realizadas reunies com toda a equipe para discutir os requisitos e estimar esforo e prazo. A partir da segunda iterao do processo as estimativas para codificao foram realizadas somente aps o desenvolvimento dos artefatos Especificao de Requisitos, Projeto de Interface Grfica e Projeto Arquitetural relativos iterao. Na terceira iterao, as estimativas das atividades de codificao foram apoiadas pelas mtricas fornecidas pela medio. Uso de um ambiente de gerenciamento de processos: para auxiliar a gerncia do projeto utilizou-se o ambiente WebAPSEE [1], que disponibiliza duas ferramentas principais: 1) o Manager-Console para definio, acompanhamento e mudanas no processo de desenvolvimento dos projetos em andamento (para uso da gerncia do projeto), e 2) a Agenda de Tarefas, pela qual o participante toma cincia das suas tarefas, recebe e entrega artefatos desenvolvidos e fornece feedback sobre o andamento das tarefas atravs de aes como iniciar, pausar e finalizar. O WebAPSEE evoluiu recentemente para propiciar a gerao de evidncias de prticas do processo Gerncia de Projeto do nvel G do MPS.BR. O projeto SIGAP iniciou em Abril de 2008 com finalizao prevista para Dezembro de 2009. A experincia de implantao e anlise de medio no projeto relatada nas prximas sees ocorreu entre Setembro de 2008 a Junho de 2009. Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 415 3 Planejamento da Implantao de Medio O projeto SIGAP possua alto risco quanto adequabilidade do software aos propsitos do cliente e quanto ao estabelecimento de prazos. Tais riscos estavam relacionados falta de clareza dos requisitos: os clientes queriam coletar informaes sobre a pesquisa cientfica no Estado, porm eles no sabiam quais informaes eram necessrias. Aps a execuo de um projeto-piloto (detalhes em [7]), os requisitos ficaram mais esclarecidos, estratgias para elicitao eficiente de requisitos das prximas etapas foram projetadas, os prazos foram estabelecidos mas os riscos ainda eram elevados. A medio ento foi considerada um processo necessrio para auxiliar a gerncia do projeto na definio, coleta e acompanhamento de dados para analisar o processo e produto, alm de subsidiar tomadas de aes. Adicionalmente ao contexto da necessidade de apoio no projeto SIGAP, como grupo de pesquisa identificou-se uma oportunidade do LABES-UFPA implantar um processo de medio em um projeto real de desenvolvimento de software e, dessa forma, aperfeioar estratgias, observar dificuldades e coletar lies aprendidas a serem consideradas em futuros projetos de melhoria de qualidade. As subsees a seguir detalham a estratgia de definio do Plano de Medio e das atividades de medio para o projeto. 3.1 Definio do Plano de Medio Para definio de quais mtricas deveriam ser coletadas etapa essencial de um processo de medio utilizou-se a abordagem descrita em [10], a qual baseada nas metodologias Goal-Question-Metric (GQM) [11] e Goal-Driven Software Measurement [4]. Tais metodologias preconizam que mtricas devem ser derivadas de objetivos e necessidades de informao da organizao, o que est em concordncia com prticas recomendadas por modelos de melhoria de qualidade como o CMMI (Capability Maturity Model Integration) [12] e o MPS.BR (Melhoria de Processo do Software Brasileiro) [8]. O levantamento das necessidades de informaes foi feito atravs de entrevistas no- estruturadas com a coordenao da organizao (LABES-UFPA) e com a gerncia do projeto. Durante a entrevista, a coordenao do projeto enfatizou duas grandes preocupaes: o cumprimento de prazos e a qualidade do software em relao a defeitos. A gerncia do projeto reforou a necessidade de controle dos prazos e solicitou auxlio para entender como a medio poderia ser til gerncia. Esse fato foi importante na elaborao da estratgia de implantao de medio, descrita na seo 4. Com as necessidades de informao determinadas, foram executadas as atividades definidas na metodologia para seleo de mtricas. As atividades so: Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 416 RITA Volume 17 Nmero 3 2010 1. Definir Metas de Negcio para o projeto SIGAP foram definidas duas Metas de Negcio em concordncia com as preocupaes do cliente: 1) Controlar a qualidade do produto em desenvolvimento e 2) Garantir o cumprimento dos prazos acordados; 2. Identificar Metas de Medio a partir das Metas de Negcio. Foram elaboradas Metas de Medio relacionadas ao acompanhamento e controle da taxa de defeitos, efetividade das atividades de reviso e de testes, qualidade dos documentos de especificao, estabilidade dos requisitos, acurcia das estimativas de prazo e esforo e produtividade da equipe em cada iterao; 3. Elaborar Questes Quantitativas para as Metas de Medio, de forma que essas questes ajudassem a delimitar o que foi definido nas Metas de Medio; 4. Elaborar Indicadores e especificar seus procedimentos de anlise para que favorecessem a correta interpretao das mtricas coletadas. Foram elaborados indicadores com formatos diferentes (grficos de pizza, grficos de barra, grficos de linha e tabelas), conforme os dados que ilustram. 5. Identificar Mtricas necessrias para a construo dos indicadores. Para cada mtrica foram especificadas a periodicidade, frmulas (se necessrio) e procedimentos de coleta. A Tabela 1 lista as mtricas identificadas para construir indicadores, seja pela aplicao direta ou atravs de clculos para derivar outras mtricas, como por exemplo produtividade e densidade de defeitos. A execuo dos passos da metodologia culminou na elaborao de um Plano de Medio inicial, que foi apresentado gerncia do projeto para avaliao e sugesto de melhorias. 3.2 Definio de Atividades de Medio As atividades de medio foram planejadas em conformidade com a caracterstica iterativa do processo de desenvolvimento do SIGAP. Em cada iterao do processo instanciado um conjunto de atividades de medio cujos prazos so definidos de acordo com os prazos das atividades do processo de desenvolvimento. As atividades de medio so: Coleta de Mtricas definidas no Plano de Medio. A coleta realizada conforme a periodicidade de coleta planejada para a mtrica (vide Tabela 1) e o cronograma da iterao; Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 417 Tabela 1. Mtricas bsicas necessrias para construir os Indicadores do projeto SIGAP. MTRICAS PERIODICIDADE DE COLETA N de defeitos/inconsistncias (n de encontrados e n de corrigidos) Esforo real (HH) e Prazo real em dias Ao final de cada atividade.
Tamanho (clculo em Pontos por Funo) No incio e fim de cada iterao. N de artefatos produzidos e n de artefatos revisados Ao final de cada iterao. Nmero de requisitos includos, excludos e alterados. Ao final de cada iterao e aps solicitao de mudanas. Esforo estimado (HH) e Prazo estimado em dias A cada planejamento e replanejamento.
Elaborao dos Indicadores com as mtricas coletadas, sendo produzidos conforme descrito no Plano de Medio. Foram utilizadas planilhas eletrnicas como ferramenta de auxlio; Reviso dos Indicadores quanto forma e valores, possveis inconsistncias quanto ao Plano de Medio e tambm ocorrncia de erros de coleta; Anlise Preliminar dos Indicadores: com os indicadores j formulados, a equipe de medio se rene para analisar os dados coletados e as informaes de contexto da iterao, consideradas de grande importncia para a correta interpretao dos indicadores. Durante a anlise so levantados pontos fortes, possveis problemas e sugestes de melhoria; Apresentao e Anlise dos Indicadores: ao final da iterao, todos os envolvidos no projeto se renem para analisar e extrair informaes teis dos indicadores, contribuindo tambm com informaes de contexto que possam auxiliar na anlise dos dados; Reviso do Plano de Medio e Anlise: a partir da reviso dos indicadores e das observaes na reunio de anlise junto com os participantes do projeto, indicadores podem ser alterados bem como novos indicadores podem ser elaborados. As atividades de medio tambm so avaliadas quanto conformidade com o processo de desenvolvimento e necessidades de informao do projeto. Em paralelo s atividades descritas acima foi realizada constantemente observao participativa para coletar informaes de contexto e tambm fatos que possam prejudicar a fidedignidade das mtricas coletadas. Por exemplo, uma atividade pode ter desvio de prazo porque era necessria iterao com o cliente e este no estava disponvel (mesmo tendo sido notificado e concordado com antecedncia), logo no seria til durante a reunio de anlise discutir acerca desse desvio. Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 418 RITA Volume 17 Nmero 3 2010 4 Implantao de Medio no Projeto SIGAP Com o Plano de Medio elaborado partiu-se para a execuo das atividades de medio, cujos prazos foram estabelecidos conforme os prazos das atividades da iterao do processo em execuo. No caso de mais de uma iterao estar em execuo, as atividades de medio descritas anteriormente foram instanciadas para cada iterao. Enquanto a atividade de coleta de mtricas executada conforme a periodicidade de coleta das mtricas, a elaborao dos indicadores realizada conforme disponibilidade das mtricas necessrias. A reviso e anlise preliminar dos indicadores so iniciadas durante a fase de testes do produto da iterao e finalizadas aps a atualizao dos indicadores com as mtricas coletadas durante os testes. Ao final da iterao so feitas a apresentao e anlise dos indicadores, seguidas da reviso do plano de medio. As subsees a seguir relatam as estratgias das atividades de coleta, anlise e apresentao dos indicadores. 4.1 Coleta de Mtricas Devido a funcionalidades oferecidas pelo ambiente WebAPSEE adotado no projeto, a equipe de medio decidiu coletar mtricas de esforo e prazo a partir dele. As mtricas e suas estimativas de esforo e prazo foram obtidas do registro da execuo do processo de desenvolvimento a partir da ferramenta Manager-Console, seja visualizando os relatrios gerados pelo ambiente, seja acessando os artefatos produzidos, ou a partir de formulrios de dados dos componentes do processo. Contudo, durante a primeira iterao do projeto SIGAP observou-se que a equipe no usava a Agenda do WebAPSEE corretamente, principalmente quanto pausar as atividades ativas quando no estavam sendo realizadas. Em geral, os participantes da equipe lembravam-se de iniciar e finalizar as atividades, sendo ento contabilizado um esforo muito alm do real, principalmente em atividades com durao maior do que um dia til de trabalho. Ao tomar conhecimento desse fato, a gerncia do projeto passou a incentivar o uso correto da Agenda e orientou a equipe a coletar o esforo gasto em suas atividades no caso de falharem no uso da Agenda. Para no comprometer a fidedignidade dos dados coletados e ao mesmo tempo avaliar o uso correto da Agenda, a equipe de medio passou a utilizar entrevistas no estruturadas para coleta de mtricas. Para tanto foram feitas observaes de contexto do projeto, como folgas e quaisquer problemas ocorridos, e acompanhamento da execuo das atividades do projeto. Quando uma atividade era finalizada, a(s) pessoas(s) envolvidas em tal atividade eram entrevistadas e assim eram coletadas mtricas sobre esforo despendido, inconsistncias encontradas nos documentos e defeitos no produto. Em caso de erros reportados, coletava-se tambm quantos foram corrigidos. Em todas as entrevistas no houve qualquer resistncia da equipe do projeto em reportar as informaes solicitadas. Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 419 4.2 Apresentao e Anlise de Indicadores de Resultados Inicialmente a comunicao dos resultados somente ao final de cada iterao e antes de iniciar a prxima foi adequada ao projeto SIGAP. O controle de execuo de atividades e acompanhamento dos prazos e esforos pode ser realizado pela gerncia atravs do ambiente WebAPSEE e os indicadores de resultados foram utilizados para avaliar uma iterao, identificar pontos fortes e oportunidades de melhoria e auxiliar a elaborao de aes de melhoria para a iterao subsequente. Durante reunies de anlise eram feitas apresentaes de cada indicador, dos pontos fortes e fracos observados na anlise preliminar e em seguida as sugestes de melhoria eram discutidas em conjunto. Nesse momento a equipe de medio tambm observava se a gerncia e a equipe do projeto entenderam corretamente os indicadores apresentados, se havia alguma necessidade de melhoria na elaborao deles e se existiam novas necessidades de informaes. Na primeira reunio de anlise de dados com a equipe do projeto, os participantes demonstraram interesse em investigar causas de problemas e sugerir aes, alm de contriburem com informaes de contexto e propostas de melhorias no formato dos indicadores. A partir dessa primeira reunio onde houve demonstrao de compreenso do como os indicadores poderiam auxiliar o projeto, teve-se a oportunidade de evoluir a maneira como medio auxiliava o projeto SIGAP: partindo da estratgia inicial de analisar a execuo de uma iterao com o objetivo de melhorar a prxima, seguiu-se para uma abordagem de auxlio ao planejamento de prazo e esforo durante as etapas de cada iterao, especialmente a etapa de codificao devido a solicitao da gerncia do projeto. 5 Anlise Crtica: Medio no Apoio Tomada de Deciso Segundo Fenton e Neil em [13], o objetivo mais importante da medio prover informaes para apoiar tomadas de deciso gerenciais. Essa seo apresenta decises de projeto que foram tomadas como resultado das anlises das medies ou foram apoiadas por medies. Vale ressaltar que os indicadores no relacionados diretamente nas tomadas de ao citadas a seguir ainda assim supriram necessidades de informao que precisavam ser monitoradas durante o perodo ao qual se refere o presente relato. Em relao meta de negcio sobre o cumprimento de prazos, os indicadores acerca de desvios esforo e prazo contriburam para o aperfeioamento do mtodo de estimativas nas iteraes do projeto. Alm de desvios altos, os indicadores tambm evidenciaram desvios de prazo e esforo inversamente proporcionais em alguns tipos de atividades, como pode ser observado nas Figuras 1 e 2, que mostram os desvios de esforo e prazo, respectivamente, por tipo de atividades executadas em trs iteraes do SIGAP. Como exemplo pode-se Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 420 RITA Volume 17 Nmero 3 2010 analisar as atividades do tipo 2 Requirements, as quais obtiveram desvio positivo (ou seja, maior do que o planejado) para a mtrica esforo tanto na segunda quanto na primeira iterao, mas ocorreu desvio negativo de prazo, ou seja, menos dias do que o planejado (Figura 2). Essas informaes mostraram gerncia que havia necessidade de aes para melhorar as estimativas do projeto.
Figura 1. Indicador: Desvio de esforo por tipo de atividade e iterao.
Figura 2. Indicador: Desvio de prazo por tipo de atividade e iterao.
2 No WebAPSEE podem ser atribudos tipos s atividades do processo. Mais detalhes em [1]. Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 421 Aps a anlise dos indicadores, a gerncia tomou a deciso de usar os dados de medies para melhorar a acurcia das estimativas de esforo e prazo na iterao, especialmente para atividades de codificao. Decidiu-se que a equipe de medio faria as estimativas com base no tamanho do submdulo a ser desenvolvido e na produtividade dos desenvolvedores nas iteraes passadas, porm o mtodo de julgamento especialista no seria totalmente descartado. Tal deciso foi colocada em prtica na segunda estimativa da terceira iterao do processo. Durante a reunio de estimativa, quando houve diferena significativa entre o estimado pela equipe de medio e o estimado pelos desenvolvedores, os casos de uso foram discutidos a fim de chegar a um consenso. Ainda no possvel afirmar que essas aes ajudaram a diminuir os desvios de prazo das atividades de codificao, mas indcios de tal fato puderam ser observados - como mostra a Figura 3, as atividades do tipo Coding foram as que apresentaram maior melhoria no valor absoluto de desvio de esforo em relao segunda estimativa.
Figura 3. Indicador: Desvio de esforo em relao primeira e ltima estimativa na 3 iterao.
Quanto meta de negcio acerca do controle da qualidade do produto (defeitos), os dados coletados pela medio mostraram que o esforo em teste foram cerca de 20% do esforo total na primeira e na segunda iterao, o que foi considerado um valor baixo em relao ao recomendado na literatura [14]. A densidade de defeitos total do produto at a segunda iterao foi de 0,51 defeitos por ponto de funo, o que tambm um valor baixo comparado com o reportado na literatura, como em [15]. Cogitou-se ento a hiptese do pouco esforo em testes resultar em baixa eficincia das atividades quanto deteco de defeitos e, diante dessa hiptese, a gerncia decidiu pelo aumento do esforo em teste. Na terceira iterao do processo o esforo em teste representou 30% do esforo total e a Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 422 RITA Volume 17 Nmero 3 2010 densidade de defeitos do produto foi de 0,85 defeitos por ponto de funo. Outra ao tomada foi a realizao de testes de aceitao com o cliente ao final de cada iterao, ou seja, na entrega de cada mdulo. Ainda no possvel afirmar se essa ao favoreceu o aumento da qualidade do processo quanto deteco e correo de erros, pois est em execuo no perodo da escrita do presente relato. 6 Dificuldades e Lies Aprendidas Durante o planejamento da implantao de medio no projeto SIGAP houve dificuldade na avaliao do Plano de Medio pela gerncia do projeto devido falta de experincia acerca de medio. Tal dificuldade foi considerada um risco para o sucesso da implantao de medio, j que seu propsito auxiliar a gerncia atravs de mtricas que lhe sejam teis para tomadas de deciso [13]. Para mitigar o risco do plano de medio gerar indicadores inteis, foram includas as atividades de anlise preliminar dos indicadores e observao participativa durante as reunies de anlise e tambm durante reunies especficas do projeto para identificar necessidades de informao do projeto. Uma lio aprendida durante o planejamento de medio sobre a necessidade de exemplos dos indicadores e cenrios de utilizao deles, usando dados hipotticos ou reais (se disponveis), para apresentao gerncia. Num contexto semelhante ao caso aqui relatado, em que no haja experincia prvia com medies, tais exemplos podem ajudar a entender como a medio pode auxiliar a gerncia e dessa forma podem fazer com que se obtenha retornos mais freqentes quanto utilidade dos indicadores e mudanas nas necessidades de informao. A principal dificuldade encontrada durante a fase de implantao de medio foi manter o Plano de Medio e suas atividades coerentes com o processo de desenvolvimento em execuo. Mudanas nos fluxos e prazos de atividades das iteraes do processo de desenvolvimento do produto foram inevitveis, motivadas por mudanas e alteraes em requisitos, aes de melhoria ou outros problemas no previstos. Estes fatos demandaram esforo e ateno da equipe de medio para manter o Plano de Medio atualizado, visto que qualquer mtrica coletada fora do tempo hbil poderia interferir na fidelidade dos dados. O Plano de Medio tambm foi atualizado devido a novas necessidades de informao. A implantao gradual da medio mostrou-se adequada ao contexto do projeto SIGAP, onde medio era um processo novo para os participantes da equipe e havia grande esforo na implantao dos processos Gerncia de Requisitos e Gerncia de Projetos para atender o nvel G do MPS.BR. Primeiramente a implantao da medio seguiu uma abordagem de anlise post-mortem das iteraes. Em seguida a equipe de medio passou a auxiliar nas estimativas das etapas de cada iterao e, no perodo da escrita desse artigo, planeja-se avanar para uma abordagem pr-ativa que ajude na avaliao de tendncias durante a execuo das iteraes. Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 423 As observaes participativas tambm foram consideradas de grande importncia, pois elas possibilitaram a descoberta de discrepncias entre o que foi coletado no ambiente e a realidade do processo. Por exemplo, uma atividade pode ser modelada no WebAPSEE e planejada para iniciar aps uma outra determinada atividade. Mas o que ocorria em alguns casos que se o participante da atividade que est em espera considerasse que lhe foi dado pouco tempo pra tal atividade e se ele estivesse disponvel para execut-la, ele a iniciava mesmo sem poder informar na ferramenta. Em algumas dessas situaes, no WebAPSEE ficou armazenado que o prazo e o esforo planejados foram cumpridos, porm as entrevistas no-estruturadas mostraram que o prazo de execuo foi maior do que o registrado. Em outros casos houve atrasos, mas foi computado o desvio menor do que o real. Essas observaes evidenciaram a existncia de oportunidades de melhoria sobre a modelagem do processo de desenvolvimento do projeto. Outra lio aprendida est relacionada participao da equipe do projeto na anlise dos indicadores. Logo aps a primeira reunio de anlise, parte dos envolvidos mostrou maior interesse sobre as medies no projeto aps verificar como os indicadores podem ajudar a equipe a analisar seu prprio desempenho e a partir de ento passaram a interagir com os responsveis pela medio sem aguardar serem entrevistados. Vale ressaltar que no foram apresentados valores de prazo e esforo em relao a indivduos, mas sim sobre atividades e iteraes, e dados sobre produtividade foram coletados acerca da equipe como um todo por iterao. Acredita-se que essa estratgia ajudou na colaborao da equipe do projeto com as atividades de medio. 7 Consideraes Finais e Atividades Futuras Este artigo relatou a experincia da implantao de medio em projeto de desenvolvimento de software realizado num contexto de formao nova de equipe e, portanto, ausncia de dados histricos, falta de experincia prtica no uso de medio como apoio gerncia do projeto e esforo de implantao dos processos Gerncia de Projetos e Gerncia de Requisitos do MPS.BR. As principais estratgias consideradas pelo autores como importantes para o sucesso da implantao de medio no projeto so: implantao gradual, observao participativa do contexto, realizao de entrevistas na coleta de dados, pr-anlise dos resultados, apresentao e anlise de indicadores em conjunto com a equipe de desenvolvimento e evoluo do Plano de Medio de acordo com o processo de desenvolvimento e necessidades de informao do projeto. As tomadas de aes no projeto, resultantes da anlise de medies, so consideradas fatores relevantes para avaliao parcial do sucesso da implantao de medio como auxlio gerncia do projeto. Para complementar a avaliao, ao final do projeto ser analisado como tais aes contriburam para o atendimento das metas de negcio do projeto. Como Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas 424 RITA Volume 17 Nmero 3 2010 futuras atividades especficas de medio tm-se a evoluo do Plano de Medio e suas atividades para adotar uma estratgia de auxlio ao controle do projeto e anlise de tendncias, j que no perodo relatado no artigo adotou-se uma estratgia de auxlio ao planejamento e diagnstico das iteraes. Referncias 1. Lima Reis, C. A. Uma Abordagem Flexvel para Execuo de Processos de Software Evolutivos. Tese de Doutorado. Porto Alegre: PPGCC-UFRGS (2003). 2. Fenton, N. E. e Pfleeger, S. L. Software Metrics A Rigorous & Practical Approach. PWS Publishing Company, 2 Edio (1997). 3. Briand, L.; Differding, C.; Rombach, D. Practical Guidelines for Measurement-based Process Improvement. Technical Report of the International Software Engineering Network, ISERN-96-05. 4. Park, R.E., Goethert, W.B., Florac, W.A., Goal-Driven Software Measurement - Guidebook. Handbook CMU/SEI-96-HB-002, Pittsburgh, Software Engineering Institute, Carnegie Mellon University, (1996), http://www.sei.cmu.edu (1996). 5. Schnaider, L.; et al. Uma abordagem para Medio e Anlise em Projetos de Desenvolvimento de Software. III Simpsio Brasileiro de Qualidade de Software (2004). 6. Gresse, C., Punter, T., Anacleto, A.: Software measurement for small and medium enterprises. In: 7th International Conference on Empirical Assessment in Software Engineering (EASE), Keele (2003). 7. Lemos, L., et al. Uso de Prticas de Gerenciamento de Projetos no Desenvolvimento de um Sistema de Apoio a Redes de Pesquisa no Estado do Par. Workshop de Gerncia de Projetos. VIII Simpsio Brasileiro de Qualidade de Software (2009). 8. Softex - Associao para Promoo da Excelncia do Software Brasileiro. MPS.BR - Guia de Implementao Parte 2, v1.1 (2007), http://www.softex.br 9. McConnel, S. Software Estimation: Demystifying the Black Art. Microsoft Press (2006). 10. Nascimento, L. M. A.; et al. Uma abordagem para Medio em um Ambiente de Desenvolvimento de Software Centrado em Processos. In: CLEI - Conferencia Latino Americana de Informtica, Costa Rica (2007). 11. Basili, V. R., Software Modeling and Measurement: The Goal/Question/Metric Paradigm. Technical Report CS-TR-2956, Department of Computer Science, University of Maryland, College Park, MD 20742 (1992). 12. Chrissis, M. B., Konrad, M., Shrum, S., CMMI: Guidelines for Process Integration and Product Improvement, Addison Wesley (2003). 13. Fenton, N.E. e Neil, M. Software metrics: roadmap. International Conference of Software Engineering - Future of Software Engineering Track, p. 357-370 (2000). 14. Pressman, R. Engenharia de Software. So Paulo, McGrawHill (2006). Implantao de Medio no Processo de Desenvolvimento de Software Relato de Experincia e Lies Aprendidas
RITA Volume 17 Nmero 3 2010 425 15. Jones, Capers. Applied Software Measurement Global Analysis of Productivity and Quality. McGraw Hill, 3 rd Edition (2008).