Introdução
Uma boa forma de compreender o OpenUP é pensar nele como direcionado para equipes que têm os seguintes objetivos:
- Aplicar o processo mínimo necessário que agregue valor.
- Evitar se sobrecarregar com produtos de trabalho improdutivos.
- Usar um processo que possa ser adaptado e estendido para outras necessidades que possam surgir durante o ciclo de vida de desenvolvimento de software.
A fim de ser aplicado a maior quantidade possível de ambientes de projeto, o OpenUP é um processo que tem as seguintes características:
- Mínimo - somente o conteúdo fundamental é incluído
- Completo - pode ser manifestado como um processo completo para a construção de um sistema
- Extensível - pode ser usado como uma base na qual o conteúdo dos processos possa ser adicionado ou adaptado a medida do necessário
Mínimo
O OpenUP é considerado um processo ágil e leve que promove as melhores práticas de desenvolvimento de software, tais como:
- desenvolvimento iterativo
- colaboração de equipe
- Integração e testes contínuos
- entregas frequentes de software funcional
- adaptação a mudanças, etc.
Outros fatores também contam quando da determinação do tamanho do material do processo, tais como a quantidade de elementos de método como papéis, tarefas, artefatos e orientação.
O OpenUP fornece descrições das responsabilidades, habilidades e competências dos papéis fundamentais de uma equipe. Veja a lista de papéis para mais detalhes.
O OpenUP fornece os artefatos essenciais, necessários para capturar e comunicar as decisões. Em última análise, o processo não é orientado a criação de artefatos. Por exemplo, pensar no design é mais importante do que documenta-lo; avaliar e planejar uma iteração é a promoção da colaboração em equipe, ao invés da criação de planos a serem gravados em pedra. Além disso, para cada artefato, o OpenUP sugere representações informais ou fornece templates informais como pontos de partida para equipes que não necessitam criar os seus próprios. A equipe decide qual a forma mais adequada a ser aplicada. Veja a lista de Produtos de Trabalho organizada por domínios.
As tarefas no OpenUP são claras e focadas em resultados. O texto normalmente é curto e objetivo, descrevendo como as pessoas devem colaborar para alcançar os objetivos. Os passos são descrições resumidas do que deve ser realizado, e apontam para orientações externas a respeito de como fazê-los. Veja a lista de tarefas organizada por disciplinas.
O OpenUP recomenda a menor quantidade de orientação de processo que uma equipe deva usar, para obter sucesso. As equipes podem ter diferentes nomes ou responsabilidades para os papéis, pode executar tarefas ou ter diferentes representações para os artefatos, mas eles ainda podem seguir os princípios e as práticas descritas no OpenUP para aumentar as chances de sucesso do projeto.
Completo
O OpenUP é considerado um processo completo porque ele abrange as disciplinas essenciais do ciclo de vida de desenvolvimento de software, orientando a equipe nas seguintes atividades de alto nível:
- Os requisitos e as necessidades dos clientes são elicitados e capturados, com envolvimento contínuo do cliente.
- Uma arquitetura robusta para o sistema é evoluída, abordando riscos técnicos e promovendo a organização da equipe.
- Para cada requisito, uma solução técnica é projetada, implementada e testada em conformidade com as decisões arquiteturais.
- O sistema é avaliado por testes que validam os requisitos dos clientes.
- Os defeitos e as melhorias transformam-se em desenvolvimento.
- O trabalho é priorizado, as iterações são planejadas e avaliadas, e os membros da equipe assumem o trabalho a ser feito.
Entretanto, o OpenUP assume que a equipe de projeto não é responsável por certas atividades e decisões que são atribuídas a outras áreas da organização, tais como:
- A criação de casos de negócio é tratada pela gestão que decide se o projeto deve ou não investir nela, qual o retorno do investimento, etc.
- a configuração de ambiente - algumas questões organizacionais podem não estar no âmbito da equipe, tais como: instalação, configuração e licenciamento de ferramentas de desenvolvimento e de gestão de configuração, adaptação e publicação de processos de desenvolvimento, etc.
- Implantação e operação - dirigida a nível organizacional, ao invés de a uma equipe.
Outras áreas de preocupação também não estão presentes no OpenUP, porque pequenas equipes não precisam lidar com a formalidade ou sobrecarga destas áreas. Elas incluem, mas não estão limitadas a:
- Gestão de configuração avançada
- Gestão de requisitos avançada
- Gestão de programa e portfolio
Extensível
O OpenUP pode ser adotado pelos projetos como está, porque é mínimo e completo.
Entretanto, diferentes projetos podem ter necessidades diferentes. As organizações podem estar interessadas em personalizar alguns aspectos do OpenUP para adaptá-lo aos seus projetos. Estes são alguns exemplos de possíveis personalizações:
- Adicionar novos papéis ou re-nomear os existentes
- Adicionar Etapas para funções existentes
- Criar novas orientações sobre uma determinada técnica
- Remover uma determinada área de conteúdo
- Adicionar novos templates artefatos ou modificar os existentes
- Criar um novo ciclo de vida de processo ou modificar os existentes
- Adicionar ou remover conteúdo de processo
- Adicionar orientação sobre a forma de alcançar a conformidade
- Adicionar orientação específica para uma tecnologia a ser usada
- Substituir ou aumentar uma das camadas com conteúdos novos (ex. alterando ou acrescentando material de como a gestão é realizada)
-
Etc.
O OpenUP pode ser adaptado e estendido usando a ferramenta EPF Composer, que permite ao autor, configurar e publicar métodos. Com o EPF Composer você pode adicionar, remover e alterar elementos, de acordo com as necessidades da sua equipe e, em seguida, publicar o conteúdo para servir de orientação para ela.
Veja mais informações sobre personalização em Supporting Material: Recursos Para Modificar Métodos. |