Quem participa do ótimo grupo UML-BR (Yahoo!Groups) deve ter visto uma discussão em torno da liberação da versão 1.0 do OpenUP. Em determinado momento, ainda lá nas primeiras mensagens, o debate virou “Architecture Centric X Business Centric”. Enquanto o RUP estaria mais para o primeiro, o OpenUP seria uma representação do segundo. Não é uma definição amplamente aceita. O RUP vem alterando seus princípios desde sua criação. Tanto que no verbete RUP da Wikipedia ele também é apresentado como “business centric”.
Para entender: quando lançado, eram apresentados como princípios (ou grupos de melhores práticas) do RUP :
- Desenvolver software de maneira iterativa
- Gerenciar Requisitos
- Utilizar arquiteturas baseadas em componentes
- Modelar o software
- Verificar continuamente a qualidade dos artefatos gerados
- Controlar mudanças
Com o tempo os princípios foram mudando. Em determinado momento, o “espírito do RUP” consistia em :
- Atacar os grandes riscos o quanto antes, continuamente
- Entregar valor para o cliente
- Direcionar seus esforços para gerar software executável
- Assimilar mudanças o quanto antes no projeto
- Definir uma arquitetura o quanto antes
- Construir o sistema com componentes
- Trabalhar como uma equipe
- Fazer da qualidade um modo de vida
A pressão do “Agile Manifesto” e por um processo menos “pesado” continuou, o que nos trouxe para o mais novo conjunto de princípios que, segundo Per Kroll e Bruce MacIsaac , norteiam tanto o RUP quanto o OpenUP. São eles:
- A)daptar o Processo;
- B)alancear Prioridades dos stakeholders;
- C)olaboração entre os times;
- D)emonstrar valor de maneira iterativa;
- E)levar o nível de abstração; e
- F)ocalizar continuamente a qualidade.
Este último conjunto seria, segundo seus criadores, “Business-Centric”, enquanto os dois anteriores, particularmente o primeiro, seria nitidamente “Architecture-Centric”. No grupo de discussão, respondendo ao Marcio Tierno e Rodrigo Yoshima, eu falei que não concordava com o rótulo “Business-Centric”. É um rótulo adotado pelos próprios criadores da lista de princípios. Se fosse um rótulo colocado por gente de fora, um consenso, tudo bem. Mas ao batizar suas idéias e sugestões de práticas de “business-centric”, os autores, imho, pesaram a mão. Eu disse que a lista parece mais “Agile-Manifesto-Centric”, enquanto o Tierno sugeriu “User-Centric”. Mas a crítica não basta.
Desde então ando pensando em quais seriam os princípios de um processo “Business-Centric” de verdade. Meus 7 cents:
- D)emonstrar valor de maneira iterativa
- E)ntender (e Melhorar) o negócio
- V)alorizar ativos de software
- A)daptar o processo
- G)erenciar requisitos (e mudanças)
- A)tacar os riscos
- R)espeitar os usuários
Ops… D.E.V.A.G.A.R…. não deve pegar muito bem. Talvez com sobrenome: “Devagar e Sempre!” hehe..
Mas, apesar do nome, gostei da idéia. No próximo post falo um pouco mais sobre cada princípio.
Bibliografia:
- The Rational Unified Process – An Introduction
Phillipe Kruchten. Addison-Wesley (2000 – 2ª Edição). - The Rational Unified Process Made Easy
Phillipe Kruchten e Per Kroll. Addison-Wesley (2003). - Agility and Discipline Made Easy – Practices from OpenUP and RUP
Per Kroll e Bruce MacIsaac. Addison-Wesley (2006).