Como é que as ferramentas de SCM (Software Configuration Management) podem ajudar na melhoria de processos de acordo com o modelo CMMI (Capability Maturity Model Integration)? Este artigo aborda o ponto de vista da IBM Rational. No entanto, o leitor poderá extrapolar para outras ferramentas análogas, ou mesmo para o modelo SPICE (Software Process Improvement and Capability dEtermination), também conhecido por norma ISO/IEC 15504.
Uma vez que a IBM Rational fornece soluções de desenvolvimento de software, vê-se frequentemente envolvida em actividades de melhoria de processos, utilizando para isso o modelo CMMI do SEI (Software Engineering Institute). Evidentemente, as ferramentas de desenvolvimento de software, por si só, não são suficientes para garantir bons níveis de maturidade dos processos, mas podem auxiliar.
As ferramentas da IBM Rational a que se refere este artigo são as de gestão de configurações e alterações, ou seja, o ClearCase e o ClearQuest. Estas duas ferramentas são utilizadas em conjunto com a gestão unificada das alterações (UCM - Unified Change Management).
Recorde-se que a UCM é a abordagem da IBM Rational para a gestão das alterações no desenvolvimento de sistemas de software, desde os requisitos à entrega do produto. Esta abordagem abarca todo o ciclo de desenvolvimento, definindo a forma de gerir as alterações de requisitos, de modelos de desenho, de documentação, de componentes, de casos de teste e de código fonte.
A UCM baseia-se em dois conceitos importantes: actividade e artefacto. Uma actividade é uma porção de trabalho a realizar destinada a provocar avanços no estado do projecto. Uma actividade pode ter origem num tópico levantado numa reunião, num defeito introduzido numa base de dados de defeitos, ou num pedido de alteração enviado por um cliente. As actividades estão ligadas às funcionalidades e aos requisitos do produto.
Um artefacto é um item (normalmente um ficheiro) que deve estar sob controlo de versões. Num nível mais conceptual, os artefactos podem ser requisitos, testes, modelos visuais, código, planos de projecto, etc. Ou seja, pode ser basicamente qualquer item que o projecto precise de gerir e de controlar. O aspecto mais importante da UCM é o facto de se planear e desenvolver um projecto tendo como base as actividades. Qualquer alteração que se pretenda efectuar ao projecto terá que ser feita ao abrigo de uma determinada actividade.
O que é o CMMI
O SEI tem estado envolvido na melhoria de processos de software há cerca de uma década e a sua framework CMMI fornece orientações para a melhoria de processos e de produtos. Estas orientações incluem informação sobre práticas chave da indústria que devem ser implementadas para auxiliarem na obtenção do sucesso dos projectos de software. O modelo CMMI SE/SW V1.1 consiste em 22 áreas de processo (PA - Process Areas) que constituem a base de qualquer modelo de maturidade ou de capacidade aplicáveis a todas as disciplinas. Além deste núcleo de áreas de processo comuns a todas as disciplinas, são igualmente disponibilizadas áreas de processo específicas para cada uma das disciplinas em particular.
Em modelos CMMI por estágios (ou por etapas) são previstos cinco níveis de maturidade:
Actualmente, a maior parte das organizações de software funcionam no nível 1 de maturidade. Muitas delas pretendem alcançar o nível 4 e o nível 5, mas obtêm grandes benefícios nos níveis 2 e 3 e ficam-se por aí.
O modelo CMMI divide os cinco níveis de maturidade referidos em áreas de processo (ou PAs - Process Areas). Por sua vez, estas últimas contém Objectivos Genéricos agrupados em quatro características comuns:
É no contexto destas características comuns que o CMMI fornece linhas de orientação para a melhoria dos processos de software para todas as PAs em cada nível. Apesar do CMMI fornecer orientações genéricas e alguns exemplos das funções, actividades e artefactos que podem ser utilizados para implementar as práticas chave, deixa que os detalhes de implementação se adeqúem às necessidades específicas daqueles que procuram aumentar a maturidade dos seus processos de software. Esses detalhes incluem a selecção do conjunto de métodos, técnicas e ferramentas mais adequados a implementar, bem como a sua implementação na altura certa e com as pessoas correctas.
Para uma maior familiarização com o modelo CMMI, convirá visitar o site do SEI em http://www.sei.cmu.edu/cmmi.
Suporte do CMMI pela UCM e pelas ferramentas da Rational - Nível 2
De seguida, descreve-se (em linhas gerais) a forma como as ferramentas IBM Rational ClearCase e ClearQuest suportam cada PA do nível 2.
PA Gestão de Requisitos. A utilização da UCM com o ClearCase e o ClearQuest fornece suporte CMMI sempre que os requisitos de sistema alocados ao software são alterados. Os artefactos do ClearCase afectados pelas alterações têm que ser associados a uma actividade na UCM. Consequentemente, só os documentos e o código afectados, que são agora consistentes com os requisitos actualizados, fazem parte da baseline a ser disponibilizada.
PA Planeamento de Projectos. O plano de desenvolvimento de software de um projecto e as suas alterações podem ser geridas e controladas utilizando o ClearCase e o ClearQuest. Os diagramas de distribuição do ClearQuest podem ser utilizados para ver a quem foram atribuídos os pedidos de alterações (em quantidade e por data), permitindo assim uma boa distribuição e calendarização das actividades pelos recursos.
PA Supervisão e Acompanhamento de Projectos. A utilização do add-in Project Tracker do ClearQuest permite que os progressos reportados nesta ferramenta possam ser transferidos automaticamente para o Microsoft Project. Desta forma, um gestor de projecto pode actualizar em qualquer altura o plano de projecto com a informação mais actualizada e fidedigna. Além disso, as alterações aprovadas (objecto de compromissos) que afectam o projecto são comunicadas utilizando a funcionalidade de notificação via e-mail do ClearQuest.
PA Gestão de Acordos com Fornecedores. Ao exigir-se que os fornecedores utilizem a UCM com o ClearCase e o ClearQuest, está-se a disponibilizar um suporte significativo para a gestão efectiva do seu progresso ao longo do tempo. Além disso, os ClearCase e ClearQuest Multi-site podem ser utilizados para gerir as configurações e as alterações no caso de fornecedores geograficamente dispersos.
PA Medição e Análise. Muitas das ferramentas integradas da IBM Rational, como o ClearCase, o ClearQuest, o RequisitePro e o ProjectConsole, fornecem funcionalidades que simplificam a recolha de métricas simplesmente através da automatização do processo de engenharia com elas. Contudo, para atingir esta área de processo será necessário algum trabalho adicional e documentação para demonstrar como as métricas recolhidas se alinham com os objectivos de negócio da organização.
PA Garantia da Qualidade de Software. O plano de garantia da qualidade de software de um projecto e as suas alterações pode ser gerido e controlado através da utilização do ClearCase e do ClearQuest. Este último pode ser utilizado para documentar e acompanhar os desvios identificados nas actividades de software e nos work-products. Estas funcionalidades fornecem uma visibilidade apropriada sobre os produtos que estão a ser construídos.
PA Gestão de Configurações de Software. Uma constante em todos os projectos é a mudança. As alterações podem ser mudanças nos requisitos, no planeamento ou no orçamento. As alterações nos requisitos causam tipicamente um efeito que se propaga por múltiplos work-products, interfaces de projecto, calendário e orçamento. É, portanto, imperativo assegurar a consistência entre os vários work-produts e os requisitos. O mecanismo para assegurar esta consistência é a gestão de configurações.
Os work-products controlados de um projecto são tipicamente documentação (planos, calendários e outros documentos), software ou hardware. Cada um destes itens deve ser considerado para controlo, de modo a que as alterações sejam percebidas de uma versão para a outra. A gestão de configurações e de alterações ajuda a assegurar que um entregável corresponde aos requisitos especificados.
A disciplina do RUP designada por gestão de configurações e alterações satisfaz muitos dos requisitos da gestão de configurações do CMMI. O RUP exige que seja elaborado um plano de gestão de configurações que irá detalhar os procedimentos necessários para executar as tarefas de gestão de configurações. No entanto, este plano, por si só, não será suficiente para o nível 2 do CMMI, uma vez que só fornece guias gerais e não procedimentos específicos do projecto.
Muitos dos relatórios, estados de configuração e métricas podem ser automatizados utilizando o ClearCase e o ClearQuest. Na verdade, estas ferramentas foram construídas especificamente para auxiliar as organizações a efectuar as tarefas de gestão de configurações de uma maneira mais eficiente e eficaz.
Suporte do CMMI pela UCM e pelas ferramentas da Rational - Nível 3
A UCM suporta as Práticas Genéricas do nível 3 do CMMI através da gestão dos artefactos produzidos para um ciclo de vida de software definido. Suporta as PAs Enfoque nos Processos Organizacionais, Definição do Processo Organizacional e Formação Organizacional porque fornece automação para o processo definido e permite a incorporação das políticas e orientações de SCM enquanto decorre o processo de SCM.
Estas ferramentas também suportam as PAs de Ambiente Organizacional para Integração, Gestão Integrada de Projectos, Gestão Integrada de Fornecedores e Integração de Equipas porque permitem o desenvolvimento paralelo e espaços de trabalho pessoais, além de garantirem a integridade do processo SCM. A PA Análise e Resolução das Decisões é suportada porque permitem o acesso fácil aos artefactos de desenvolvimento que estão a ser analisados e reportam o seu estado e progresso.
Mais especificamente, um dos pontos fortes do ClearQuest reside na sua capacidade para gerir o impacto das alterações, incluindo o acompanhamento, a medição e o reporting. Esta ferramenta de gestão das alterações permite que uma equipa de projecto, além de recolher os pedidos de alterações, também recolha metadados sobre as alterações. Estes metadados (por exemplo, magnitude da gravidade e do impacto nos custos), aliados a um modelo bem definido do estado da gestão das alterações, podem conter toda a informação essencial para gerir a eficácia da integração do projecto. Por exemplo, pode ser criada uma métrica de gestão de projecto para recolher o número e a magnitude dos principais impactos adversos não antecipados para o projecto de software, acompanhados ao longo do tempo.
Suporte do CMMI pela UCM e pelas ferramentas da Rational - Níveis 4 e 5
O ClearQuest fornece um conjunto robusto de métricas de projecto para controlar quantitativamente o desempenho do processo de software (nível 4) e para analisar os defeitos (nível 5), a fim de se tomarem medidas específicas que possam ajudar a prevenir a ocorrência de futuros defeitos e a optimizar o processo de desenvolvimento de software. Um dos aspectos fortes desta ferramenta tem a ver com o facto de poder ajudar a recolher metadados de pedidos de alterações e depois medir e reportar o estado da alteração.
Uma equipa de projecto pode recolher detalhes descritivos sobre um defeito, a origem desse defeito e/ou o seu estado corrente no processo correctivo. Se estiverem a ser utilizadas outras ferramentas da solução IBM Rational Suite, então alguma da informação anterior poderá ser recolhida directamente a partir do repositório da solução integrada de ferramentas. Por exemplo, as unidades que contêm o defeito ou o script de teste em que ocorreu o defeito, poderiam ter sido identificadas com base no repositório de testes da Rational quando o defeito foi escrito no Test Manager.
No caso de se utilizarem outras ferramentas, qualquer membro do projecto que utilize a interface Web do ClearQuest poderá introduzir toda esta informação. Uma vez recolhidos os metadados, o ClearQuest fornece as queries, os gráficos e os relatórios para monitorar o estado das actividades de SCM através da utilização desses metadados (por exemplo, número e gravidade dos defeitos). Apesar da maior parte das métricas deste tipo não serem disponibilizadas out-of-the-box, o ClearQuest vem com funcionalidades de query, de gráficos e de relatórios fáceis de utilizar para a criação de queries de acompanhamento dos defeitos. Podem ser criados gráficos para detalhar os defeitos em função da sua gravidade, bem como para acompanhar o seu estado durante o processo de correcção.
As ferramentas da Rational foram concebidas para auxiliar as organizações ou os projectos a alcançar todos os níveis de maturidade previstos pelo modelo CMMI. Mas apesar das ferramentas Rational ClearCase e ClearQuest, conjuntamente com a UCM, permitirem responder às necessidades dos clientes em termos de CMMI, não existe nenhuma ferramenta que se possa afirmar como a solução para todos os problemas.
Baseado no artigo "How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model", de Bill Cottrell e John Viehweg, especialistas em engenharia de software na Rational Software.
Produzido em 2005