Conceito: Práticas de Ambiente
Esta orientação introduz práticas fundamentais que são úteis para implementar o ambiente de um projeto de software.
Relacionamentos
Elementos Relacionados
Descrição Principal

Algumas práticas importantes utilizadas para implementar um novo ambiente de desenvolvimento, que consiste no Rational Unified Process junto com as ferramentas, são:

Avaliar o Projeto e a Organização

Avalie o estado atual do projeto e da organização para compreender melhor quais partes do ambiente devem ser aprimoradas. Você também compreenderá melhor como implementar o ambiente. 

As seguintes páginas explicam como avaliar o estado de um projeto e de sua organização adjacente:

Implementar o Processo e as Ferramentas de Modo Incremental

Implemente o ambiente, o processo e as ferramentas de modo incremental, assim as pessoas nos projetos não serão sobrecarregadas com muitos fatores novos de uma só vez. Implementando o ambiente de modo incremental, é possível manter o foco sobre um subconjunto do ambiente, o que aumenta a probabilidade de sucesso. 

Introduza uma parte do ambiente por vez. O resultado da avaliação da organização de desenvolvimento ajuda a decidir quais partes do processo e quais ferramentas devem ser introduzidas primeiro. Normalmente, mantenha o foco nas áreas em que a organização de desenvolvimento possui maiores problemas. 

Implementar o ambiente de modo incremental pode significar que em uma primeira iteração, ou iniciação, o foco é mantido na introdução da disciplina Requisitos juntamente com as ferramentas de Requisitos. Na segunda iteração, o foco é mantido na introdução da disciplina Análise e Design juntamente com suas ferramentas de modelagem. Em iterações subseqüentes, cada vez mais as partes do ambiente são introduzidas.

Consulte Conceito: Implementando um Processo em um Projeto para obter detalhes. 

Gerenciar e Planejar

Gerencie e planeje as tarefas do ambiente exatamente como faria com outras tarefas no projeto de desenvolvimento de software de software. 

A implementação de um novo processo e de novas ferramentas em um projeto consiste em uma tarefa complexa. Alterar o modo de trabalho das pessoas pode colocar em risco o sucesso de um projeto. A experiência mostra que, quando comparadas com as tarefas de desenvolvimento, as tarefas de ambiente passam às vezes despercebidas pelo coordenador de projeto. 

As tarefas de ambiente devem ser gerenciadas e planejadas como todas as outras tarefas em um projeto de desenvolvimento de software. Portanto, é importante que o coordenador de projeto compreenda bem o novo processo e as ferramentas. Às vezes torna-se difícil para o coordenador de projeto alocar o tempo necessário para informar-se sobre um novo processo e, possivelmente, várias ferramentas novas. Nesse caso, o coordenador de projeto precisa do suporte de alguém que saiba como implementar o ambiente e de alguém que tenha se envolvido anteriormente nessa tarefa. Mesmo que o coordenador de projeto tenha o conjunto perfeito de habilidades e experiência, é recomendável envolver "conhecimento de implementação de ambiente", pois isso aumenta muito as chances de sucesso do projeto.

Consulte a disciplina Gerenciamento de Projetos para obter detalhes sobre como gerenciar e planejar um projeto de desenvolvimento de software, incluindo as tarefas de ambiente. Consulte também Conceito: Implementando um Processo em um Projeto

Utilizar Mentores

Utilize mentores para introduzir um novo processo em um projeto. A experiência mostra que a utilização de mentores é essencial para se obter êxito na implementação de um novo processo. Sem os mentores, haverá um risco evidente de que as pessoas no projeto voltem a seus antigos hábitos. O mentor age como um condutor de alteração. 

O projeto precisa dos recursos e do orçamento para mentoria no projeto. A ocorrência de algumas atividades de mentoria precisam ser planejadas, por exemplo, workshops iniciais. É importante que o mentor do processo compreenda o significado de ser um condutor de alterações e garanta o progresso do trabalho. Também é importante que o mentor torne-se dispensável com o decorrer do tempo e que exista nisso um ponto de conclusão, portanto, o mentor precisa transferir conhecimento e responsabilidades para os membros do projeto. Consulte Conceito: Mentoria para obter detalhes adicionais sobre o que é um mentor e sua função.

Distribuir o Direito à Propriedade do Process

Distribua o direito à propriedade do processo entre as pessoas no projeto, pois desse modo provavelmente adotarão e aprenderão mais rápido o novo processo. O caso de desenvolvimento tem um resultado melhor quando desenvolvido pelos "verdadeiros especialistas", as pessoas no projeto. A distribuição do direito à propriedade do processo também reduzirá a probabilidade do projeto tornar-se muito dependente de consultores externos. 

Assim que possível, aponte as pessoas no projeto que serão responsáveis pelas disciplinas do processo de núcleo. Essa pessoa tem a responsabilidade primária de configurar aquela parte do processo, e a parte correspondente, do caso de desenvolvimento. Por exemplo, ser responsável por uma disciplina de processo de núcleo, como Requisitos, significa que você é responsável por essa parte do caso de desenvolvimento. Cada pessoa precisa ser responsável por uma ou várias disciplinas de processo de núcleo, conhecer bem a área e ser o mentor de outros desenvolvedores.  

Um engenheiro de processo age como um mentor para as pessoas no projeto que possuem as diferentes partes do processo e os auxilia durante a configuração do processo. 

Considerar 'Retorno sobre Investimento'

Considere o 'retorno sobre investimento' quando configurar o processo: mantenha o foco nos fatores que compensarão o investimento. 

A experiência mostra que alguns projetos tendem a gastar muito tempo e recursos ao desenvolver diretrizes extensas, um caso de desenvolvimento extenso e material adicional relacionado ao processo. Há três problemas principais relacionados a isso:

  • As pessoas não lêem descrições extensas. 
  • Fazer tudo diretamente no início é muito difícil. É melhor fazer algo menos extenso, testá-lo e, então, ajustá-lo. 
  • Isso remove o foco da mentoria. As pessoas com conhecimento do processo precisam ter mentoria e não gravar descrições extensas designadas como suas tarefas primárias. 

Ao desenvolver diretrizes, é preciso ter em mente o retorno sobre o investimento. Tente reutilizar as diretrizes existentes. Por exemplo, uma alternativa de custo eficiente para desenvolver uma diretriz de modelagem de caso de uso completa é permitir que um bom exemplo de uma descrição de caso de uso existente sirva como a Diretriz de Modelagem de Caso de Uso.  

Na prática, não é possível medir o investimento e o retorno e, em seguida, compará-los. Como um engenheiro de processo, o mais importante é sempre lembrar que tudo deve ter um retorno substancial para os desenvolvedores.

Manter as Pessoas Informadas e Envolvidas

Mantenha as pessoas informadas sobre o novo processo e ferramentas e mantenha-as envolvidas no trabalho porque o principal risco de qualquer alteração em uma organização são as atitudes das pessoas com relação à alteração. A introdução de um novo processo e ferramentas em qualquer organização significa que as pessoas precisam alterar a maneira de trabalho. É natural que as pessoas tenham resistência à alteração. Existe sempre o risco de cair em uma espiral negativa, em que as atitudes negativas das pessoas levam a resultados muito insatisfatórios que, por conseguinte, levam a atitudes ainda mais negativas.

A seguir são listadas algumas ações que podem ser executadas para ajudar a evitar a formação de atitudes negativas entre as pessoas na organização: 

  • Estabeleça expectativas realísticas. Não supervalorize o novo processo ou as novas ferramentas. 
  • Envolva as pessoas-chave no trabalho de alteração. Permita que façam parte do projeto piloto e atribua responsabilidades a elas para partes do processo. Consulte Distribuir Direito à Propriedade do Processo.
  • Explique o motivo da alteração. Quais problemas da organização precisam ser resolvidos? Quais alterações na tecnologia requerem um novo processo e novas ferramentas? Quais serão os benefícios de uso dessas novas ferramentas e do novo processo?
  • Informe os acontecimentos às pessoas na organização. Por exemplo, mantenha todos os departamentos informados sobre o andamento das atividades. Essas informações não precisam ser muito detalhadas; o importante é que eles recebam algumas informações.   
  • Lembre-se dos envolvidos, tais como clientes ou patrocinadores. Por exemplo, se você alterar de um abordagem de desenvolvimento mais semelhante a uma cascata para uma abordagem de desenvolvimento iterativo, os envolvidos deverão compreender como um projeto de desenvolvimento iterativo é gerenciado e como o progresso é medido. Em um projeto de desenvolvimento iterativo, por exemplo, eles não podem esperar um design totalmente pendente em um marco inicial. Eles também são afetados quando os projetos alteram a maneira de captura de requisitos. 

Educar Pessoas

Eduque as pessoas sobre o novo processo e as novas ferramentas, pois elas precisam compreender o novo processo e como utilizar as novas ferramentas. 

Existem várias maneiras de educar as pessoas, incluindo os seguintes métodos utilizados:

  • Cursos de treinamento padrão
  • Os "campos de treinamento", que consistem em um treinamento prático e intensivo com duração de uma a cinco semanas. Poucas organizações podem investir em campos de treinamento, entretanto eles têm provado sua eficiência quando há muitos fatores novos para as pessoas no projeto. 
  • A mentoria funciona quando você possui um mentor que revisa resultados, conduz workshops e responde a perguntas. Se bem desempenhada, a mentoria pode ser um modo eficiente de transferir conhecimento.
  • Os workshops de "lançamento" são uma maneira eficiente de manter as pessoas atualizadas com as novidades ao introduzir uma nova parte do ambiente. Nesse tipo de workshop, as pessoas trabalham utilizando seus materiais de projeto reais e seguindo as novas partes do caso de desenvolvimento com os novos gabaritos, diretrizes e ferramentas. Normalmente, os responsáveis por esse workshop seriam um engenheiro de processo e um especialista de ferramentas. Não gaste muito tempo no desenvolvimento de material de treinamento para um workshop de lançamento. A finalidade principal é fornecer experiência prática utilizando novas seções do caso de desenvolvimento juntamente com gabaritos, diretrizes e ferramentas. O workshop de lançamento também é uma maneira de verificar o caso de desenvolvimento, os gabaritos, as diretrizes e as ferramentas.