Marquioni
 
 
 
 
Você no Marquioni.com.br
Em breve, você poderá ser um articulista em nosso site. Cadastre-se!
 
Técnico vs. usuário: uma análise do processo comunicacional na Engenharia de Requisitos de Software
Clique aqui para mais informações de como adquirir o livro.
 
 
   
     
 
 
     
 

Selecionar idioma:

Engenharia de Requisitos e Estratégia Organizacional aliadas na implantação de CMMI em Pequenas Empresas
 
 
Autor Carlos Eduardo Marquioni, M.Sc., PMP Luiz Melo Romão, M.Sc. Marcelo Leandro de Borba, M.Sc. Anderson José de Souza
 

Resumo:

O CMMI é referência para a qualidade de software. Contudo, tem sido pouco adotado por pequenas empresas de desenvolvimento, devido principalmente às restrições de pessoal, ao custo com a implementação e manutenção do processo, além da demora no retorno do capital investido. Este artigo propõe uma alternativa para implantação dos processos da engenharia de requisitos presentes no CMMI, aliados ao planejamento estratégico. Esta alternativa possibilitaria uma eventual observação de melhorias em curto espaço de tempo, talvez, motivando a definição incremental dos processos do modelo, inclusive por pequenas empresas. Para subsidiar empiricamente as reflexões propostas, são apresentados dados iniciais de um estudo de caso realizado.
 
Palavras-chave: CMMI; Estratégia Organizacional; Engenharia de Requisitos.
 

1. INTRODUÇÃO

 
A transição do século XX para o século XXI tem marcado a consolidação de um fenômeno importante: a evolução de uma sociedade industrial para uma sociedade da informação (ou do conhecimento). Desempenhando papel de destaque nesta sociedade encontra-se a indústria de software, considerada um setor estratégico para um país, uma vez que o software é protagonista de um conjunto de mudanças tecnológicas por ser um bem econômico que impacta tanto diretamente, na indústria, como indiretamente no restante dos outros setores da economia (ARAUJO; MEIRA, 2005).
 
No Brasil, de acordo com a ABES[6] (2006) o mercado de software é alimentado por cerca de 7.760 empresas dedicadas ao desenvolvimento, produção e distribuição deste tipo de produto, além da prestação de serviços.
As empresas do setor de software e serviços de Tecnologia da Informação são classificadas quanto ao tamanho, entre outros aspectos, em função do número de funcionários[7]. Segundo esta classificação, as empresas de desenvolvimento de software de pequeno porte são a maioria no mercado brasileiro. Considerando a relevância da qualidade do produto para reconhecimento da empresa no mercado, e conhecendo a premissa que “a qualidade de um sistema ou produto é fortemente influenciada pela qualidade do processo utilizado para desenvolvê-lo e mantê-lo” (CMMI, 2006), as pequenas organizações de software iniciaram movimento no sentido de identificar melhorias no modo de gerar o produto que comercializam (TRUDEL et al., 2006).
 
Alguns modelos de maturidade, como CMM, CMMI e ISO/IEC 15504 caracterizam processos de melhoria de software; tais modelos fornecem uma arquitetura de auxílio para definição e mensuração dos processos e práticas a serem utilizadas pelas organizações que desenvolvem software (STAPLES et al., 2007).
 
O CMMI[8] – Modelo de Capacitação e Maturidade – Integração[9] é um dos modelos que sugere boas práticas para o processo de desenvolvimento de software (TRUDEL et al., 2006), combinando práticas de engenharia de sistemas e engenharia de software ao desenvolvimento integrado de processos e produtos (TRUDEL et al., 2006). O modelo foi concebido para permitir que as organizações avaliem sua maturidade e competência em processos, estabelecendo prioridades para o aperfeiçoamento e auxílio no refinamento de suas práticas. Embora seja reconhecido e utilizado mundialmente para orientar as organizações a aperfeiçoarem processos de desenvolvimento, sua implantação em empresas de pequeno porte enfrenta alguns problemas. Segundo Staples et al. (2006), os principais motivos para a não adoção do CMMI em pequenas empresas vêm do fato de essas empresas apresentarem restrições de pessoal, do custo de implantação e manutenção dos processos ser considerado alto e do retorno sobre o investimento ser longo. Em Tjørnehøj (2006), outro fator apresentado pelas pequenas empresas em relação à adoção do modelo CMMI remete a uma suposta perda de agilidade no desenvolvimento de software. Esta abordagem, segundo Wilkie et al. (2005), seria justificada pelo fato de as pequenas empresas geralmente não focarem a garantia da qualidade no processo de desenvolvimento do produto.             Avaliando segundo a abordagem proposta pelo PMBOK[10] (2004), poderia se afirmar que as pequenas empresas entendem qualidade segundo o grupo de processos de Controle, mas não concentram esforços na garantia de qualidade – esta última, segundo o guia do PMI[11], relacionada aos processos de execução: tradicionalmente o foco de qualidade em software é dado ao produto construído (execução de testes basicamente), mas não necessariamente ao processo utilizado para seu desenvolvimento ou manutenção.
A partir desta breve contextualização, este artigo propõe reflexões iniciais e não conclusivas, para a implantação de processos segundo o CMMI em empresas de pequeno porte. Como apoio à argumentação teórica é apresentado, em linhas gerais, um estudo de caso realizado que permitiu observar melhorias a partir do uso de alguns poucos processos recomendados pelo modelo, mas que motivaram a continuidade dos trabalhos na empresa em questão.
 
Além desta primeira seção introdutória, o texto possui outras quatro partes: a segunda destaca a importância do planejamento estratégico, bem como as necessidades de priorização dos processos a serem trabalhados aliados à capacitação dos profissionais da empresa. A seção 3 analisa a relevância de se iniciar o trabalho de melhoria na qualidade de software em pequenas empresas pelos processos relacionados à Engenharia de Requisitos. Na seção 4 são apresentados alguns dos resultados obtidos no estudo de caso realizado. Finalmente, a seção 5 apresenta algumas lições aprendidas e perspectivas futuras em relação ao uso do CMMI em pequenas empresas.
 

2. A ESTRATÉGIA ORGANIZACIONAL

 
A definição da estratégia organizacional pode ser considerada particularmente crítica quando se trata de definição de processos em empresas de pequeno porte, uma vez que a visibilidade de metas possibilita monitorar de forma efetiva as melhorias alcançadas com a definição de processos. Tal monitoramento é relevante inclusive para justificar o investimento realizado. Para melhorar a visibilidade, aspectos de resistência ao uso devem ser previamente equacionados: a pequena empresa deve iniciar a busca pela qualidade a partir da constatação da necessidade de melhoria (e não simplesmente para seguir uma tendência); entende-se que os técnicos e a gerência sênior realizaram reflexões anteriores e constataram a relevância em definir processos para atuar com qualidade e têm noção da importância dessa definição.
 
Como dito anteriormente, empresas de pequeno porte apresentam restrições em relação à quantidade de recursos. Esta limitação é passível de observação também em relação à disponibilidade de profissionais para envolvimento direto no projeto de definição de processos para o CMMI. Assim, a própria formação de grupos de trabalho para compor eventuais frentes paralelas de definição de processos fica comprometida e, provavelmente, as áreas de processo têm que ser formalizadas seqüencialmente. Área de processo para o CMMI é um “agrupamento de práticas relacionadas em uma área que, quando implementadas coletivamente, satisfazem um conjunto de metas consideradas importantes para a melhoria da referida área” (CMMI, 2006). Contudo, esta provável definição seqüencial reforça a importância de estabelecer a priorização dos processos com os quais trabalhar, considerando que uma eventual opção de priorização incorreta pode levar a pouca melhoria observável em curto prazo o que, como comentado, em uma pequena empresa pode inviabilizar a implantação de CMMI. Neste sentido, a empresa submetida à definição de processos deve definir sua estratégia de atuação no mercado; tal estratégia, associada a uma análise de Gap – por exemplo, uma avaliação SCAMPI Classe C (CMMI, 2006) – pode ser determinante para estabelecer a ordem de definição de processos.
 
Outro fator essencial que deve ser considerado para implantar processos CMMI em pequenas empresas é a capacitação preliminar dos profissionais. Casos de pequenas empresas que obtiveram sucesso na adoção do modelo CMMI (GUERRERO; ETEROVIC, 2004) e (GARCIA et al.,2005) mostram que uma das razões que influenciaram o sucesso do projeto foi a participação dos envolvidos em treinamentos sobre as áreas de processos e metas que fazem parte do CMMI, antes do início do projeto. Conforme Guerrero e Eterovic (2004), esta estratégia ajuda os colaboradores a entenderem melhor o quê, como e o porquê, devem desenvolver software utilizando um determinado modelo de controle, e contribui consideravelmente para o sucesso do planejamento do projeto. A favor desta capacitação ainda pode ser comentado que a abordagem potencializa o uso de consultorias externas, no sentido que as horas da consultoria podem ser utilizadas para esclarecimento de dúvidas e análise de alternativas, e não apenas como mero tutorial.
 

3. OS PROCESSOS DA ENGENHARIA DE REQUISITOS

 
A engenharia de requisitos é um subconjunto da engenharia de software que engloba as atividades envolvidas com a descoberta, documentação e manutenção dos requisitos de um produto de software: o termo engenharia se refere a uma abordagem sistemática para a execução destas atividades, aumentando a possibilidade de processos passíveis de serem repetidos e que permitem avaliar se os requisitos estão completos, consistentes e têm relevância no contexto da aplicação em questão (KOTONYA; SOMMERVILLE, 1998).
 
Sob a perspectiva das áreas de processo do CMMI, os processos da engenharia de requisitos estão distribuídos entre várias áreas de processo em dois níveis de maturidade. Esta seção apresenta brevemente os processos da engenharia de requisitos, procura justificar a relação proposta destes processos com as áreas de processo correlatas do CMMI para comentar, em seguida, a razão pela qual parece coerente iniciar as definições de processo em pequenas empresas a partir deste conjunto – ainda que haja níveis de maturidade diferentes envolvidos.
 
Os processos da engenharia de requisitos são usualmente nomeados em Levantamento (ou Elicitação), Análise, Especificação, Validação e Gerenciamento (KOTONYA; SOMMERVILLE, 1998) e (PRESSMAN, 2000). Em um projeto de software típico, estes processos não têm necessariamente execução encadeada no formato cascata, o que significa que podem ser acionados a qualquer momento, como apresentado, por exemplo, no ciclo de vida iterativo proposto em (JACOBSON et al., 1999).
 
Durante o processo de Levantamento o usuário é questionado acerca de suas necessidades em relação ao software, através do uso de uma técnica qualquer de elicitação[12]. A análise de requisitos corresponde ao momento em que as necessidades identificadas junto aos usuários são objeto de considerações e avaliações técnicas, para que possam ser formalizadas (segundo perspectiva e notação técnica) através do processo de Especificação. A Especificação elaborada é submetida à Validação: as abstrações das necessidades pelo técnico são apresentadas aos usuários, para que estes avaliem (validem) se sua solicitação original do software foi adequadamente compreendida e formalizada. Finalmente, é através do processo de Gerenciamento que as várias abstrações de requisitos são rastreadas entre si[13] (e em relação aos artefatos de projeto[14]) para que possam ser realizadas análises de impacto e para controle de versões – tanto no caso de alterações quanto de entregas parciais.
 
No caso do CMMI, uma interpretação possível da distribuição destes processos da engenharia de requisitos remete à área de processo REQM – Requirements Management (Gestão de Requisitos) do nível de maturidade 2 (Gerenciado) e ao menos outra, RD – Requirements Development (Desenvolvimento de Requisitos), relativa ao nível 3 (Definido)[15]. Segundo Chrissis et al. (2003), o nível de maturidade Gerenciado trata basicamente aspectos relacionados à gestão de projetos, enquanto o nível Definido envolve essencialmente processos de engenharia de software em âmbito organizacional: a distribuição dos processos da engenharia de requisitos entre níveis de maturidade distintos é justificável por razões estruturais do modelo.
 
Para evidenciar brevemente a relação com os processos da engenharia de requisitos apresentados, são apresentadas a seguir algumas das práticas específicas[16] definidas pelo CMMI em relação às áreas de processo consideradas. Assim, RD recomenda que sejam executadas, entre outras atividades, a elicitação de necessidades, o desenvolvimento de requisitos do cliente, o desenvolvimento de requisitos do produto, a alocação de requisitos do componente-produto, a análise e validação de requisitos (CMMI, 2006). No que diz respeito a REQM, as práticas específicas executadas envolvem a obtenção de entendimento dos requisitos, de comprometimento em relação aos requisitos, o gerenciamento de mudanças nos requisitos (estabelece inclusive elo com a área de processo de Gestão de Configuração), a manutenção de rastreabilidade bidirecional entre os requisitos e a identificação de inconsistências entre o trabalho do projeto e os requisitos (CMMI, 2006):    os elos entre os processos da engenharia de requisitos e as áreas de processo podem ser constatados inclusive em relação à terminologia empregada.    É possível afirmar então que executar os processos da engenharia de requisitos corresponde a executar, no mínimo, as áreas de processo RD e REQM.
 
A justificativa para definir processos de RD (ainda que se trate uma área de processo do nível de maturidade 3) passa pelo fato que as atividades relacionadas ao levantamento de necessidades e sua formalização técnica estão relacionados à execução de Desenvolvimento de Requisitos. Com isso, parece mais fácil ao técnico de software (e porque não dizer, ao gerente de software) contextualizar as atividades que executa (ou planeja, no caso do gestor) como parte integrante do processo de Engenharia de Software, facilitando a assimilação do processo definido. Em outros termos, uma vez com clara visibilidade das atividades da engenharia com as quais estão envolvidos no dia-a-dia, os técnicos e gestores passam a compreender a relevância da execução destas atividades. Indubitavelmente, a institucionalização do processo é facilitada quando isto ocorre, a questão do nível de maturidade a que uma determinada área de processo pertence fica transparente aos afetados, e mesmo as atividades de gestão de requisitos passam a ser observadas pelos técnicos como parte das atividades técnicas (principalmente se a rastreabilidade for definida como parte integrante da especificação do requisito, e não como uma atividade independente).
 
Há que se destacar o fato de tipicamente haver esforço significativo do desenvolvimento em pequenas empresas associado à codificação, mas pouco para tratar das atividades da engenharia de requisitos[17]; isto pode provocar resistência na definição, implantação e institucionalização dos processos. Neste caso uma estratégia a adotar envolve argumentação que, além da facilidade de assimilação, o início da definição de processos pela engenharia de requisitos (RD + REQM) pode ser compreendido como o embrião e alicerce para as demais áreas de processo do nível 2 staged, independente da ordem de prioridade estabelecida em relação ao:
  • PP – Project Planning (Planejamento de Projeto): os requisitos identificados podem ser entendidos neste caso como a referência para a estimativa, elaboração do plano de projeto, definição de prioridades por iteração, cronograma e para firmar os compromissos entre afetados;
  • PMC – Project Monitoring and Control (Monitoração e Controle de Projeto): a abordagem de acompanhamento pode ser estabelecida a partir dos requisitos formalizados e gerenciados (inclusive para efeito de variações de escopo);
  • CM – Configuration Management (Gestão de Configuração): os requisitos gerenciados constituem a referência primária para o controle de versões e ciclo de vida da mudança;
  • MA – Measurement and Analysis (Medição e Análise): os requisitos caracterizam fonte precisa para medir variações de projeto;
  • SAM – Supplier Agreement Management (Gestão de Acordo com Fornecedores): os requisitos constituem referência principal para eventual subcontratação ou estabelecimento de parcerias;
  • PPQA – Process and Product Quality Assurance (Garantia de Qualidade de Processo e Produto): os processos de requisitos podem ser os primeiros a se submeter às auditorias.
 

4. ESTUDO DE CASO

 O estudo de caso selecionado para debate neste artigo foi realizado na Dalmark Systems[18], uma empresa que desenvolve e comercializa um software ERP localizada em Joinville/SC. A Dalmark é classificada como de pequeno porte, de acordo com a definição da ABES apresentada anteriormente, e foi selecionada por fazer parte de um projeto de melhoria de software do governo do Estado de Santa Catarina – nomeado projeto Platic –, que contou com participação dos autores deste trabalho[19].
 
Antes de iniciar o projeto de definição de processos segundo o CMMI, a Dalmark passou por planejamento estratégico que redefiniu sua atuação no mercado. A empresa migrou de um modelo baseado em serviços para outro, baseado em produto, optando por desenvolver e comercializar um produto padrão destinado a pequenas e médias indústrias. A mudança no planejamento estratégico da empresa motivou a gerência sênior a investir em melhoria de qualidade do desenvolvimento do software, visto que o modelo de atuação definido pressupunha um produto de software estável, com pouca necessidade de correções: o foco deixou de ser nos serviços de customização.
 
A opção pelo início das atividades com as áreas de processos relacionados à engenharia de requisitos foi enfatizada a partir de reflexões resultantes de uma análise de Gap (SCAMPI Classe C) contratada previamente pela Dalmark, e pelo fato que uma consultoria externa apontara à Dalmark a necessidade de atuar com processos de testes de software. Debate entre os técnicos, a gerência sênior, e os autores deste artigo levou ao consenso que, para que os testes fossem bem sucedidos, era necessário obter acordo acerca de o que deveria ser testado e como. Em outros termos, quais requisitos seriam testados e a sistematização dos testes. A partir destas definições, os participantes do projeto foram submetidos a treinamentos, através do projeto Platic comentado acima: tanto em relação ao CMMI (conceitos básicos e cada área de processo do ML-2[20]), quanto a notações técnicas (casos de uso, particularmente). Parece ainda relevante destacar que os treinamentos ministrados atuavam com a representação em estágios do CMMI, e que a Dalmark, analisada neste estudo de caso, tem interesse em uma futura avaliação formal em relação a esta representação do CMMI: esta é razão pela qual o trabalho não entra no mérito de debater a representação contínua como alternativa de implantação do modelo.
 
Diante deste cenário, foram revistos os processos de definição de requisitos executados pela Dalmark, procurando adequá-los àqueles requeridos pelas áreas de processo relativas à engenharia de requisitos no CMMI, comentados na seção três do artigo[21]. Durante a revisão dos processos da engenharia de requisitos foram recomendados modelos para especificação da lista de requisitos, assim como a transcrição destes requisitos na forma de diagramas de casos de uso (SCHENEIDER; WINTERS, 2001). A opção da empresa em utilizar casos de uso, foi justificada não apenas pela facilidade de identificação de ferramentas que suportam a notação UML[22] e pela tendência mundial neste tipo de modelagem, mas também pela possibilidade de aplicar reutilização já no nível conceitual e derivar casos de teste a partir da especificação de casos de uso, uma vez que estes diagramas seriam criados considerando o ciclo de vida de especificação do diagrama[23]. Houve ainda preocupação adicional, durante a confecção da lista de requisitos, em procurar causas raízes[24] para os requisitos, justificando-os a partir de processos de negócio. Concluída a definição dos processos, a Dalmark iniciou o amadurecimento do novo processo de engenharia de requisitos, repassando-o para os setores da empresa que não tiveram participação direta durante sua definição.
 
De acordo com a gerência sênior, o trabalho de capacitação foi fundamental na absorção dos novos conceitos de qualidade de software, engenharia e planejamento de projetos. Este conhecimento formou a base que era necessária para a equipe visualizar o projeto como um todo, e de que forma os processos internos seriam impactados, o que foi determinante para o sucesso do projeto.       Em relação à adoção da melhoria da qualidade iniciada pela Engenharia de Requisitos, a gerência sênior afirma que: “a engenharia de requisitos passou a ser considerada fundamental, pois a documentação gerada a partir desta fase permeará todo o fluxo de desenvolvimento, onde o produto final será validado em relação aos requisitos originais. A engenharia de requisitos constitui uma das bases de sustentação dos processos de desenvolvimento de software, em que a qualidade é abrangida desde a concepção do produto, e não somente na fase de testes, como é abrangida na metodologia tradicional” (ENTREVISTAS, 2007).
 
Vale ressaltar que caso a aplicação da abordagem sugerida se demonstre efetiva em outros estudos de caso, pode ser sugerida reflexão futura acerca do espaçamento da distribuição das áreas de processo de requisitos ao longo dos níveis de maturidade propostos pelo modelo de qualidade brasileiro, o MPS.BR (2007). Este modelo, que tem como uma das referências o CMMI-SE/SW, possui uma estrutura em sete níveis de maturidade (e não cinco como no caso do CMMI). A reflexão poderia eventualmente analisar a distribuição dos processos, e seria justificada pelo fato que embora a gestão de requisitos seja um processo do primeiro nível de maturidade no MPS.BR, o nível G, os processos de desenvolvimento de requisitos são trabalhados sistematicamente apenas 3 níveis de maturidade depois (no nível D).
 

5. LIÇÕES APRENDIDAS E PERSPECTIVAS FUTURAS

 
As dificuldades apontadas pela gerência fazem referência direta à estrutura da empresa, particularmente a quantidade de recursos disponíveis. Uma dessas dificuldades envolveu encontrar o equilíbrio entre os requisitos necessários para cada processo e a forma como eles seriam atendidos no processo definido; outro aspecto relevante foi o alinhamento das práticas recomendadas pelo CMMI à vida prática – neste segundo caso, os treinamentos oferecidos possibilitaram à equipe absorver rapidamente os novos conceitos e executar sua aplicação, o que foi determinante para o sucesso do projeto.
 
Além disso, a mudança de cultura, tanto interna quanto em relação aos clientes, que ocorre quando processos são revisados, foi a principal alteração observada nos membros da equipe. A visão de qualidade de software e planejamento de projeto foi aumentando à medida que os membros da equipe observaram os resultados práticos da aplicação dos novos conceitos na metodologia de desenvolvimento. Para alguns analistas da empresa, desde os momentos iniciais, já foi possível observar pontos positivos do novo modelo em relação à redução de defeitos, entregas em dia, processos bem definidos, melhor visibilidade do impacto das alterações efetuadas no ERP comercializado, menos retrabalho e melhoria no relacionamento com o cliente. Alguns depoimentos puderam comprovar estes fatos: “conversando com alguns clientes sobre essas mudanças, o importante para eles é a qualidade do produto, isto é, um produto que tenha poucos erros e retrabalho. Além disso, a forma que estamos gerando a documentação de análise das novas rotinas, também agradou os nossos clientes. Eles estão sentindo mais segurança em baixar uma nova atualização do produto” (ENTREVISTAS, 2007); ainda completando, “um bom controle de todos os requisitos existentes no sistema trará para os clientes uma boa segurança em relação ao produto existente” (ENTREVISTAS, 2007); e a opinião de uma outra analista da Dalmark, “minha rotina de trabalho foi alterada no sentido de analisar as solicitações de clientes com mais critério. A partir do que vimos nos treinamentos, colocamos em prática o que era viável e, com esta mudança, tornamos as análises mais detalhadas e documentadas, prevendo possíveis pontos de erro no desenvolvimento por falta de entendimento total ou parcial da solicitação do cliente” (ENTREVISTAS, 2007).
 
A utilização do modelo CMMI em pequenas empresas deve ser visto por este tipo de produtores de software como um projeto em longo prazo, que não venha a prejudicar o andamento da empresa e sim, com ações bem planejadas, melhorar de forma incremental a qualidade do produto. Como perspectivas futuras de trabalho, os autores pretendem continuar propondo alternativas para a implementação do modelo em pequenas empresas (eventualmente considerando as demais áreas de processo). A gerência sênior e os profissionais técnicos da Dalmark, por sua vez, pretendem continuar a definição de processos de forma gradual para uma futura avaliação oficial.
 
É fundamental que resultados intermediários significativos sejam apresentados continuamente, para justificar o investimento e o aumento da burocracia associada ao processo de desenvolvimento, como comenta a analista de negócios da Dalmark: “talvez haja a impressão de menos agilidade no processo de desenvolvimento, mas sabemos que isso se faz necessário quando queremos fazer o trabalho uma única vez e com qualidade; já tivemos várias experiências de entregarmos o desenvolvimento rápido, mas sem a qualidade desejada pelo cliente, gerando retrabalho para nós e insatisfação para o cliente” (ENTREVISTAS, 2007).


[1] Artigo apresentado no IV SBSI (Simpósio Brasileiro de Sistemas de Informação), realizado na UNIRIO em Abril/2008. Esta versão do artigo foi refinada a partir das contribuições sugeridas durante a apresentação do trabalho no IV ESELAW (Experimental Software Engineering Latin American Workshop), realizado no IME/USP em Dezembro/2007.
[2] marquioni@marquioni.com.br – Mestre em Comunicação e Linguagens (UTP/2008) e Bacharel em Análise de Sistemas (PUC-Campinas/1994).
[5] anderson.jose@univille.net
[6] Associação Brasileira das Empresas de Software.
[7] Em relação à quantidade de funcionários, 36% das empresas de software se enquadram na classificação de Micro Empresas (até 9 funcionários), e 44% se classificam como Pequenas (entre 10 e 49 funcionários). Quanto à área de atuação, 64% das empresas de software prestam serviços de desenvolvimento de aplicativos (ABES, 2006).
[8] Ao longo de todo o texto, quando utilizado o termo CMMI, os autores se referem à constelação Development, representação Staged e versão 1.2. Uma vez que este modelo de maturidade utiliza jargão e estruturação interna próprios, é fundamental conhecimento deste jargão e estrutura para compreensão do trabalho, ainda que haja algumas explicações ao longo do artigo – é recomendável a leitura de (CMMI, 2006, pp. i-vi; p. 3-71).
[9] Tradução dos autores deste trabalho para Capability Maturity Model Integration.
[10] Project Management Body of Knowledge.
[11] Project Management Institute – www.pmi.org.
[12] Há várias técnicas de elicitação que podem ser aplicadas durante a execução deste processo. Algumas mais conhecidas envolvem entrevistas, workshops de requisitos, brainstorming, criação de storyboards, entre outras. Para informações adicionais, consulte (LEFFINGWELL; WIDRIG, 2006).
[13] Como exemplos destas várias abstrações podem ser citados diagramas de casos de uso, modelos de classes e, no limite, programas fonte.
[14] A rastreabilidade entre os requisitos e artefatos do projeto se justifica pois é relevante, por exemplo, identificar no cronograma as datas nas quais um determinado requisito será codificado, testado, implantado; mudanças nos requisitos podem eventualmente alterar estas datas.
[15] Para não prolongar muito a análise, não serão consideradas outras áreas de processo do nível Definido que também possuem relação com os processos da engenharia de requisitos: TS – Technical Solution (Solução Técnica) e PI – Product Integration (Integração de Produto), pois para os objetivos deste trabalho, RD parece suficiente.
[16] Prática específica é um termo técnico associado à estruturação do modelo que recomenda, basicamente, atividades a executar e artefatos típicos relacionados às áreas de processo. Para informações sobre práticas específicas, e outros componentes do CMMI, consulte (CMMI, 2006).
[17] Avaliar o quanto esta realidade pode ser observada também em grandes empresas fornecedoras de software caracteriza um instigante projeto de pesquisa
[18] www.dalmark.com.br.
[19] Para informações sobre o projeto Platic, consulte (CORAL; PEREIRA; BIZZOTTO, 2007); para detalhes sobre o envolvimento dos autores do trabalho no projeto Platic, consulte (BORBA; MARQUIONI; ROMÃO; SOUZA, 2007).
[20] ML-2 (Maturity Level 2): refere-se ao nível de maturidade 2 (Gerenciado) do CMMI. Pode ser entendida também como uma forma resumida de informar que se trata da representação staged, visto que na representação contínua se referencia o CL (Capability Level).
[21] Parece novamente importante destacar a necessidade de ultrapassar os limites das áreas de processo do nível de maturidade 2, visto que para que ocorra gestão de requisitos de forma efetiva é fundamental a identificação, formalização e contextualização técnica destes requisitos que possibilite executar a atividade de validação junto aos usuários.
[22] Unified Modeling Language.
[23] O ciclo de vida de casos de uso prevê a elaboração de Esboço, Refinamento e Estruturação (uso de relacionamentos include, extend e generalização). Para conceitos e reflexões sobre ciclo de vida de modelagem de casos de uso consulte (LEFFINGWELL; WIDRIG, 2006).
[24] Para conceitos e reflexões sobre causas raízes de problemas consulte (LEFFINGWELL; WIDRIG, 2006).
 
 

Referências

ABES – Associação Brasileira de Empresas de Software – Mercado Brasileiro de Software – Panorama e Tendências, 2006. Disponível em: http://www.abes.org.br/ UserFiles/Image/PDFs/Mercado_BR2006.pdf. Acesso em: 05/03/2007.
ARAÚJO, E. E. R., MEIRA, S. R. L. Inserção Competitiva do Brasil no Mercado Internacional de Software, 2005. Disponível em: http://www.softex.br/mpsbr/ _artigos/artigo.asp?id=381. Acesso em: 05/03/2007.
Borba, M.L., Marquioni, C.E., Romão, L.M. e Souza, A.J. Meta 2: A importância da Engenharia de Requisitos como primeiro passo para projetos de CMMI em pequenas empresas – Estudo de Caso. ___In: Coral, E., Pereira, V.A. e Bizzotto, C.E.N. (orgs.). Platic: Arranjo Produtivo Catarinense – Tecnologia da Informação e Comunicação, IEL/SC, 2007, pp. 81-99.
CHRISSIS, Mary Beth; KONRAD, Mike; SHRUM, Sandy. CMMI Guidelines for process integration and product improvement. Boston: Addison-Wesley, 2003.
CORAL, E., PEREIRA, V.A.; BIZZOTTO, C.E.N. (orgs.). Platic: Arranjo Produtivo Catarinense – Tecnologia da Informação e Comunicação, IEL/SC, 2007.
CMMI.CMMI for Development – Improving processes for better products. Pittsburgh, v.1.2, 2006. Disponível em: http://www.sei.cmu.edu/pub/documents/06.reports/ pdf/06tr008.pdf. Acesso em: 18/01/2007.
CMMI. Appraisal Requirements for CMMI®, Version 1.2 (ARC, V1.2) – SCAMPI Upgrade Team, 2006. Disponível em http://www.sei.cmu.edu/pub/ documents/06.reports/pdf/06tr011.pdf. Acesso em 05/03/2007.
ENTREVISTAS dos profissionais Dalmark concedidas por e-mail para registros do Projeto Platic. Joinville, 15/03/2007.
GARCIA, S., CEPEDA, S., Staley, M. J., MILUK, G. Lessons Learned From Adopting CMMI for Small Organizations, 2005. Carnegie Mellon Software Engineering Institute. Disponível em: http://www.dtic.mil/ndia/2004cmmi/CMMIT7WedPM/ 4LessonsLearned.pdf. Acesso em: 05/03/2007.
GUERRERO, F.; ETEROVIC, Y. Adopting the SW-CMM in a Small IT Organization, IEEE Computer Society, Vol.21/4 pp 29-35, July-Aug. 2004.
JACOBSON, Ivar; BOOCH, Grady; RUMBAUGH, James. The Unified Software Development Process. BOSTON: Addison-Wesley, 2001.
KOTONYA, Gerald; SOMMERVILLE, Ian. Requirements Engineering: Processes and Techniques.New York: John Wiley & Sons Inc, 1998.
LEFFINGWELL, Dean; WIDRIG, Don. Managing Software Requirements – Second Edition – A use case approach. Boston: Addison-Wesley, 2006.
MPS.BR. Guia Geral v. 1.2. Disponível em http://www.softex.br/mpsbr/_guias/ MPS.BR_Guia_Geral_V1.2.pdf. Acesso em: 07/09/2007.
PMBOK. Um Guia do Conjunto de Conhecimentos em Gerenciamento de Projetos. 3th ed. Four Campus Boulevard, Newtown Square: PMI Publications, 2004.
PRESSMAN, Roger. Software Engineering: A Practitioner’s Approach European AdaptationLondon: McGraw Hill International Limited, 2000..
SCHNEIDER, Geri; WINTERS, Jason P. Applying Use Cases: A practical guide. Boston: Addison-Wesley, 2001.
STAPLES, M., NIAZI, M., JEFERY, R., ABRAHAMS, A., BYATT, P., MURPHY, R. An Exploratory Study of Why Organizations Do Not Adopt CMMI, In Journal of Systems and Software, Elsevier, No. 80, pp. 883-893, 2007.
TJøRNEHøJ, G. Improving Agile Software Practice. ___In: Proceedings of the 29th Information Systems Research Seminar in Scandinavia. Helsingør, Danmark, 2006.
TRUDEL, S., LAVOIE, J. M., PARÉ, M. C., SURYN, W. PEM: The small company-dedicated      software process evaluation method combining CMMISM and ISO/IEC 14598. ___In: Software Quality Journal, Vol.14, No.1 pp. 7-23, March 2006.
WILKIE, F. G., MCFALL, D. e MCCAFFERY, F. An evaluation of CMMI process areas for small-to-medium-sized software development organizations. ___In: Software Process: Improvement and Practice, Vol10, Issue 2, p.189, 201, May 2005.
 

Congresso

Artigo apresentado no IV SBSI (Simpósio Brasileiro de Sistemas de Informação), realizado na UNIRIO em Abril/2008.
 
 
 
 
Selecionar idioma:
 
Artigos  |  Seja um Articulista  |  Cadastre-se  |  Links  |  RSS  |  Administrar
pH Design Desenvolvido por pH Design | Copyright © 2008