Conceito: Adaptando um Processo para um Projeto Pequeno
Esta diretriz discute como adaptar o RUP para um projeto pequeno.
Relacionamentos
Descrição Principal

Introdução

O importante para alcançar o sutil equilíbrio entre a entrega de um software de qualidade e a rapidez nessa entrega (o paradoxo do software!) é compreender os elementos essenciais do processo e seguir determinadas diretrizes para sua adaptação, a fim de satisfazer, da melhor maneira possível, as necessidades específicas do projeto. Esse procedimento deve ser realizado de acordo com as melhores práticas testadas e aprovadas na indústria, ajudando assim os projetos de desenvolvimento de software a serem bem-sucedidos.

Definição de "Projeto Pequeno"

Pequeno pode se referir ao número de pessoas envolvidas no projeto, ao tempo de duração do projeto ou ao volume de software que está sendo desenvolvido. Para as finalidades deste roteiro, um "Projeto Pequeno" é definido como um projeto com:

  • 3 a 10 pessoas
  • duração menor que um ano.

Características de um Processo de Projeto Pequeno

Uma das principais características da maioria dos projetos pequenos é um nível menor de formalidade. Embora existam exceções, quanto maior for o número de pessoas no projeto e quanto maior e mais complexo for o produto, maior será a necessidade de um processo formal. Por exemplo, se o projeto for composto por uma equipe de 100 pessoas distribuídas geograficamente ou se ele trabalhar simultaneamente em vários produtos com vários clientes e subcontratantes, você precisará de um processo muito mais formal do que a típica equipe de cinco pessoas. Da mesma forma, um sistema de direcionamento de mísseis requer artefatos mais formais que a atualização de um sistema de inventário.

Afinal, por que ter um processo? Um processo permite que práticas bem-sucedidas sejam repetidas e práticas malsucedidas sejam eliminadas ou aprimoradas. O RUP fornece especificamente:

  • orientação sobre as melhores práticas
  • um conjunto de tarefas, papéis e produtos de trabalho que o processo pode precisar levar em consideração, com orientação sobre quando eles são necessários
  • uma grande quantidade de informações detalhadas que podem ajudar a aplicar de forma eficaz as técnicas definidas como apropriadas para o projeto. Por exemplo, se você estiver criando um modelo de design em UML, descobrirá quais diagramas são os mais apropriados e qual a melhor forma de estruturar o modelo. Além disso, se você estiver usando ferramentas da Rational, receberá diretrizes adicionais sobre como utilizá-las de forma eficiente, como parte do processo geral.
  • orientação sobre como adaptar o processo, a fim de abordar problemas específicos dele. Por exemplo, se o projeto tiver muitos requisitos variáveis, você poderá beneficiar-se da orientação sobre como gerenciar requisitos de forma eficaz.

A maioria dos mesmos artefatos e atividades do RUP são necessários em projetos pequenos e grandes, as diferenças estão mais em termos de formatos do produto de trabalho e no nível de formalidade, detalhes e esforços aplicados a cada tarefa. Para as finalidades deste roteiro, um "processo de projeto pequeno" terá como foco os projetos que requerem pouca formalidade. Eis algumas características desse processo de projeto pequeno:

  • O número de documentos tende a ser menor e menos detalhados. Em vez de Planos de Gerenciamento de Riscos e Planos de Aceitação do Produto, os projetos pequenos podem reservar alguns parágrafos para esses tópicos no Plano de Desenvolvimento de Software. O Plano de Teste para cada iteração pode se resumir a alguns parágrafos no Plano de Iteração.
  • Projetos pequenos quase sempre começam com o mínimo de ferramentas de desenvolvimento de software. À medida que um projeto cresce e tem êxito (que é o objetivo de todos os projetos pequenos bem-sucedidos!), é importante incluir ferramentas eficientes para ajudar a automatizar a implementação do processo de sua equipe.
  • As revisões formais podem ser substituídas por reuniões e discussões informais.
  • Muitos dos artefatos podem ser captados informalmente. Uma lista de riscos pode ser criada em um quadro branco, e as avaliações de status podem se resumir a alguns parágrafos em um e-mail.

Iniciação

Para definir o processo de um projeto pequeno, você deve primeiro revisar os seguintes itens básicos do RUP:

Em seguida, avalie os processos existentes que estejam sendo direcionados por esses elementos essenciais e concentre as revisões nos pontos fracos. Muitos projetos preferem adotar ferramentas e processos novos gradativamente, usando no início apenas pequenas partes do RUP.

Utilizando o  RMC (Rational Method Composer ), você pode selecionar e desmarcar os pacotes de conteúdo do RUP para executar uma adaptação comum do processo, e então fazer um ajuste mais fino com as visualizações do processo, incluindo suas próprias orientações específicas do projeto. Observe que o RMC inclui uma configuração de método para Projeto Pequeno. Esta é uma configuração menor do RUP que inclui gabaritos "informais" e exclui orientação aplicável a projetos maiores ou mais formais. Os projetos pequenos devem iniciar com este gabarito e aplicar sua própria adaptação específica do projeto.  Para obter informações adicionais sobre como adaptar o RUP, consulte Conceito: Adaptação do RUP

O Exemplo: Um Projeto Pequeno Adota o RUP fornece um exemplo de como um projeto pequeno pode abranger a definição de um processo. Orientação detalhada sobre como definir e documentar um processo de desenvolvimento de software para um projeto é fornecida em Tarefa: Adaptar o Processo de Desenvolvimento para Projeto .

Adaptação Adicional do Processo

Em particular, os projetos menores podem querer adotar práticas e técnicas associadas a "Processos Dinâmicos". Isso é discutido em Conceito: Práticas Dinâmicas no RUP e no Whitepaper: Using the RUP for Small Projects: Expanding upon eXtreme Programming.