Dificuldade de alinhamento
Desde a introdução dos sistemas de informação nas organizações que a sua conceção e desenvolvimento têm sido afetados de forma negativa pela dificuldade de alinhamento entre as necessidades e a semântica das áreas de negócio e o funcionamento e a semântica das áreas de suporte tecnológico. Isto ocorre porque o contexto do negócio se descreve em termos de recursos, processos, atividades, objetivos e responsabilidades, ao passo que o contexto da tecnologia se descreve em termos de componentes de software, entidades, estruturas de dados e interfaces.
A dificuldade em estabelecer uma correspondência direta entre os conceitos do negócio e os dos sistemas é frequentemente responsável pela transposição incorreta das necessidades de negócio – os requisitos – para o desenho da arquitetura dos sistemas de informação a implementar. Este é um dos principais fatores para a baixa qualidade de muitos sistemas de informação ou mesmo para o seu insucesso.
Diversos estudos apontam para uma taxa média de êxito que não ultrapassa os 40% nos projetos de implementação de software, com uma correlação direta desta situação com a identificação incorreta de requisitos, cujas principais causas estão identificadas:
- Se, por um lado, as áreas tecnológicas das organizações não compreendem as áreas de negócio, por outro lado, estas apenas conhecem o contexto de negócio e não se apercebem do potencial das tecnologias e de como elas podem contribuir para alavancar as suas atividades;
- A comunicação de requisitos é difícil, não intuitiva, e sujeita aos filtros da perceção individual e da linguagem;
- A identificação formal e precisa dos requisitos não existe, ou é realizada de forma informal, sem recurso a documentação estruturada, isenta de ambiguidades, compreensível e aceite por todas as partes participantes nos projetos;
- A definição de prioridades entre requisitos não existe, sendo atribuídos graus de importância iguais a todos eles, inviabilizando a identificação dos requisitos críticos e a otimização dos recursos utilizados;
- As principais metodologias de desenvolvimento de software estão muito orientadas para os paradigmas da programação e não para as necessidades de negócio, contribuindo para aumentar o hiato entre o produto final e as necessidades do negócio.
Metodologia nova com provas dadas
Para ultrapassar estas limitações, uniformizando a semântica e sistematizando a terminologia utilizada na descrição de requisitos, recorre-se a ferramentas para analisar e caracterizar cada uma das dimensões organizacionais com implicações na identificação dos requisitos. Assim, na dimensão Estratégia recorre-se, entre outras, à Visão, ao Mapa Estratégico e à Cadeia de Valor. Para a descrição dos Processos de Negócio recorre-se a Fluxogramas e a Diagramas de Hierarquia de Regras e Atividades.
Quanto à descrição dos Sistemas de Informação utilizam-se, entre outros, Casos de Uso, Modelos de Dados e descrição da Arquitetura de Sistemas. O recurso a estas ferramentas aumenta a fluidez de comunicação entre as áreas de negócio e as áreas de levantamento de requisitos, assegurando a redução de imprecisões e ambiguidades.
Por seu turno, garantindo o alinhamento entre as ferramentas em cada uma das dimensões assegura-se que a informação identificada é a necessária e suficiente para que a especificação de requisitos seja realizada de forma rigorosa.
O conjunto das atividades que contribuem diretamente para a conceção, implementação e exploração de um produto de software, constitui o que se designa pelo processo de software, também conhecido por ciclo de desenvolvimento de software. São os meios e as ferramentas utilizadas durante a execução das atividades deste ciclo que asseguram a adequação do produto final às necessidades das áreas de negócio. Embora existam diferentes modelos para sistematizar este processo, as principais etapas são o Levantamento de Requisitos e Desenho da Solução, a Implementação da Solução, e a Exploração da Solução, representados na figura abaixo.
A etapa mais crítica na criação de um software é o Levantamento de Requisitos e Desenho da Solução. Este é o momento em que se descreve o comportamento que deverá ter o software a desenvolver, para que esteja de acordo com as necessidades de negócio que são identificadas. Toda a informação recolhida nesta etapa será utilizada como input para as etapas seguintes, pelo que qualquer erro ou omissão gerados nesta altura serão transmitidos – normalmente amplificados – aos elos seguintes da Para evitar os erros e omissões na identificação de requisitos, e subsequente propagação, o trabalho desenvolvido nesta primeira etapa deve ser realizado de acordo com as melhores práticas e com recurso às ferramentas adequadas para sistematizar informação, assegurando a integral recolha das necessidades de negócio e a eliminação das ambiguidades e contradições.
Incrementar o grau de sucesso
A área de tecnologias de informação da Sonangol, atenta às suas envolventes interna e externa, identificou a necessidade de incrementar o grau de sucesso na adequação dos sistemas de informação desenvolvidos como resposta às solicitações das áreas de negócio.
Num ambiente de reforçada exigência, decidiu colocar em prática uma estratégia continuada para estreitar o “gap” existente com as áreas de negócio.
Para este efeito, a Sonangol iniciou um conjunto de ações para aumentar o grau de capacitação das equipas de Levantamento de Requisitos de Sistemas de Informação, dotando-as das competências necessárias para ultrapassar as barreiras existentes com as áreas de negócio.
Foi neste contexto que a Sonangol encontrou na LBC um parceiro para a apoiar na criação e operacionalização de novas abordagens para o cumprimento destes objetivos. A equipa de projeto concebeu e desenvolveu um programa inovador ao incorporar num projeto a vertente de formação, numa lógica de formação-ação, que permitiu à Sonangol apreender a aplicar os processos, técnicas e ferramentas de Levantamento de Requisitos e Desenho de Soluções que lhe permitiram aumentar o grau de autonomia nesta disciplina.
Desenvolvimento de competências
Foi definida uma metodologia de formação-ação em duas fases. A primeira das fases consistiu na capacitação dos Recursos Humanos da área de Levantamento de Requisitos e na criação das ferramentas de apoio à atividade. A segunda fase esteve relacionada com apoio presencial, on-the-job, aos elementos da equipa responsável pela execução do projeto de Levantamento de Requisitos.
O objetivo não se limitava a desenvolver as competências técnicas, identificando os requisitos funcionais e não funcionais pretendidos para o sistema, mas visava também desenvolver as competências de interação humana com as áreas de negócio, melhorando as capacidades de diálogo com os utilizadores, na sua linguagem, identificando as suas reais necessidades e apoiando-os na identificação de necessidades que não tinham sido reconhecidas.
Foi constituída uma equipa de projeto conjunta, liderada pela Sonangol e integrando elementos da LBC, para garantir o acesso às metodologias, experiência e práticas fundamentais ao sucesso de projetos de conceção de sistemas de informação. A criação de uma equipa conjunta permitiu ainda à Sonangol assegurar a incorporação do know-how por parte dos elementos da equipa de Levantamento de Requisitos e Desenho de Soluções.
Adicionalmente, para materializar estas práticas e assegurar a permanência do know-how na Sonangol após a conclusão do projeto, foram criadas ferramentas para análise e caracterização da informação nas dimensões organizacionais de Processos de Negócio e de Sistemas de Informação. A existência destas ferramentas assegura o alinhamento entre a semântica das áreas de negócio e sistemas de informação, uniformizando a terminologia a utilizar na descrição de requisitos.