Conceito: Implementando um Processo em um Projeto
Esta página de conceito descreve o roteiro geral para implementar um processo e suas ferramentas de suporte em um projeto de desenvolvimento de software.
Relacionamentos
Elementos Relacionados
Descrição Principal

Introdução

Essas orientações descrevem como implementar processo e ferramentas em um projeto de desenvolvimento de software executando as atividades descritas na disciplina de Ambiente. Discutem também a disciplina de gerenciamento do projeto, que lida com o planejamento do projeto, identificando os riscos e gerenciando, monitorando e avaliando o projeto.   

É importante compreender que existem diferentes formas de implementar processo e ferramentas, conforme descrito na seção "Abordagens para Implementar Processo e Ferramentas". A abordagem que você escolher depende do estado atual do projeto e de sua organização circundante, portanto, faça uma avaliação do projeto e de sua organização circundante (consulte  Produto de Trabalho: Avaliação da Organização do Desenvolvimento). 

Essas orientações descrevem algumas abordagens possíveis para implementar um processo em um projeto.   Além disso,  Conceito: Práticas de Ambiente descreve algumas práticas fundamentais que são úteis para implementar o ambiente de um projeto de software.  Para obter informações adicionais sobre os aspectos de adaptação do processo de uma implementação de processo, consulteAdaptando o RUP.

Orientações para Planejamento Geral

Essas orientações gerais se aplicam a quase todo projeto: 

  • Antes de iniciar o projeto: Antes de realmente iniciar o projeto, as pessoas que trabalham como engenheiro de processo, especialista de ferramenta e coordenador de projeto devem ser treinadas no RUP (Rational Unified Process). Isso é fundamental para o sucesso do projeto. Se os membros do projeto não sabem o que fazer, provavelmente não serão bem-sucedidos.
  • Fase de Iniciação: Durante essa fase, você normalmente procura conhecer como melhorar o modo de gerenciar os requisitos (disciplina Requisitos) e como gerenciar o projeto (disciplina Gerenciamento do Projeto).  
  • Fase de Elaboração: No final da fase de Elaboração, todo processo e ferramentas já estão no lugar. A parte mais crítica dessa fase é, muitàs vezes, executar a configuração e o gerenciamento de mudanças porque na fase de Construção, o trabalho é executado pelas equipes de desenvolvimento que trabalham em paralelo.
  • Fase de Construção: Nenhum processo novo ou ferramenta é introduzido nesta fase. O foco aqui é produzir o produto, portanto o ambiente de desenvolvimento deve ser estável. Na fase de Construção, a motivação é conseguir novas pessoas na aceleração do projeto.
  • Fase de Transição: Nenhum processo novo ou ferramenta é introduzido. Na fase de Transição, o foco passa do ambiente do processo específico ao projeto para post-mortems do projeto, reunindo experiências do projeto atual, resumindo-as e compactando-as em um formato no qual os projetos futuros possam utilizar.  Essas experiências reunidas servem como entrada para melhorar processos e ferramentas para desenvolvimento da próxima evolução do produto.

Abordagens para Implementar Processo e Ferramentas

A cerimônia de processo varia muito em diferentes organizações de desenvolvimento. Algumas são muito maduras em termos de processo e colocam grupos de processo para procurar a definição e aprimoramentos do processo por toda a organização. Outras estão apenas preocupadas com a adaptação específica do projeto.

A abordagem para adaptar o processo para o projeto depende muito da cerimônia do processo da organização, assim como de vários outros fatores.   Por exemplo:

  • A maturidade do processo da organização de desenvolvimento.
  • O tamanho do projeto em termos de tempo no calendário e o número de recursos de desenvolvimento.
  • A exposição anterior de membros do projeto a processos semelhantes.
  • Os requisitos de formalidade do projeto.

Para obter informações adicionais sobre fatores que afetam a implementação do processo, consulte Orientações:Distinções do Processo.

A seguir estão abordagens básicas de como implementar processo e ferramentas em um projeto de desenvolvimento de software: 

  • "Alterar tudo". Significa que o projeto adota o RUP inteiro e um conjunto completo de novas ferramentas.  
  • "Melhorar processo e ferramentas". Significa que no projeto decide-se por melhorar algumas áreas do processo e ferramentas adotando partes do RUP e ferramentas de suporte.  

O quanto do RUP adotar e quantas ferramentas você decide implementar em um projeto específico depende de vários fatores.   Esses fatores estão descritos emOrientações:Distinções do Processo.  Esses são fatores que geralmente são revelados durante a avaliação do projeto e de sua organização circundante. Essas informações estão capturadas em Produto de Trabalho: Avaliação da Organização de Desenvolvimento.

"Alterar Tudo" (voltar para Abordagens ...)

Num projeto pode-se decidir adotar o RUP completo e iniciar o uso de um novo conjunto de ferramentas por um ou vários dos seguintes motivos: 

  • Não há processo ou ferramentas no lugar e o projeto precisa de tudo, de um processo completo e de todas as ferramentas.  
  • Todas, ou quase todas, as pessoas são novos inquilinos e raramente aceitam o modo como o trabalho está.  
  • O projeto mudará para uma nova tecnologia para a organização, o que significa que o processo existente e as ferramentas se tornarão obsoletas.  

Se você decidir introduzir o RUP completo e ferramentas em seu projeto, então é importante implementar incrementalmente o processo e as ferramentas. Implementar o processo e as ferramentas em um procedimento passo a passo, torna-se mais fácil de gerenciar os riscos e as alterações sobrecarregam menos as pessoas no projeto. O diagrama a seguir ilustra quando diferentes produtos de trabalho de Ambiente podem ser desenvolvidos sobre o ciclo de vida de um projeto.  

 Diagrama descrito no texto associado.

A evolução dos produtos de trabalho do Ambiente em um projeto em que "tudo é novo".

Comentários sobre o plano:
  • Geral: A disciplina de modelo de negócios é mantida completamente. 
  • Iniciação: Focalizada em introduzir as disciplinas de Requisitos e Gerenciamento do projeto. Para reduzir o número de novos fatores, as partes da interface com o usuário dos Requisitos não são introduzidas. O coordenador de projeto decide quais partes da disciplina de gerenciamento do projeto utilizar.  
  • Iteração de elaboração E-1: Análises & Design e Arquitetura são mais importantes na fase de Elaboração. Teste Automatizado e Configuração & Gerenciamento de Alterações não são tão fundamentais neste início de projeto porque o número de membros do projeto é relativamente baixo. Isso pode ser introduzido posteriormente no projeto. 
  • Iteração da elaboração E-2: As ferramentas de teste e processo são introduzidas para automatizar o teste. Rational RequisitePro é introduzido para gerenciar os requisitos de alteração.
  • Iteração da elaboração E-3: Na fase de Construção, o trabalho será executado pelas equipes de desenvolvimento, trabalhando em paralelo. Portanto, é fundamental ter a disciplina de Configuração & Gerenciamento de Alterações no lugar no final da fase de Elaboração. O gerenciador de implementação decide como executar a disciplina na disciplina de Implementação.  
  • Construção: Nada novo é introduzido. Desde a perspectiva do Ambiente, o foco durante a fase de Construção é obter todas as novas pessoas na aceleração do projeto.
  • Transição: Nada novo é introduzido. O processo e ferramentas são aperfeiçoados conforme necessário.

"Melhorar o Processo e Ferramentas" (voltar para Abordagens ...)

As pessoas, diante de um projeto em uma organização em que um processo e as ferramentas estão no local, apresentam a capacidade de desenvolver um sistema. Essas pessoas possuem uma maneira comum de trabalhar, que é um processo mais ou menos bem documentado.   

O objeto a longo prazo pode ser adotar o RUP completo e um conjunto completo de novas ferramentas. Entretanto, o objetivo a curto prazo é melhorar um ou mais áreas do processo e suporte de ferramentas. Essas devem ser áreas que apresentam alto potencial de aprimoramento.  

O diagrama abaixo mostra um exemplo de um projeto que decidiu adotar a disciplina Requisitos juntamente com ferramentas, tais como RequisitePro e Rational Rose, para melhorar o modo como os requisitos são gerenciados. O projeto também decidiu introduzir a disciplina Análise e Design. 

Diagrama descrito no texto associado.

A evolução dos produtos do trabalho Ambiente aprimorando os Requisitos e Análise e Design. 

É importante compreender que o diagrama acima é apenas um exemplo. As partes do processo que você decidir melhorar serão diferentes entre os projetos, dependendo dos problemas e das necessidades de um projeto particular. Você precisa avaliar o projeto e sua organização circundante para descobrir quais partes do processo melhorar ou quais ferramentas deseja introduzir.

Iteração de iniciação Exemplo

A seguir está um exemplo de uma iteração na fase de Iniciação em que a disciplina Requisitos é introduzida. Cada entrada no gráfico Gantt está descrita detalhadamente após o diagrama.  

Gerenciamento de Projeto Planejar Próxima Iteração Avaliar Risco e Escopo do Projeto Planejar o Projeto Gerenciar iteração Monitorar e Controlar Projeto Conceber Novo Projeto Avaliar Risco e Escopo do Projeto Requisitos Teste Ambiente Suportar o Ambiente durante uma Iteração Preparar Ambiente do Projeto Preparar o Ambiente para uma Iteração Mentor de processo 50% Mentor RMUC RUPF Treinamento Mentor de requisitos 50% Clique em qualquer tópico para obter uma descrição detalhada

Exemplo de uma iteração na fase de Iniciação.

O fluxo de trabalho básico descrito para Iniciação Clássica do RUP aplica-se com essas variações e extensões.

Gerenciamento do Projeto

Traz o projeto a partir do núcleo inicial de uma idéia para um ponto em que uma decisão razoável pode ser tomada para continuar ou abandonar o projeto. Os principais resultados são rascunhos iniciais de Produto de Trabalho: Caso de NegóciosProduto de Trabalho: Plano de Desenvolvimento do Software, e Produto de Trabalho: Lista de Riscos.

Identificar os riscos no projeto, incluindo aqueles riscos associados com a implementação do novo processo e novas ferramentas. O resultado é  Produto de Trabalho: Lista de Riscos.

Planejar as fases. O resultado principal está na seção intitulada Plano de Projeto no  Plano de Desenvolvimento de Software. Inclui o Plano de Fase em que você encontrará os principais marcos com seus Critérios de realização, incluindo os critérios para a disciplina de Ambiente.    
Nota: O Processo de Desenvolvimento adaptado apresenta um impacto maior sobre o Plano de Desenvolvimento do Software, e vice-versa. Portanto, o desenvolvimento do plano do projeto e a adaptação do processo precisam ser coordenados.  

Planejar a iteração detalhadamente, inclusive a disciplina Ambiente e todas as outras disciplinas. O resultado principal é um Produto de Trabalho: Plano de Iteração, com todos os detalhes da atividade e tarefas da disciplina Ambiente, assim como todas as outras disciplinas do processo.

O uso do processo e das ferramentas é avaliado como parte da avaliação da iteração. Os resultados são:

O coordenador de projeto monitora o trabalho diário, inclusive o processo e as ferramentas.

No final da iteração, os riscos são reavaliados, inclusive os riscos associados ao processo e às ferramentas. Alguns riscos são eliminados durante a iteração e novos riscos são identificados. O resultado primário é umaProduto de Trabalho: Lista de Riscos atualizada. 

Requisitos

Nenhuma alteração específica. 

Teste

Alguns aspectos logísticos daProduto de Trabalho: Estratégia do Teste definiu-se que fornecerá os motivos iniciais para originar os esforços do teste.

O designer do teste e uma pequena equipe de testadores verificam que os principais elementos da abordagem de teste e trabalharão contra o Produto de Trabalho: Prova de Conceito Arquitetural e seleções de componentes de terceiros são marcadas como sendo testáveis.

Ambiente

Avaliar o estado atual da organização e decidir em quais partes do processo e em quais ferramentas focalizar as primeiras iterações. Neste caso no projeto decidiu-se, de acordo com a avaliação, iniciar implementando o processo e as ferramentas.  
Nota: O Plano de Desenvolvimento de Software apresenta um impacto maior sobre o Processo de Desenvolvimento adaptado e vice-versa. Portanto, a adaptação do processo e o desenvolvimento do plano do projeto precisam estar coordenados. 

Os resultados são:

Preparar o processo e ferramentas para a disciplina de Requisitos ao mesmo tempo que a ferramentas de suporte de modo que as pessoas no projeto possam começar a utilizá-las. (Logicamente, outras disciplinas podem ser preparadas). Consulte Tarefa: Adaptar o Processo de Desenvolvimento para o Projeto .

Certifique-se de que as pessoas no projeto compreendem como usar o processo de desenvolvimento, as orientações de modelo de caso de uso e as ferramentas. Além disso para padronizar os cursos de treinamento, recomendamos que você organize um workshop de um dia no qual os membros do projeto possam ter um treinamento prático.   ConsulteTarefa: Lançar o Processo de Desenvolvimento.

Os resultados de desempenhar a atividade são:

O administrador do sistema suporta o desenvolvedor durante a iteração. 

Treinamento

  • Todos os membros do projeto devem assistir a um curso que ofereça uma visão geral do RUP para terem uma visão geral do ciclo de vida do projeto.
  • As pessoas que trabalham na disciplina RUP que está sendo "rolled out" devem assistir a um curso em que aprendam os detalhes da disciplina.

Aconselhamento

O Aconselhamento é a chave para uma implementação de processo bem-sucedida.  Em geral, os seguintes mentores são necessários:

  • Mentor de Processo 50%. Alguém que atua como um engenheiro de processo para oferecer suporte ao coordenador de projeto e ouras pessoas no projeto para utilizar e configurar o processo.
  • <Mentor Específico à Disciplina> 50%. Alguém que facilita o trabalho específico à disciplina, conduzindo workshops, revendo os resultados e respondendo perguntas específicas.  
Para obter informações adicionais sobre o aconselhamento, consulteConceito: Aconselhamento.