quarta-feira, 8 de janeiro de 2014

As baleias do RUP


Bom dia, hoje vamos dar uma olhada no que alguns conhecem como baleias do RUP. O RUP divide suas iterações em fases e disciplinas. Elas devido duas características e tempo em cada disciplina formam gráficos que lembram desenhos de baleias.

A ideia do tópico hoje é interpretar esse gráfico tão conhecidos por aqueles que já fizeram algum estudo sobre o processo.

O ciclo do projeto no RUP é dividido em fases: Iniciação, Elaboração, Construção, Transição. As disciplinas são as divisões das atividades do RUP, no total são nove disciplinas que por sua característica iterativa e incremental acontecem em todas as fases de desenvolvimento.
Só que dependendo da maturidade do projeto, ou do tempo decorrido de execução dele algumas atividades tem maior importância que outras. Quando dividido esse tempo decorrido de execução em fases bem distintas percebemos isso com mais clareza.
Olhando o gráfico fica claro que as disciplinas de Modelagem, Requisito, ocorrem com maior intensidade no início de um projeto. Em seguida a disciplina de análise e projeto ganha maior foco enquanto até acontecer a transição para a parte de implementação. A disciplina de teste acontece quando a parte de implementação já está em seu fim seguido da fase de implantação.
As disciplinas de Gerencia de configuração e mudança, gerenciamento de projeto e ambiente acontecem quase de forma constante durante todo o projeto sendo que são atividades de suporte a execução do projeto por isso não atingem picos em que demando maior esforço que o próprio projeto.
Conseguimos ver a característica incremental do RUP nesse gráfico também. Nenhuma das disciplinas deixa de ser executada durante alguma fase. Isso porque o RUP é um processo que consegue atender a imprevisibilidade do desenvolvimento de um projeto de software. Por isso mesmo que não seja comum os requisitos podem sofrer mudanças em fases mais avançadas do projeto.

Espero que com isso o gráfico consiga ser visto com maior clareza e não assuste aqueles que buscam conhecer o RUP.

Abraços.

quinta-feira, 12 de dezembro de 2013

Atualização PMBOK 5° Edição

Olá pessoal! Falaremos agora sobre algo que acabou de sair do forno. Em 2013 houve a atualização do PMBOK 4° edição para a 5° edição.

Resumo das principais mudanças: - Adição de 1 nova área de conhecimento;
                                                     - 7 novos processos; e
                                                     - Remoção de 2 processos.

A nova área adicionada ao PMBOK 5° edição foi a "Gerenciamento das Partes Interessadas do Projeto"

Abaixo segue tabela com as áreas de conhecimento e processos atualizados:

;
                                                   

                                      Em próximos posts desceremos um pouco mais o nível de conhecimento e elucidaremos a fundo algumas dessas mudanças.

domingo, 8 de dezembro de 2013

Relacionando RUP e PMBOK - Parte 2

Uma característica do PMBOK é que ele deve ser aplicado ao processo de negócio existente. Dessa maneira, uma empresa pode utilizar o RUP como seu processo de desenvolvimento de software e aplicar o PMBOK. Dessa forma, em cada uma das fases do RUP seriam utilizadas as melhores práticas do PMBOK.

Uma maneira de se fazer isso é através de mapeamentos:

  1. Mapeia-se as papéis, processos e saídas do PMI para os papéis, atividades e artefatos do RUP. Recomenda-se que se agrupe pelos papéis do RUP.
  2. Para cada atividade de um papel, mapeia-se para um grupo de processos do PMBOK. Esse processo é repetido para cada grupo de papéis até todas as atividades estarem mapeadas para um processo.
  3. Compara-se então as diferenças das demais características (saídas, técnicas, ferramentas) e ajustam-se as atividades que não estão de acordo com o PMBOK.

É importante notar que esse mapeamento vai mudar de acordo com a configuração do RUP escolhida, já que a quantidade de papéis e atividades vai mudar de acordo com o tamanho do projeto e da equipe.

E essa é uma das formas de utilizar RUP e PMBOK em conjunto. Abraços!

segunda-feira, 2 de dezembro de 2013

Relacionando RUP e PMBOK - Parte 1

O RUP e o PMBOK são dois frameworks que podem ser utilizados de maneira conjunta. Vejamos uma breve comparação entre eles para entendermos melhor:


  • O PMBOK descreve as melhores práticas utilizadas na indústria. O RUP ajuda uma equipe de desenvolvimento de software implementar as melhores práticas.
  • O PMBOK descreve um ciclo de vida para um projeto genérico. O RUP descreve um projeto de software genérico dentro de um ciclo de vida de um projeto.
  • O PMBOK descreve como gerenciar projetos de qualquer tamanho. O RUP pode ser utilizado para criar um software de qualquer tamanho.

Pode-se dizer que o PMBOK descreve as melhores práticas de gerenciamento de projetos enquanto o RUP ajuda a colocar em prática essas recomendações. Então isso significa que o RUP é um 'produto derivado' do PMBOK? Não exatamente.

Mais sobre essa relação num futuro post. Abraços!

Fonte: 

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.