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.
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.
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.
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 .
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.
|