quinta-feira, 28 de novembro de 2013

Sendo ágil com RUP

Muitos se perguntam como alguns autores afirmam que podemos utilizar os princípios da metodologia ágil com o RUP.

Uma resposta rápida a essa pergunta é: Sim o RUP pode ser ágil!

O RUP não define um processo de desenvolvimento, e sim ele é um framework para que a emprese modele seu processo baseado em guias definidos pelo mesmo. Como framework o RUP entrega uma arquitetura básica de conhecimento e é um guia para definição do processo de desenvolvimento.

Quem lê sobre RUP à principio vê que ele não é um framework vazio, ele já vem com sua metodologia embutida onde já existe grande quantidade de processos consolidados no mercado de software. Mas o RUP não é fechado, ele está em constante adaptação para abraçar os desafios que surgem.

Como funciona o RUP como framework?


O framework do RUP é organizado através dos conceitos interconectados citados abaixo:
  • Definições de papeis no processo;
  • Descrição das atividades de cada papel;
  • Artefatos resultantes das atividades;
  • E as orientações que definem as atividades.

Esse conjunto é chamado de disciplina.

Como dito o framework já vem preenchido com algumas centenas de artefatos, vários papéis e muitas disciplinas. Por esse motivo o RUP é considerado por muitos como um processo pesado ou tradicional, só que como framework não necessariamente a organização é obrigada a utilizar tudo que o RUP oferece, podendo optar por criar algo que mesmo sem reaproveitar nada, se adapte melhor as necessidades da organização.

Adaptando o RUP


A Ratinonal vem dando ênfase a algumas práticas adotadas pelo RUP e já consolidadas no mercado de software:

  • Iteratividade;
  • Modelos visuais;
  • Gerenciamento de requisitos;
  • Controle de mudanças;
  • Garantia contínua de qulidade;
  • E, Arquitetura baseada em componentes.

O RUP também é baseado em outros princípios menos visíveis e o sucesso da sua adoção e adaptação é o que chamam de Caso de desenvolimento. Uma instancia especifica do RUP adaptada para o projeto específico. Esse processo visa identificar o que será desenvolvido, os artefatos realmente necessários, o template a ser utilizado, os artefatos já existentes e por último quais papeis, atividades e orientações serão utilizados.

Processo ágil


A agilidade é a habilidade de se adaptar e responder rapidamente as mudanças. O processo ágil deve suportar essas mudanças de forma a não impactar negativamente o desenvolvimento do software. O RUP contém as orientações necessárias para adaptar o framework ao ambiente inicial de um projeto e seu desenvolvimento. A maior agilidade do RUP é conseguida através da iteratividade de sua abordagem iterativa e tratamento do feedback reagindo rapidamente as mudanças.

A adaptação do RUP é feita através de componentes e ferramentas que se adaptam às necessidades da organização fazendo dele uma ótima alternativa para imprimir qualidade ao projeto e tirar vantagem dos princípios ágeis.

O que ler:

Há uma impleentação de um processo ágil conhecido com AUP que modela o framework para atender as necessidades ágeis. Agile Unified Process

Artigo escrito por três autores que demonstram a adaptabilidade do RUP para abraçar os princípios ágeis Agile Rational Unified Process: RUP experiences from the trenches

Artigo de Philippe Krunchten sobre a agilidade com RUP. e a criação d do processo utilizando o framework do RUP Agility with the RUP


domingo, 24 de novembro de 2013

Uma introdução ao PMBOK


Pessoal, boa noite.

Sabemos que todo projeto de software é composto por diversas variáveis que determinam o seu sucesso: custo, prazo e qualidade são exemplos de algumas delas. A disciplina gerência de projetos é formada por um conjunto de atividades relacionadas que são utilizadas para atingir uma série de objetivos pré-definidos. Na grande maioria das vezes, o controle dessas variáveis está diretamente ligado a correta execução dessas atividades.   

O guia PMBOK (Project Management Body of Knowledge), publicado pela primeira vez em 1983 e utilizado como base para os programas de desenvolvimento profissional do PMI (Project Management Institute), tem como objetivo identificar e documentar, para fins de padronização, um subconjunto de conhecimentos (habilidades, ferramentas e técnicas) em gerência de projetos que é amplamente reconhecido como boas práticas, termo que nos leva a compreender que existe um acordo geral a respeito do valor e utilidade dos conceitos abordados no guia e que eles são aplicados com sucesso na maioria dos projetos existentes. No entanto, isso não significa que estes conceitos serão aplicados sempre. A equipe de gerenciamento de projetos é responsável por definir o que será adequado pra um determinado projeto.

O PMBOK também fornece e promove um vocabulário comum para se discutir, escrever e aplicar o gerenciamento de projetos. Processos e sub processos descrevem de forma organizada o trabalho a ser realizado durante todo o projeto, abordagem semelhante à empregada por outras normas como a ISO 9000 e o CMMI.

Por enquanto isso é tudo pessoal. 
Um forte abraço a todos. 
Até a próxima!

Fonte:

[1] Guia PMBOK, 3ª Edição - Português | Último acesso em 24/11/2013. 
[2] Gerenciamento de projetos PMBOK | Último acesso em 24/11/2013.
[3] Introdução ao PMI, PMBoK e ao PMP | Último acesso em 24/11/2013.

segunda-feira, 18 de novembro de 2013

Conhecendo o RUP

Rational Unified Process foi criado pela Rational Software Corporation que posteriormente foi adquirida pela IBM que mudou seu nome para IBM Rational Unified Process. O RUP, como normalmente é conhecido, é um processo que fornece técnicas a serem seguidas por uma equipe de desenvolvimento de software com o objetivo de melhoria de produtividade durante a criação de um produto de software.

O RUP adota a UML como notação na construção de documentos e tem abordagem orientada a objetos, muitos que desconhecem a filosofia do RUP a consideram uma metodologia pesada e tem uma maior aderencia a equipes grandes de desenvolvimento, porém por sua característica de uma customização ampla permite que ela seja adaptada a projetos e equipes de pequeno porte. Juntamente com o processo a IBM fornece ferramentas de desenvolvimento integradas chamadas por "Rational Suites".

O RUP define templates para a equipe durante o ciclo de desenvolvimento como um guia mestre ajudando a manter-se concentrado no  projeto.

  • Gestão de requisitos


O RUP descreve como realizar documentação das funcionalidades, restrições e requisitos de negócios do projeto.

  • Uso de arquitetura baseada em componente


Arquitetura baseada em componentes cria sistemas que podem ser extensiveis e promove a reutilização. O RUP fornece guias para que o produto de software seja criado sobre essa arquitetura.

  • Uso de software de modelos visuais


O RUP adotou a UML como forma de comunicação e documentação do projeto de software. O uso de modelos visuais melhorar a comunicação e entendimento e consegue representar a abstração do software com maior fidelidade.

  • Verificação da qualidade do software


A qualidade do software é uma meta essencial para qualquer produto de software que está sendo construído. O RUP auxilia no controle e planejamento da verificação da qualidade envolvendo todo o processo e todos membros de equipe.

  • Gestão e controle de mudanças de software


Por sua natureza um produto de software é muito suscetível a mudanças durante o processo de desenvolvimento. O RUP define métodos para controlar e monitorar mudanças.

Os posts seguintes abordarão muitas das carecterísticas do RUP.

Aguardem novidades.