Esse artigo faz parte da revista Engenharia de Software 3 edição especial. Clique aqui para ler todos os artigos desta edição

Planejamento

Modelos e Abordagens para Gerenciamento de Riscos de Projetos de Software

  

Em muitas organizações que desenvolvem software, a Gerência de Riscos é vista como um processo difícil de ser executado de maneira adequada em função das pressões de custo e prazo que caracterizam o ambiente de negócios e da pouca disponibilidade de informações. Por outro lado, o aumento contínuo da qualidade e produtividade exigido pelo mesmo mercado, cada vez mais competitivo, só é conseguido através da melhoria e evolução dos processos de gerência e de desenvolvimento de software.

Nas seções seguintes serão apresentados e analisados alguns modelos e abordagens para gerenciamento de riscos de projetos de software.

Modelos e abordagens para gerir riscos

Riscos em ambientes de desenvolvimento de software passaram a receber uma atenção maior no final da década de 80, quando Barry Boehm propôs e apresentou uma abordagem para gerir riscos [Boehm 1991].

De acordo com Harold Kerzner, as atividades de gerenciamento de riscos associadas ao desenvolvimento de software passaram a ter destaque no cenário internacional em 1996, ainda como reflexo da crise do software e a necessidade de melhoria dos sistemas [Kerzner 2000]. 

Existe uma diversidade de modelos e abordagens que tratam atividades para gerenciamento de projetos de desenvolvimento de software. Para facilitar o estudo analítico foram estabelecidos dois critérios de comparação entre os modelos:

Modelo de Referência – Dentro do estudo dos modelos de Gerência de Riscos um dos pontos fundamentais é verificar a base teórica utilizada. Essa base teórica é composta por características e requisitos que são refletidos no processo utilizado e nas atividades definidas no modelo. A base teórica também reflete a atualidade das pesquisas para a definição e adaptação do modelo. De forma adicional, promove a evolução do conhecimento para a construção do modelo em análise;

Componentes do Modelo e Relacionamentos – Outro ponto a considerar, não menos importante, é a captura dos componentes arquiteturais do modelo e suas relações, como componentes que foram criados para garantir a aplicação da Gerência de Riscos promovendo a confiabilidade do resultado esperado. Este critério está intimamente ligado ao modelo de referência utilizado.

A escolha de modelos e abordagens que serão apresentadas a partir de agora foi baseada em sua influência nos atuais modelos de gestão de projetos e de qualidade de software, em especial gerenciamento de riscos em ambientes de desenvolvimento de software.

Gerência de riscos segundo Barry W. Boehm

O modelo que introduziu o estudo da gerência de riscos na Engenharia de Software foi apresentado por Barry Boehm no final da década de 80. Nesta época Boehm era membro integrante do Departamento de Defesa dos Estados Unidos – DoD (Department of Defense).

O modelo apresentado por Boehm está baseado no modelo espiral, também de sua autoria [Boehm 1988]. Esse modelo foi desenvolvido ao longo de muitos anos com base na experiência adquirida pela aplicação do modelo cascata (Waterfall Model) em grandes projetos do governo norte-americano.

O modelo espiral, apresentado na Figura 1, tem um típico ciclo de vida apresentando como atividade inicial a identificação dos objetivos relacionados:

·         Ao produto em elaboração;

·         Às alternativas de solução para os objetivos definidos; e

·         Às restrições de implementação destas alternativas.

 

O passo seguinte é avaliar as alternativas identificadas para implementação dos objetivos do produto em elaboração e suas restrições. Freqüentemente, nesse processo são identificadas áreas de incertezas que são origens significantes de riscos de projetos.

Uma vez avaliados os riscos é necessário definir as formas de tratá-los. Deste modo, técnicas como prototipagem, simulações e benchmarking são realizadas. O processo é contínuo e existirão validações dos requisitos, especificação do projeto (design), implementação e testes, onde cada ciclo é planejado e avaliado.

 

Figura 1. Modelo espiral [Boehm et al 2004]

 

Boehm sugere um processo de gerência de riscos composto por duas grandes etapas: Avaliar Riscos e Controlar Riscos. Cada uma destas etapas é composta por atividades e estas últimas, por passos, conforme mostra a Figura 2.

A etapa Avaliar Riscos contempla atividades de identificação, análise e priorização dos riscos, Controlar Riscos pelas atividades de planejamento de respostas aos riscos identificados, resolução dos riscos e monitoração [Boehm 1991].

Para cada uma das atividades do modelo, Boehm sugere a realização de passos relacionados ao uso de métodos e técnicas. Na realidade, as atividades são apresentadas através dos objetivos e metas que devem ser alcançados.

Em avaliando os riscos, a atividade Identificar Riscos tem como finalidade o desenvolvimento de lista de riscos relacionados aos fatores de sucesso do projeto. As técnicas sugeridas para esta atividade são as listas de verificação, avaliação das metas, comparação com experiências passadas e decomposição.

A segunda atividade é Analisar Riscos, onde são tratados os aspectos qualitativos e quantitativos dos riscos. Os aspectos qualitativos são identificados através da probabilidade e impacto da perda; já os aspectos quantitativos são investigados através dos modelos de custo e das análises estatísticas de decisão.

Priorizar Riscos é a terceira e última atividade. Nela os riscos identificados e analisados serão ordenados de acordo com o impacto para o projeto. Algumas técnicas são sugeridas como a análise da Exposição do Risco, Técnica Delphi ou técnicas de consenso entre os grupos de trabalho, como a técnica Nominal Technical Group.

 

Figura 2. Adaptação Gerência de Riscos de Software [Boehm 1991]

 

Em controlando os riscos, a atividade Planejar Gerência de Riscos ajuda a endereçar todos os riscos priorizados em um documento para acompanhamento e controle, de acordo com as estratégias utilizadas. Algumas técnicas como listas de verificação e estratégias de respostas aos riscos são indicadas.

A atividade Reduzir Riscos tem a finalidade de gerar uma situação onde todos os riscos identificados e priorizados são eliminados ou tratados (resolvidos). Algumas técnicas sugeridas são, por exemplo, protótipos, simulação e benchmarking.

Por fim, a atividade Monitorar Riscos tem o objetivo de acompanhar a execução do projeto avaliando seu progresso e fazer uso de ações corretivas quando necessário.

Para ilustrar e facilitar o entendimento dos conceitos e atividades da Gerência de Riscos, o Quadro 1 apresenta o Projeto Arriscado (esse projeto é totalmente fictício).

A partir deste contexto é possível identificarmos alguns riscos como:

·         A interface entre os sistemas pode não ser alcançada; e

·         O gerente do projeto não tem experiência no gerenciamento de projetos complexos.

 

As empresas geralmente desenvolvem uma lista de riscos, onde estes eventos adversos são analisados e priorizados de acordo com o impacto negativo que podem influenciar o ambiente organizacional. Desta forma, de acordo com a experiência dos integrantes da organização, ferramentas de apoio utilizadas, processo definido de avaliação e controle de riscos é possível definir estratégias para gerenciá-los. A Tabela 1 mostra um exemplo de matriz de riscos para a situação apresentada na Nota 1.

 

Nota 1. Contexto do Projeto Arriscado

REX (Risk Expert) é um respeitado líder de projeto da Companhia do Sr. Bonzinho SA, uma organização que trabalha com o desenvolvimento de sistemas de apoio à decisão.

Estes sistemas, na sua grande maioria, trabalham atividades de Relacionamento com o Cliente (CRM – Customer Relationship Management). Recentemente, REX foi nomeado gerente de projeto para um novo projeto da organização, chamado Arriscado. Este projeto tem o objetivo de integrar informações entre sistemas, melhorando a produtividade e atendimento das organizações. A meta é integrar o sistema ERP com o CRM, evitando a duplicidade de informações e potencializando a definição dos perfis dos clientes e conseqüente conhecimento de suas necessidades. ...

Quer ler esse conteúdo completo? Tenha acesso completo