Participação no IX Simpósio Brasileiro de Engenharia de Software e II Workshop de Qualidade e Produt

Autores: Cristina Angela Filipak Machado - Luiz Carlos de A. Oliveira - Rosane Antunes Fernandes

 

Foi realizado em Recife, de 03 a 06 de outubro do corrente, o IX Simpósio Brasileiro de Engenharia de Software e, em paralelo, o II Workshop de Qualidade e Produtividade em Software. Os eventos foram promovidos pela SBC - Sociedade Brasileira de Computação, através da sua comissão especial de Engenharia de Software. A realização esteve a cargo do Departamento de Informática da Universidade Federal de Pernambuco - UFPE.

Tanto o Simpósio quanto o Workshop apresentaram temas atuais e tiveram como uma de suas características mais marcantes a apresentação de trabalhos e painéis com uma forte ênfase na integração entre a comunidade acadêmica e o meio empresarial/comercial.

Outro aspecto que chamou a atenção foi a apresentação de alguns trabalhos com um enfoque bastante abrangente, tratando de aspectos como Qualidade na Terceirização de Serviços, Aspectos Sociais do Processo de Desenvolvimento do Software, Qualidade de Vida dos profissionais associada a Cultura de Qualidade da Organização, Integração Escola e Empresa e outros.

A CELEPAR esteve presente no Workshop de Qualidade com a apresentação de dois trabalhos: Avaliação da Qualidade de Produto de Software, elaborado por Danilo Scalet e Inserção de Qualidade no Processo Metodológico, elaborado por Cristina Ângela Filipak Machado, Luiz Carlos de A. Oliveira e Rosane Antunes Fernandes, abaixo transcrito./p>

Introdução

O trabalho apresentado está inserido no contexto do tratamento da questão de qualidade no processo de desenvolvimento de software da Celepar - Cia. de Informática do Paraná. A Celepar, como responsável pelo processo de informatização do Estado, atua também no desenvolvimento e manutenção de aplicativos para diversos segmentos do Estado. A nível de contextualização cabe registrar que esta circunstância faz com que a sua atuação se dê em Clientes com diferenciados níveis de informatização, exigindo soluções diferenciadas tanto em função de aspectos tecnológicos como de aspectos culturais dos Clientes. A maioria dos aplicativos desenvolvidos são voltados à gestão das diversas organizações do Estado.

Neste contexto esteve sempre presente uma forte preocupação com a qualidade dos serviços a serem prestados, em especial os gerados pelo processo de desenvolvimento de software. Esta preocupação foi reforçada com o desenvolvimento de um programa de qualidade total e com a dedicação de alguns técnicos ao estudo mais efetivo destas questões.

A Visão da Qualidade

A visão básica da qualidade foi sempre pautada no atendimento às necessidades do Cliente. Desta forma foi identificado, num primeiro instante, que o foco principal deve estar na identificação e clarificação destas necessidades. Isto traz uma variável diferenciada ao tratamento normalmente dado à questão da qualidade de software. Esta visão é baseada no fato de um sistema de informações ser apenas uma parte de um sistema maior que se chama organização. Os principais fatores de sucesso de um sistema estão cada vez mais associados a um convívio adequado deste sistema com os demais sistemas existentes. A visão e preocupação passa a ser muito mais organizacional do que técnica, principalmente a partir do fato das organizações já contarem com suas necessidades mais operacionais atendidas e apresentarem demandas por sistemas num nível mais gerencial e estratégico. É neste nível que as interferências de outros sistemas ( tipo políticos, culturais, de poder, econômicos, de estilo de gestão e outros) atuam fortemente sobre os sistemas de informações e a análise destas variáveis passa a ser determinante na definição do problema a ser tratado e da solução a ser proposta.

Considerando a necessidade de atuação nestes níveis, é importante que os aspectos de qualidade também sejam tratados sob este enfoque. Neste contexto a questão de qualidade, embora associada ao processo de desenvolvimento de software, deve estar muito voltada a aspectos de adequação da solução com um todo à realidade e possibilidade do Cliente. Se isto não tiver equacionado, a solução não terá qualidade, mesmo que observados aspectos mais técnicos normalmente tratados nas questões de qualidade de software.

Portanto, o enfoque adotado pela Celepar foi voltado, neste momento, ao processo de desenvolvimento de software, principalmente considerando as características particulares dos serviços desenvolvidos na empresa.

A Visão de Metodologia

Neste cenário, e com este entendimento, foi necessária a definição de um processo metodológico para a Celepar. Houve um entendimento que este processo metodológico devesse incorporar e tratar algumas questões:

  • forte ênfase em aspectos de qualidade;
  • forte preocupação com o gerenciamento do processo de desenvolvimento de software, entendendo este também como um meio de garantia de qualidade;
  • compatível com estágio atual do processo de desenvolvimento da Empresa. Não se pode esperar um salto enorme num primeiro instante;
  • compatível às situações dos diversos Clientes, com aplicações com características culturais e tecnológicas diferenciadas;
  • flexível quanto a ciclo de vida, técnicas e ferramentas a serem adotadas.

Entendemos que o tratamento desta questão pode ser dado por um processo metodológico que contemple os aspectos acima referenciados. Na busca desta combinação desenvolvemos um processo metodológico que do ponto de vista de qualidade contribui da seguinte forma:

  • clara identificação do problema, envolvendo principalmente os aspectos organizacionais, e garantia de uma solução associada a este problema;
  • forte ação de gerenciamento e acompanhamento do processo de desenvolvimento;
  • flexível quanto a ciclo de vida e utilização de técnicas e ferramentas;
  • estabelecimento de indicadores de qualidade do processo de desenvolvimento.

Este último item é determinante na obtenção de qualidade. Entendemos que uma necessidade básica para a obtenção de qualidade nos produtos é a determinação e estabilização de um processo que garanta um nível de qualidade. Sem a estabilização deste processo muitas vezes não é possível sequer identificar os produtos que deveriam ter sua qualidade aferida.

Considerações

Entendemos que esta é a alternativa de consolidação de um processo de qualidade de desenvolvimento de software, principalmente se considerarmos que a Celepar atualmente, apesar de não ter sido efetuada uma medição formal, encontra-se muito provavelmente no nível 1 (Inicial) do Modelo de Maturidade (CMM - Capability Maturity Model) do SEI - Software Engineering Institute da CMU - Carnegie Mellon University, cuja principal característica é um processo imprevisível e pouco controlado.

O enfoque adotado busca a progressão, a médio prazo, neste nível de maturidade, do nível 1 (Inicial) para o nível 2 (Repetitivo), onde as tarefas possam ser executadas de acordo com um processo estável, atendendo a alguns dos processos para seu atingimento:

  • gerenciamento de requisitos; e
  • planejamento do projeto de software.

Também estabelece processos de outros níveis de maturidade do CMM, descritos a seguir, já incorporados no próprio processo de desenvolvimento, abrangendo questões referentes à garantia de qualidade do produto de software, necessidades específicas de treinamento e ações para garantia de qualidade do processo.

  • Nível 3 (Definido):

Pontos de revisão e check-lists nas diversas fases do processo; e

Programa de treinamentos.

  • Nível 4 (Gerenciado):

Gerenciamento do processo, baseado em medições (indicadores de qualidade do processo).

Indicadores de Qualidade do Processo

Para atender à visão de qualidade adotada, voltada ao processo, foram definidos diversos indicadores de qualidade. Têm como objetivo medir aspectos considerados indispensáveis no desenvolvimento de software, para projetos de sistemas (apurados quinzenalmente) e manutenção de sistemas (apurados mensalmente), bem como a análise destes e a proposição de ações que visam a melhoria no processo.

Indicadores de qualidade do processo de desenvolvimento de sistemas:

  • INDICADOR 1 (I1) - PLANEJAMENTO/REPLANEJAMENTO: O planejamento possui grande importância para o desenvolvimento de um projeto. Diversos aspectos devem ser planejados: prazos, organização da equipe, forma de trabalho, técnicas e ferramentas, fases, produtos, forma de revisão, aprovação e acompanhamento, auxiliando na busca de um resultado estabelecido. Este indicador tem por objetivo refletir o nível de planejamento com o qual as tarefas são executadas pela equipe.
  • INDICADOR 2 (I2) - ATUAÇÃO DA EQUIPE: A atuação da equipe influencia diretamente o andamento do projeto, nas questões de distribuição de tarefas, definição de papéis e gerenciamento de conflitos. Este indicador tem por objetivo refletir o nível de atuação da equipe, nos aspectos acima citados, na execução das tarefas.
  • INDICADOR 3 (I3) - GERAÇÃO DE PRODUTOS: Cada fase deve gerar produtos concretos (propostas, documentos ou outros compatíveis com a fase na qual se encontra o projeto). Uma fase adequadamente desenvolvida é refletida pela geração do(s) produto(s) previsto(s). Este indicador tem por objetivo refletir o nível de geração dos produtos previstos com a execução das tarefas na equipe.
  • INDICADOR 4 (I4) - ACOMPANHAMENTO: O acompanhamento do projeto, associado a medidas corretivas quando identificados desvios em relação ao planejado, é uma ação fundamental no processo de desenvolvimento. Sem esta ação não se garante o resultado projetado, não se cria condições de corrigir distorções nem contempla novas variáveis que certamente surgem no desenvolvimento de um projeto. Este indicador tem por objetivo refletir o nível de acompanhamento com o qual as tarefas são executadas na equipe.
  • INDICADOR 5 (I5) - PARTICIPAÇÃO DO CLIENTE: O envolvimento e a participação do Cliente é de vital importância ao adequado andamento do projeto, possibilitando alcançar os resultados por ele esperados. O Cliente deve ser parceiro no projeto, acompanhando seu andamento e participando ativamente das decisões. Este indicador tem por objetivo refletir o nível de participação do Cliente nas tarefas desenvolvidas pela equipe.

Indicadores de qualidade do processo de manutenção de sistemas (denominada atividade contínua - A.C. - dentro da Celepar):

  • INDICADOR 1 (I1) - FORMALIZAÇÃO DA A.C.: Este indicador reflete o nível de registro e identificação dos serviços referentes à Atividade Contínua. É importante, pois determina a apuração dos demais indicadores de A.C.
  • INDICADOR 2 (I2) - CARACTERIZAÇÃO DA A.C.: Este indicador reflete o nível de caracterização correta de um serviço como atividade contínua. Atualmente, neste processo, ocorrem falhas na caracterização de serviços, onde projetos de sistemas ou rotinas acabam sendo tratados como atividade contínua.
  • INDICADOR 3 (I3) - GERAÇÃO DE PRODUTOS: Geração de produtos concretos (desenvolvimento/alteração de programas e bases de dados) através da execução de tarefas na equipe.

Próximas Atividades

Como descrito anteriormente, neste primeiro momento o enfoque adotado na empresa foi mais voltado aos aspectos de gerenciamento do que aos técnicos, e também mais voltado ao processo do que ao produto. Na continuidade, visualizamos o desenvolvimento de algumas atividades, que basicamente visam contemplar estes aspectos técnicos, bem como a aplicação dos conceitos de qualidade voltados ao produto.

Para o atendimento às atividades de desenvolvimento (especificação, projeto, codificação, teste), devem ser criados roteiros específicos, contemplando questões de arquitetura, plataforma, técnicas, ferramentas e padrões. Também devem ser definidos e aplicados procedimentos e indicadores de qualidade voltados ao produto de software.