Muitas vezes é
difícil escolher qual processo usar e quando se escolhe o processo, ele pode
não atender ou não se adequar às necessidades da organização. Como solução para
este cenário, este artigo apresenta uma metodologia que permite criar um
processo específico para as necessidades da organização, adaptar um processo
que não esteja atendendo as necessidades ou até mesmo assegurar que a
implantação de um novo processo seja feita com sucesso.
Um processo de desenvolvimento de software é o conjunto de atividades inter-relacionadas ou interativas que transforma insumos (entradas) em produtos de software (saídas).
Ele apresenta as atividades que devem ser desempenhadas no desenvolvimento de sistemas, sendo a definição operacional do processo básico que guia o estabelecimento de um processo comum em uma organização.
O uso de um processo de software permite a realização de medições e aumenta as chances de se obter um produto de qualidade. O processo de software fornece estabilidade, controle e organização para uma atividade.
Considerando a importância da utilização de um processo padrão, um considerável esforço tem sido feito para sua modelagem e, como forma de auxiliar a sua criação, diversos processos estão surgindo. Eles podem ser adotados por completo ou permitir ainda serem adaptados de acordo com algumas características da organização.
É possível também que uma organização baseie-se em mais de um processo para a definição de seu processo padrão.
A escolha do processo de desenvolvimento é um fator de grande importância para o sucesso de um projeto. Simplesmente escolher e implantar o processo de desenvolvimento "do momento" ou o mais popular do mercado e querer que o projeto, o time e o produto de adapte a ele é um erro muito comum. Cada produto, projeto e time possui características específicas e que pode não se adaptar adequadamente a um processo específico.
Para se evitar desperdício testando diferentes processos de desenvolvimento e verificando qual deles melhor se adequa ao projeto, uma solução é adaptar um processo de desenvolvimento as necessidades do projeto ou criar um processo que melhor se adeque as necessidades do projeto.
Objetivando obter um processo de desenvolvimento de software que melhor se adapte a uma organização ou projeto, este artigo apresenta uma metodologia proposta por Watts Humphrey. De acordo com esta metodologia, para se obter um processo que atenda às necessidades de uma determinada organização as seguintes etapas devem ser executadas:
1. Determinar as necessidades e as prioridades do novo processo;
2. Definir os objetivos e os critérios de qualidade;
3. Caracterizar o processo atual;
4. Caracterizar o processo desejado;
5. Estabelecer uma estratégia de desenvolvimento do processo;
6. Definir um processo inicial;
7. Validar o processo inicial;
8. Melhorar o processo.
As etapas que são propostas por esta metodologia não precisam ser executadas exatamente na sequência apresentada. É explicado a seguir, de maneira resumida, cada uma destas etapas.
Determinar as necessidades e as prioridades do novo processo
Nesta etapa são estabelecidas as atividades que devem estar presentes no processo, juntamente com a prioridade das mesmas, considerando-se as características dos produtos a serem produzidos.
A QFD (Quality Function Deployment Method) pode ser utilizada para relacionar as características do processo com as necessidades dos usuários dos produtos. Para isso, é necessário:
· Determinar o tipo de produto que o processo irá produzir;
· Identificar os principais atributos desse produto;
· Determinar a prioridade relativa dos atributos;
·
Determinar as atividades
necessárias no processo para produzir tais atr ...