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 :

  1. Desenvolver software de maneira iterativa
  2. Gerenciar Requisitos
  3. Utilizar arquiteturas baseadas em componentes
  4. Modelar o software
  5. Verificar continuamente a qualidade dos artefatos gerados
  6. Controlar mudanças

Com o tempo os princípios foram mudando. Em determinado momento, o “espírito do RUP” consistia em :

  1. Atacar os grandes riscos o quanto antes, continuamente
  2. Entregar valor para o cliente
  3. Direcionar seus esforços para gerar software executável
  4. Assimilar mudanças o quanto antes no projeto
  5. Definir uma arquitetura o quanto antes
  6. Construir o sistema com componentes
  7. Trabalhar como uma equipe
  8. 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:

  1. The Rational Unified Process – An Introduction
    Phillipe Kruchten. Addison-Wesley (2000 – 2ª Edição).
  2. The Rational Unified Process Made Easy
    Phillipe Kruchten e Per Kroll. Addison-Wesley (2003).
  3. Agility and Discipline Made Easy – Practices from OpenUP and RUP
    Per Kroll e Bruce MacIsaac. Addison-Wesley (2006).
.:.