15 de abril de 2009

Scrum X RUP

Nos dias atuais, fala-se muito de processos, qualidade de software, médotos ágeis, e outros jagões do mundo do desenvolvimento de Software.

O RUP (ou IRUP após a aquisição da Rational pela IBM) é um método da engenharia de software, que utiliza a abordagem da análise orientada a objetos em sua concepção. Utiliza a UML (Unified Modeling Language ou Linguagem de Modelagem Unificada) como base para sua documentação do sofware. Utiliza o ciclo de vida do sofware em espiral ou iterativo, aonde é possível determinar o tamanho de cada iteração, tendo assim, um pedaço ou release do sofware de tempos em tempos, o que nada impede que toda a iteração seja o sofware como um todo (não recomendável, é claro).
O RUP preza pela documentação (tanto visual utilizando a notação da UML como escrita), controle de escopo, controle dos requisitos, controle da qualidade, pelo time com papéis bem definidos, etc, etc.
O RUP, apesar de ser uma metodologia pesada, aconselhável para grandes times e grandes projetos, é possível de se adaptar para projetos menores, tornado-o "utilizável" em projetos de menor escala com equipes menores.

O Scrum, é uma metodologia (ou framework como alguns defendem) baseada no métodos ágeis (manifesto ágil) que parte do principio, que produto pronto é produto "rodando". O Scrum defende a idéia de mais código e software rodando do que documentação, mais negociação do que avaliação de escopo x contrato.
No Scrum não existem papéis definidos como no RUP. Só existem 3 funções: Product Owner (PO), Scrum Master (SM) e Time (Team). Essa equipe faz tudo: define requisitos, analisa a melhor forma de implementar, treina os usuários, implanta e controle escopo (será que controla?).
É uma metodologia bastante ágil, aonde se pode ter entregáveis (ou funcionalidades) prontas em um espaço de tempo bem curto, algo que pode varia entre 2 a 4 semanas.
É baseada também no metodo espiral da engenharia de software, que leva em conta o o processo de iteração, mas ao contrário do RUP, aonde você fica livre de determinar o tamanho da iteração, no Scrum o tempo máximo é de 4 semanas, que são chamados de Sprint´s.

Conclusão:
Não vou dizer quem é melhor que quem... mas em resumo, as duas metodologias são bastante parececias em alguns principios mas bem diferentes em outros. A escolha entre uma ou outra, vai desde o tamanho do projeto, tamanho de equipe, até mesmo o tamanho da empresa que deseja adotar um dos métodos.
Já vi várias empresas terem sucesso tanto com Scrum como com RUP, assim como, já vi projetos de implantação de RUP e Scrum afundarem... não tem como dizer qual é a melhor, somente vivenciando e definindo aonde você e sua empresa quer chegar.

Até a próxima, prometo escrever mais sobre essas duas metodologias, e vocês poderão tirar suas conclusões.
Não deixem de conferir os links:
pt.wikipedia.org/wiki/IBM_Rational_Unified_Process
pt.wikipedia.org/wiki/UML
www.scrum.org.br (Scrum user-group no Brasil)
scrum4you.wordpress.com (blog fo Boris, um nome importante no "meio" Scrum)

Nenhum comentário:

Postar um comentário