• Aucun résultat trouvé

Recommandation. Sécurité publique et Protection civile Canada ne devrait attester et traiter que les interventions en dotation

O ProDefiner objetiva incrementar o nível de automação fornecido por ambientes de desenvolvimento para apoiar a definição de processos de software, levando em consideração os requisitos da qualidade para o programa de melhoria de desenvolvimento de software discutidos em [Koscianski.07] e prover a flexibilidade da manutenção dos ativos de processos de software a partir das políticas e critérios enfatizados pelas normas e modelos da qualidade. Em geral, o objetivo é fornecer apoio automatizado para que os usuários descrevam e definam representações computáveis para processos de software, sendo suportado, diretamente, por algumas fases definidas no ciclo de vida do ImPProS. O trabalho aqui apresentado é uma contribuição para o tema, tendo como pressupostos:

Nenhuma solução automatizada possui o papel, por si só, de influenciar o aumento da qualidade do software produzido. No entanto, com a proposta do trabalho, acredita-se que a automação do processo de software facilita a sua gestão. Assim, uma das metas deste trabalho é a garantia do apoio ao guia automatizado para a definição de processos de software de modo a transformar estes processos em especificações executáveis;

Os critérios usados como base para a definição dos processos de software são analisados a partir de características organizacionais (nível de maturidade, tipo da organização, etc.), de projetos de software (nível de conhecimento da equipe, tipo de projeto de software, etc.) e de produto de software (nível de garantia da qualidade do produto, características da qualidade do produto definidas pela norma ISO/IEC 91267 [ISO/IEC.02], etc.). Desta forma, uma das metas deste trabalho é envolver o conjunto das características propostas pelos trabalhos existentes no contexto da definição de processos de software e prover um mecanismo para adoção e manutenção constante destes critérios. Isso permeia uma definição e/ou adaptação dos processos de software mais específica ao contexto (organização, projeto e produto de software) de sua aplicação;

Conforme recomendado por inúmeros modelos da qualidade (CMMI, MPS.Br [Softex.06], ISO/IEC TR 15504, etc.), é importante que a organização mantenha

Capítulo 3 O Módulo ProDefiner

uma biblioteca de ativos de processos (qualquer coisa que a organização considere útil para atingir os objetivos do processo, por exemplo: políticas, processos definidos, padrões, templates de documentos, etc.) com mecanismos de consulta e recuperação. Assim, este trabalho propõe um meta-modelo de processos de software que, além de definir a estrutura padrão dos processos definidos no ImPProS, assume o papel desta biblioteca de ativos, proporcionando flexibilidade na definição e/ou adaptação de processos de software a partir do uso dos ativos provenientes de prévias execuções, ativos recomendados por normas e modelos da qualidade e ativos formalizados e/ou consolidados na área de processos de software;

A definição e/ou adaptação de processos de software envolve níveis hierárquicos estruturados que organizam as tarefas realizadas por cada um desses níveis a fim de guiar a equipe de SEPG na execução deste mecanismo. Desta forma, o desenvolvimento do trabalho aqui proposto enfatiza três níveis para a definição e/ou adaptação do processo de software, focando em: Definição do Processo Padrão da Organização; Especialização do Processo a um Projeto de Software; Instanciação do Processo a partir das Características do Produto de Software. Percebe-se, então, que os processos são gradativamente (progressivamente) compostos, facilitando o atendimento dos mesmos ao contexto de sua aplicação. Além disso, estão contemplados: uma fase de planejamento da execução do processo de software que, a partir da alocação de recursos, definição de cronograma, inferência de estimativas e métricas, previsão do custo, provê a base para uma análise do “definido” versus o “simulado” e/ou “executado” no ImPProS; e métodos para publicação do processo de software, documentando o que fora definido e/ou adaptado no processo de software em implementação;

Representações reutilizáveis de processos podem se beneficiar do conceito de repositório de software, amplamente explorado pela tecnologia de reutilização de software. A existência de um repositório de elementos reutilizáveis, entretanto, é útil somente se serviços eficientes de recuperação de informação estiverem disponíveis, pois modelos de processos de software são elementos de dados ainda mais complexos que componentes de software. Assim, este trabalho propõe a reutilização baseada em repositório associada a um mecanismo de busca baseado em similaridade que permite que usuários determinem critérios variados a partir das

Capítulo 3 O Módulo ProDefiner

características organizacionais, de projetos e de produtos de softwares usadas na definição e/ou adaptação destes processos de software;

O desenvolvimento do trabalho aqui proposto baseia-se, ainda, na melhoria contínua do processo de software que orienta a organização nas tarefas úteis do programa de aperfeiçoamento e adoção de novas ferramentas, processos e métodos de engenharia de software. A abordagem fornece um guia para a melhoria contínua das características de um processo organizacional, baseada no modelo IDEAL [Mcfeeley.96], pelo fato do mesmo originalmente ser baseado em um modelo da qualidade e focado em processos de software, 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 em longo prazo. Vale caracterizar, ainda, a existência de outros modelos como o DMAIC [Gitlow.05], que é um processo de melhoria contínua usado na metodologia Six Sigma [GE.05], que se refere a uma estratégia da qualidade baseada em dados para melhorar processos, e o PRO2PI [Salviano.06], que é uma abordagem para uma melhoria de processo dirigida por perfis de capacidade de processo, o que pode ser perceber que nenhum dos dois modelos contextualiza o foco deste trabalho;

O conhecimento é produzido e utilizado durante o desenvolvimento de software. Por diversos motivos, o conhecimento importante neste contexto encontra-se disperso na mente de várias pessoas e/ou em documentos armazenados em vários lugares e mídias. Conseqüentemente, desenvolvedores de software, muitas vezes, falham em atender rápida e adequadamente as solicitações de seus clientes, porque o conhecimento do que necessitam foi perdido pela organização ou está em lugares desconhecidos ou inacessíveis. Desta forma, este trabalho tenta proporcionar uma solução para representação da distribuição de conhecimento, habilidades e experiências através da estrutura da organização, possibilitando que os usuários do

ImPProS encontrem mais rapidamente os conhecimentos, habilidades e experiências

mais adequadas para a solução de um problema;

A existência de inúmeras normas e modelos da qualidade que direcionam a definição e/ou adaptação de processos de software organizacionais, traz um problema às organizações no que tange a falta de unicidade dos padrões recomendados para uso.

Capítulo 3 O Módulo ProDefiner

Como uma necessidade mercadológica, os processos de software de uma organização devem ser baseados nos padrões destas normas e modelos. Caso esta organização vislumbre a sua inserção em outros mercados, talvez haja a necessidade de tomar como guia para a definição de seus processos de software outras normas diferentes da que os mesmos, atualmente, se baseiam. Assim, este trabalho provê um mecanismo de transformação/conversão dos processos de software, baseada nos relacionamentos existentes entre os ativos das normas e modelos da qualidade, mantidos no meta-modelo. O pressuposto básico da transformação/conversão é conseguir fazer uma adaptação destes processos sem agregar esforço para especificar novos modelos de processo, de forma a garantir unicidade e consistência.