Apesar de abarcar actualmente uma grande variedade de áreas no mercado das tecnologias de informação - eLearning, Segurança da Informação, Business Intelligence, Mobile Solutions, Gestão de Projectos, Outsourcing, Hipermédia, Internet Development, etc. - a Sinfic começou a sua actividade como software-house. Actualmente, o desenvolvimento de software ainda ocupa uma posição cimeira na actividade da empresa. Para contrariar o ditado "em casa de ferreiro, espeto de pau", no Caso desta semana vamos falar da utilização da gestão de requisitos na própria Sinfic - mais concretamente, na sua unidade estratégica de negócio Projectos Especiais.
O Contexto
A Sinfic está organizada em mais de dezena e meia de unidades estratégicas de negócio, cada uma com competências específicas numa determinada área. A unidade estratégica de negócio Projectos Especiais age como uma espécie de cola, unindo as várias unidades a nível tecnológico. De uma forma resumida, esta unidade tem agido muito nas áreas do desenvolvimento de software à medida e da integração de sistemas. As aplicações baseadas na Web é uma das áreas com grande expressão nesta unidade de negócio.
A gestão de requisitos é uma prática corrente da actividade desta unidade de negócio desde sempre. Desde 2002, resolveu apostar numa ferramenta própria para essa actividade (RequisitePro), essencialmente por três razões:
Os requisitos são essenciais para o desenvolvimento de qualquer aplicação, uma vez que são eles que ditam aquilo que se vai fazer. Muitos projectos falham porque começam sem se saber muito bem aquilo que se vai fazer. Começa-se então por definir uma arquitectura com base numa ideia difusa daquilo que se pretende. Desta forma, à medida que for sendo esclarecido aquilo que se pretende, vão-se acrescentando à arquitectura de base as funcionalidades consideradas necessárias.
O problema desta forma de trabalhar reside exactamente nesse início dos projectos bastante às cegas. Em projectos de pequena dimensão e sem grande complexidade, esta abordagem funciona sem grandes problemas. No entanto, quando aumenta a complexidade, corre-se o risco de ter que reestruturar as aplicações (para suportarem novos requisitos) várias vezes ao longo do projecto - aumentando os custos e os prazos.
Segundo Humberto Bento, gestor de projectos na unidade estratégica de negócio Projectos Especiais da Sinfic, "é impossível efectuar o desenvolvimento de uma aplicação de forma correcta e o menos onerosa possível sem saber o que se pretende".
Evidentemente, no início de qualquer projecto é quase sempre impossível ter uma ideia exacta do produto final. No entanto, um bom levantamento de requisitos (e subsequente gestão dos mesmos) permitirá começar o projecto com bases sólidas, minimizando o risco de necessitar de reestruturar drasticamente essas bases.
Por outro lado, o levantamento inicial dos requisitos permite calendarizar e orçamentar os projectos de forma realista, diminuindo consideravelmente o risco de incumprimento dos prazos e dos orçamentos iniciais (uma prática infelizmente frequente).
A Necessidade
A Sinfic já foi certificada de acordo com a norma ISO 9001:2000 em 2004. Por outro lado, quer obter a certificação de acordo com o nível dois do CMMI (Capability Maturity Model Integration) em finais deste ano para três das suas unidades estratégicas de negócio - Projectos Especiais, Internet Development e Concepção e Desenvolvimento de Produtos. Em 2006, mais seis unidades deverão ser submetidas à avaliação CMMI para serem certificadas com o nível dois.
Esta aposta clara na qualidade dos processos impõe o recurso à gestão de requisitos, em particular, e à "ferramentização" de todo o processo de desenvolvimento, em geral.
Os requisitos têm um ciclo de vida próprio, características e são classificáveis (prioridade, grau de complexidade, risco, custo, exequibilidade, etc.). Estes aspectos, aliados ao cruzamento de requisitos e ao cruzamento destes com as suas consequências (casos de uso e outros), aumentam consideravelmente a complexidade.
Por outro lado, a gestão dos requisitos ao longo do projecto é fundamental, sobretudo quando se trata de projectos com alguma dimensão. Nestes contextos, deixa de ser possível utilizar uma simples folha de papel ou os tradicionais programas do Office para registar os requisitos e as subsequentes alterações e gestão dos mesmos ao longo do projecto.
Uma ferramenta de gestão de requisitos permite geri-los de forma racional e torná-los acessíveis e compreensíveis para qualquer elemento da equipa (ou equipas) de projecto, colocando todos a trabalhar em sintonia para um fim comum. No fundo, uma boa gestão de requisitos destina-se a simplificar a complexidade, ou seja, a torná-la trabalhável.
A Solução
A equipa da unidade de Projectos Especiais da Sinfic começa os projectos com uma análise que permita identificar os requisitos. É com base nesses requisitos que vai ser definido o plano de projecto com o maior detalhe possível. O próprio desenvolvimento do plano de projecto ajuda a complementar a lista de requisitos. De igual modo, a utilização de um sistema de gestão de requisitos permite análises cruzadas para identificar eventuais falhas, ajudando a refinar ainda mais os requisitos do projecto.
Quando se inicia o desenvolvimento efectivo do código do sistema a desenvolver, a maturidade dos requisitos já é tão grande que dá muitas garantias de que as variações futuras na estrutura de base serão mínimas, não colocando em risco essas estrutura e evitando a repetição de grandes volumes de trabalho.
Como ferramenta de gestão de requisitos, a unidade de Projectos Especiais da Sinfic adoptou o RequisitePro da IBM Rational, que faz parte da oferta de uma outra unidade de negócio da Sinfic (ver a secção Unidade de Negócio desta newsletter).
A utilização desta ferramenta de gestão de requisitos veio ajudar as equipas da unidade de Projectos Especiais a reduzir a complexidade dos projectos e a dar garantias (logo no início dos projectos) de que se sabe o que se vai fazer, reduzindo o risco de terminar os projectos fora de prazo e do orçamento. Estes são dois aspecto muito importantes nas economias modernas, onde o tempo de resposta ao mercado e o controlo de custos ditam frequentemente o sucesso ou o fracasso dos projectos.
Antes da adopção do RequisitePro (em 2002), a unidade de Projectos Especiais utilizava o Microsoft Word e o Excel. No entanto, estes programas foram colocados de lado porque a sua utilização não era muito adequada à actividade da unidade. No fundo, eram criados documentos com requisitos, mas era complicado geri-los/actualizá-los a partir da fase inicial. Os elementos das equipas de projecto tinham que consultar índices à procura dos requisito, perdendo tempo e reduzindo a produtividade.
O RequisitePro disponibiliza uma visão gráfica dos requisitos e dos seus relacionamentos, sendo acessível de uma forma instantânea. Por outro lado, sempre que se altera um requisito, a ferramenta assinala a necessidade de actualizar todos os outros elementos de requisitos relacionados. As vantagens da utilização do RequisitePro traduziram-se essencialmente em reduções de tempo e de risco dos projectos, permitindo aumentar a produtividade e a qualidade do produto final.