Como forma de prover a automação da atividade de melhoria contínua do ImPProS e produzir processos de software de maior qualidade e confiabilidade de forma mais produtiva e atendendo às características organizacionais, de projetos e de produtos de software, esta seção visa descrever a adaptação dos conceitos inerentes à melhoria contínua propostas pelo modelo IDEAL [Mcfeeley.96]. Estas atividades encontram-se especificadas no escopo da ferramenta
ProImprove, conforme apresentada na Figura 2.3.
O modelo IDEAL, desenvolvido e refinado pelo SEI – Software Engineering Institute, como concebido originalmente, era um modelo de ciclo de vida para a melhoria do processo de software baseada no CMM – Capability Maturity Model [Paulk.93], e por esta razão o modelo usou termos da melhoria deste tipo de processo. Atualmente, o Modelo IDEAL fornece um guia para a melhoria contínua das características de um processo organizacional,
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
ou seja, o modelo fornece um guia disciplinado de engenharia para a melhoria contínua, foca no gerenciamento do programa de melhoria e estabelece a base para uma estratégia de melhoria a longo prazo.
Ele é composto de fases, atividades e princípios. A abordagem tem forte relacionamento com o TQM – Total Quality Management [Lakhe.94]: apoio e suporte; treinamento; uso de dados para a tomada de decisões; envolvimento dos participantes; associado com os objetivos e necessidades do negócio; continuidade e envolvimento do cliente. O modelo consiste de cinco fases: Initiating, fase onde a infra-estrutura inicial da melhoria é estabelecida, os papéis e as responsabilidades para esta infra-estrutura são inicialmente definidos, e os recursos inicias são atribuídos; Diagnosing, o foco desta fase é desenvolver um entendimento mais completo do trabalho de melhoria; Establishing, o objetivo desta fase é desenvolver um plano de trabalho detalhado; Acting, as atividades desta fase servem para ajudar uma organização a implementar o trabalho realizado nas três fases anteriores (Initiating, Diagnosing e
Establishing); e Learning, onde a experiência obtida com execução do modelo IDEAL é revista para determinar se os esforços conseguiram atingir os objetivos pretendidos, e como a organização pode executar a mudança mais eficazmente e/ou eficientemente no futuro.
Baseado em estudos e análises de aplicações das fases e atividades do modelo IDEAL, adaptou-se o modelo ao ImPProS através de um conjunto de atividades, que podem ser visualizadas através do diagrama de atividades organizado pelos responsáveis, apresentado na Figura 5.15 representando a atividade Melhorar Continuamente o Processo/Plano presente no processo de Definição Progressiva do Processo de Software, visto na Figura 3.4.
A adaptação consistiu no estudo das fases do modelo IDEAL, além das suas atividades e princípios, para inseri-lo no contexto do ImPProS. A partir disso, a adaptação foi desenvolvida tendo como objetivos [Oliveira.06i]:
• Utilizar conceitos de melhoria contínua no contexto do ImPProS;
• Propiciar um estudo sobre o modelo IDEAL e como este se comporta para implementação do processo de software.
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner Gerente de Processo Projetista de Processo Gerente de Processo Projeto de Melhoria Contínua
Cadastrar Razão Definir Contexto
da Melhoria ProImprove [Não Aprovado] Alocar Infra- Estrutura da Melhoria [Aprovado] Definir
Procedimentos Definir Prioridades
Desenvolver Estratégias
Planejar Ações Criar Solução Testar Solução
[Não Atendido] Implantar Solução [Atendido] [Não Implantada] Analisar e Validar Solução [Implantada] Propor Ações Futuras [Sem Práticas] [Com Práticas] Caracterizar Estados das Práticas Refinar Solução Construir Apoio à Melhoria
Figura 5.15 Diagrama de Atividades para a atividade Melhorar Continuamente o Processo/Plano [Oliveira.06i]
Inicialmente a atividade Projeto de Melhoria Contínua visa criar um projeto na ferramenta ProImprove para a execução da melhoria a ser proposta, ou seja, uma área que possibilite armazenar e manter as informações inerentes à execução do ciclo de vida da melhoria contínua do processo de software a partir de uma identificação específica (nome,
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
descrição, data da criação, situação, responsável e membros alocados ao projeto). A seguir, a atividade Cadastrar Razão corresponde à fase de definiçao do estímulo à mudança no modelo IDEAL. É nessa fase onde o projetista do processo especifica os motivos organizacionais que motivaram o início da melhoria do processo de software e quais as práticas organizacionais que evidenciarão o trabalho de melhoria proposto. Já na atividade
Definir Contexto da Melhoria, o projetista descreve como a melhoria se encaixa dentro do
contexto da organização, isto é, como ela afetará os trabalhos existentes na organização e quais os objetivos e benefícios que ela trará [Oliveira.06i].
Na atividade Construir Apoio à Melhoria algum membro da alta administração da organização deve assumir o papel de patrocinador, formalizando o seu interesse pela melhoria e garantindo o apoio necessário para que a mesma seja executada. Após receber o apoio necessário, o projetista do processo deve executar a atividade Alocar Infra-Estrutura da
Melhoria, preparando todos os recursos necessários para que a execução da melhoria seja
iniciada e delegando responsabilidades às partes envolvidas, a partir da análise de restrições, esforços e expectativas provenientes da melhoria. Uma vez montada a infra-estrutura, o projetista tem que definir os estados atual e desejado para cada prática do processo, através da atividade Caracterizar Estados das Práticas. A Figura 5.16 permite a visualização desta atividade.
Depois de definir claramente os estados atuais e desejados para cada prática, o projetista executa a atividade Definir Procedimentos, na qual especifica quais os procedimentos necessários para que os estados desejados sejam alcançados. A próxima etapa a ser executada pelo projetista é Definir Prioridades. Nessa etapa, o projetista deve selecionar o subconjunto de práticas do processo que possuem maior prioridade em alcançar os seus estados desejados, isso possibilita a criação de sub-melhorias que serão compostas do conjunto de práticas definidas como prioritárias [Oliveira.06i].
Após definir prioridades, o projetista dever criar um plano estratégico de execução da melhoria, a partir da atividade Desenvolver Estratégias, caracterizando a execução de cada sub-melhoria e os perfis envolvidos nesta execução. Uma vez definido o plano estratégico, o gerente do processo pode dar início à atividade Planejar Ações, a qual possibilita a definição de um plano de ações para implantação da melhoria, contendo um cronograma de tarefas, marcos e pontos de decisão. O plano de ações inclui, ainda, a descrição da forma de
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
gerenciamento de recursos, atribuição de responsabilidades, definição de métricas, mecanismos de tracking, planejamento de estratégias e gerenciamento de riscos.
Figura 5.16 Definindo os Estados das Práticas
A seguir, o gerente pode iniciar a atividade Criar Solução. A solução é composta pelas ferramentas e processos que serão utilizados; conhecimentos e habilidades necessários; ajuda externa que pode ser requerida e quaisquer outras informações adicionais. Logo após, a solução deve ser testada e, se necessário, refinada, a partir da execução das atividades Testar
Solução e Refinar Solução. Quando a solução for finalmente validada, esta é implantada a
partir da execução da atividade Implantar Solução.
Uma vez a implantação realizada, o projetista do processo deve Analisar e Validar a
Melhoria, registrando as lições aprendidas durante a sua execução. Essas lições formarão
uma base de conhecimento do método de implantação de melhorias, permitindo que boas práticas sejam reconhecidas e erros sejam evitados no futuro [Oliveira.06i]. O procedimento utilizado como base para esta execução encontra-se descrito nas Seções 5.6.1 e 5.6.2. A
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
Figura 5.17 permite uma visualização desta atividade que permite uma caracterização da situação da prática organizacional constante na melhoria e uma validação a partir de métricas previamente planejadas. Se julgar necessário, o projetista pode, ainda, Propor Ações
Futuras, recomendações para aperfeiçoar uma habilidade organizacional ou que dizem
respeito a um aspecto diferente do negócio da organização, a fim de trazer mais eficiência e confiabilidade à execução de melhorias futuras, ou à execução de novas sub-melhorias provenientes da priorização das práticas pertencentes à melhoria em execução.
Figura 5.17 Analisando e Validando a Execução da Melhoria
5.6.1 Métricas para Avaliar o Esforço da Melhoria
Um dos focos desse trabalho foi a utilização de métricas para avaliar o esforço de melhoria. Esta avaliação tem como objetivo analisar o processo de melhoria em si, identificando os pontos de sucesso e de fracasso. Dessa forma, podem ser propostas ações futuras que permitirão que as próximas melhorias do processo sejam efetuadas de forma mais eficiente.
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
Para adicionar tal habilidade, a atividade Analisar e Validar Solução, definida na Figura 5.15, foi estendida. Esta extensão permite que o responsável pela melhoria atribua valores a determinadas características do esforço de melhoria (conjunto de métricas inerentes às práticas do processo). A partir dos dados informados, são inferidas informações que podem auxiliar a identificação de pontos de deficiência e pontos positivos no procedimento de melhoria executado [Oliveira.06i].
Na concepção dessa habilidade, foi utilizado o padrão de definição de métricas proposto pelo GQM – Goal-Question-Metrics [Basili.94]. Tomou-se como objetivo: aumentar a qualidade e eficiência do procedimento executado para realizar melhorias no processo de desenvolvimento de software, sob o ponto de vista do responsável pelo processo. A partir desse objetivo, foram definidas nove questões a fim de identificar os pontos de sucesso e fracasso na execução da melhoria, e assim permitir que ações futuras fossem propostas.
Para cada uma das questões definidas, foi estabelecido um conjunto de métricas associadas (denominadas, neste trabalho, de características do esforço de melhoria). Assim, sentiu-se a necessidade de se estender a atividade Analisar e Validar Solução, presente no diagrama de atividades de melhoria contínua do ImPProS, para possibilitar a atribuição de valores a essas características. Dessa forma, o modelo pode inferir respostas para as questões definidas e auxiliar a validação do esforço de melhoria [Oliveira.06i].
A lista completa de questões e características associadas e a metodologia de inferência encontram-se no Apêndice E.
5.6.2 Métricas para Validar se o Esforço Desejado foi Atingido
Outra habilidade foi adicionada no modelo de melhoria contínua, visando permitir a utilização de métricas para validar se o estado desejado de cada prática considerada pela melhoria foi atingido [Oliveira.06i].
A atividade Caracterizar Estados das Práticas, definida no diagrama de atividades da Figura 5.15, consiste da identificação das práticas do processo que serão afetadas pela melhoria. Para cada prática identificada é descrito o seu estado atual e especificado o seu estado desejado, isto é, como espera-se que a prática se encontre após a execução da melhoria. Nesta atividade, foi adicionada a habilidade do usuário poder especificar um conjunto de métricas cuja análise permitiria inferir se uma determinada prática chegou ao estado desejado.
Capítulo 5 Atividades de Gerenciamento do Módulo ProDefiner
Dessa forma, para cada prática definida, o usuário possui a opção de cadastrar uma conjunto de métricas e o seu universo de valores possíveis.
Para cada valor, ou conjunto de valores, pertencente ao universo de possíveis valores das métricas previamente adcionadas, define-se se este indica que a prática está validada ou não. A próxima etapa, é a definição de um percentual de validação. Esse percentual indica qual a porcentagem mínima de métricas cuja análise resulte um valor que indique que a prática foi validada. Quando todas as métricas forem analisadas, o modelo verifica se o percentual mínimo foi atingido. Em caso positivo, indica uma sugestão de que a prática está validada, caso negativo a sugestão remete a uma prática inválida.
Outra alteração se deu na atividade Analisar e Validar Solução, presente no diagrama de atividades de melhoria contínua do ImPProS. Nessa atividade, deve-se indicar para cada prática escolhida para a melhoria, se esta foi validada ou não [Oliveira.06i]. Essa atividade foi estendida para possibilitar que o usuário forneça dados relativos à coleta das métricas definidas na atividade Caracterizar Estados das Práticas. Uma vez informados todos os valores para as métricas associadas a uma prática, o modelo de melhoria contínua pode inferir se essa prática foi validada ou não. Essa inferência é apenas uma sugestão, ficando a cargo do usuário acatá-la ou não.