40
JORNADA DA INFORMÁTICA - UNESP BAURU

Open Up – Gerenciando Projetos Sob Principios Ágeis

Embed Size (px)

DESCRIPTION

Palestra sobre Open UP realizada na Jornada da Informática da Unesp Bauru no ano de 2007

Citation preview

Page 1: Open Up – Gerenciando Projetos Sob Principios Ágeis

JORNADA DA INFORMÁTICA - UNESP BAURU

Page 2: Open Up – Gerenciando Projetos Sob Principios Ágeis

O que é Open UP? Core Principles Ciclo de Iterações Ciclo do Projeto Papéis e Artefatos Informações Adicionais Dúvidas

Page 3: Open Up – Gerenciando Projetos Sob Principios Ágeis

Apresentação, origem e situação atual

Page 4: Open Up – Gerenciando Projetos Sob Principios Ágeis

Experiência dos participantes

Metodologias conhecidas

Áreas de atuação

Motivação pessoal para estudo

Page 5: Open Up – Gerenciando Projetos Sob Principios Ágeis

Teve suas origens no Rational Unified Process(RUP), processo proprietário da IBM, embasado em um framework de processos

Abordagem mais “clean” do RUP

Foi de encontro as necessidades de pequenas e médias equipes, com uma abordagem agilista (Manifesto Ágil)

Page 6: Open Up – Gerenciando Projetos Sob Principios Ágeis

Metodologia Ágil baseada nos princípios do Unified Process

Abordagem Iterativa e Incremental

Baseada em Casos de Uso, cenários e com foco na comunicação entre equipe e cliente

Open Source: Extensível e adaptável

Mantido pela Eclipse Foundation

É essencial a participação direta do stakeholder como membro da equipe

Page 7: Open Up – Gerenciando Projetos Sob Principios Ágeis
Page 8: Open Up – Gerenciando Projetos Sob Principios Ágeis

Encontra-se atualmente na versão 1.0, recentemente lançada (Agosto 2007)

Lançada inicialmente pela IBM e após a liberação do código, mantida pela Eclipse Foundation

Library Open Source disponível para download e extensível através do uso do EPF (Eclipse Process Framework)

Page 9: Open Up – Gerenciando Projetos Sob Principios Ágeis

Os quatro conceitos chaves

Page 10: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Balance competing priorities to maximize stakeholder value ”

Prioridades definidas junto ao cliente

Business Centric X Architecture Centric

Metodologia Iterativa e Incremental – Prova constante de valor

Três fatores de entendimento entre equipe e cliente: O Problema a ser resolvido

Custos, Recursos, Cronograma do Projeto

Funcionalidades da Solução

Page 11: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Balance competing priorities to maximize stakeholder value ”

Práticas Conheça muito bem seu cliente e o que ele quer, mantendo-o na

“equipe do projeto”

Entenda muito bem o problema antes de pensar na solução

Faça a equipe conhecer o projeto como um todo

Utilize cenários e casos de uso para captura de requisitos

Alinhe prioridades continuamente durante o projeto

Gerencie mudanças naturalmente, elas são inevitáveis!!!

Page 12: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Collaborate to align interests and share understanding ”

Software é criado por pessoas com diferentes visões e interesses que devem trabalhar juntas;

Desenvolva práticas que criem um ambiente colaborativo, alinhando interesses de toda equipe;

Opõe modelos adotados nas chamadas “Fábricas de Software”

Equipe motivada

Page 13: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Collaborate to align interests and share understanding ”

Práticas Mantenha um entendimento comum do projeto dentro da equipe

através de artefatos e comunicação clara e pró-ativa

Desenvolva um ambiente saudável onde cada membro da equipegerencie seu próprio trabalho. Transparência e clareza nas atribuiçõese responsabilidades

Compartilhe responsabilidades permitindo que todos da equipe se sintam parte do projeto

Aprendizado contínuo – Workshops internos

Page 14: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Focus on the architecture early to minimize risks and organize development ”

Foco na arquitetura do sistema no início do projeto

O foco na arquitetura auxilia a equipe a avaliar complexidade, mitigar riscos arquiteturais e organizar o desenvolvimento

A arquitetura deve ser a o alicerce do sistema, o meio para se chegar ao fim, que é o objetivo do negócio

A arquitetura deve ser dirigida a atender as necessidades de negócio

Page 15: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Focus on the architecture early to minimize risks and organize development ”

Práticas Pense em uma arquitetura para aquilo que se conhece hoje, sem

querer prever o futuro – Business Centric

Use a arquitetura como uma forma de centrar os desenvolvedores no objetivo do projeto

Organize a arquitetura evitando acoplamento e com componentesreutilizáveis

Reuse e aprenda com componentes de outros projetos

Page 16: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Evolve to continuously obtain feedback and improve ”

Promova práticas que permitam a equipe obter feedback e provar valor continuamente ao cliente

Gerenciamento de Mudanças - Através do feedback contínuo, as mudanças tem um impacto muito menor

A equipe sente-se motivada e participante direta do projeto

Esqueça a blindagem do seu projeto!!

Page 17: Open Up – Gerenciando Projetos Sob Principios Ágeis

“Evolve to continuously obtain feedback and improve ”

Práticas Desenvolva o projeto em iterações

Foque a equipe na entrega do próximo build

Gerencie os riscos continuamente à partir do feedback obtido

Gerencie as mudanças de seu projeto

Meça o progresso continuamente, permitindo o redimensionamentode recursos

Faça encontros regulares com a equipe, absorvendo idéias e resolvendo problemas de cotidiano

Page 18: Open Up – Gerenciando Projetos Sob Principios Ágeis

Organização e geração das iterações

Page 19: Open Up – Gerenciando Projetos Sob Principios Ágeis

As iterações no Open UP agrupam um ou mais requisitos em períodos fixos, de um mês em média

Uma iteração contempla todas as fases da construção do software

Ao final da iteração, uma versão do software rodando é entregue ao cliente, comprovando o trabalho realizado até então

A montagem das iterações é umas das disciplinas mais complicadas na adoção de uma metodologia iterativa e incremental

Page 20: Open Up – Gerenciando Projetos Sob Principios Ágeis

Cada iteração é composta por vários itens de trabalho. Exemplo: Modelar banco, desenvolver camada de acesso a dados, etc;

Para cada item de trabalho, o membro da equipe cria os seus micro incrementos

O micro incremento entrega código e/ou artefato diariamente para agregar valor a iteração

Através dos micro incrementos, o arquiteto pode avaliar a qualidade do código produzido pelos desenvolvedores

Page 21: Open Up – Gerenciando Projetos Sob Principios Ágeis

Para as n iterações do projeto, repetem-se as ações abaixo:

Page 22: Open Up – Gerenciando Projetos Sob Principios Ágeis

O Ciclo completo do projeto

Page 23: Open Up – Gerenciando Projetos Sob Principios Ágeis

É durante o ciclo de vida do projeto que os artefatos serão gerados, permitindo ao stakeholder e a equipe, tomarem decisões a cerca do negócio, do projeto, dos riscos que envolvem o processo de desenvolvimento

Um projeto é composto por várias iterações

O projeto é organizado em quatro fases e cada iteração pode conter as mesmas fases que organizam o projeto

Page 24: Open Up – Gerenciando Projetos Sob Principios Ágeis

Fase 1 – Inception - Esta fase objetiva a criação de uma visão geral do problema a ser resolvido, propor os pontos chaves do sistema, sugerindo ao menos uma solução, baseando-se em variáveis como custo, cronograma e recursos

Fase 2 – Elaboration – É nesta fase em que a equipe se preocupará com o detalhamento dos requisitos e como a arquitetura proposta irá trabalhar com os requisitos. Neste momento a equipe deverá mitigar riscos técnicos e não técnicos, alinhando as ações junto ao stakeholder

Page 25: Open Up – Gerenciando Projetos Sob Principios Ágeis

Fase 3 – Construction - Aqui, efetivamente, o sistema será desenvolvido, focando em atender requisitos propostos pela iteração. Ao final desta fase, será entregue uma versão estável e testada do sistema

Fase 4 – Transition – O foco nesta fase é fazer a transição da versão nova do software do ambiente do desenvolvimento para o stakeholder. Aqui são realizados e aplicadas técnicas de testes, de forma que o software entregue na iteração seja totalmente funcional

Page 26: Open Up – Gerenciando Projetos Sob Principios Ágeis

Redução do risco e criação constante de valor

Page 27: Open Up – Gerenciando Projetos Sob Principios Ágeis

A relação entre os papéis e artefatos

Page 28: Open Up – Gerenciando Projetos Sob Principios Ágeis

Uma boa equipe conta com profissionais com diferentes habilidades

Open UP sugere a divisão de responsabilidades em papéis. Cada papel irá trabalhar com um ou mais artefatos

Artefato é qualquer tipo de saída do processo de desenvolvimento de software, seja ele código, diagrama ou documentação

Page 29: Open Up – Gerenciando Projetos Sob Principios Ágeis
Page 30: Open Up – Gerenciando Projetos Sob Principios Ágeis

O stakeholder representa o real interessado no projeto. Pode ser uma pessoa ou um grupo de pessoas representando uma instituição

O stakeholder deve participar ativamente de todas as fases do projeto

Não é responsável direto por nenhum artefato, porém participa indiretamente da confecção e avaliação de outros artefatos

Page 31: Open Up – Gerenciando Projetos Sob Principios Ágeis

Responsável por ser o elo de ligação entre o cliente e a equipe.

Em uma nova abordagem, tem o foco no negócio, Analista de Negócio

A interação do Analista com os artefatos

Page 32: Open Up – Gerenciando Projetos Sob Principios Ágeis

Responsável pela modelagem da solução, a arquitetura do software

Deve coordenar tecnicamente os desenvolvedores

A interação do Arquiteto com os artefatos

Page 33: Open Up – Gerenciando Projetos Sob Principios Ágeis

Responsável pelo desenvolvimento do software, incluindo seguir a arquitetura proposta, implementando testes unitários, garantindo a qualidade do código desenvolvido

A interação do Desenvolvedor com os artefatos

Page 34: Open Up – Gerenciando Projetos Sob Principios Ágeis

Responsável pela equipe de projeto, coordenando a interação com o stakeholder, mantendo a equipe focada no projeto

Deve ter um perfil de liderança e organização

A interação do Gerente de Projeto com os artefatos

Page 35: Open Up – Gerenciando Projetos Sob Principios Ágeis

Responsável imediato pela avaliação de cada versão do software liberada para o stakeholder

Deve coordenar os testes de forma sistemática, notificando a equipe dos resultados e sugerindo correções

A interação do Tester com os artefatos

Page 36: Open Up – Gerenciando Projetos Sob Principios Ágeis

Ferramentas de apoio e referências

Page 37: Open Up – Gerenciando Projetos Sob Principios Ágeis

Por ser uma ferramentas open source e relativamente nova, existem poucas ferramentas de apoio ao gerenciamento do projeto.

Recentemente foram lançadas duas ferramentas, a Project Koach e a Mingle.

Análise da Project Koach, em meu blog

Page 38: Open Up – Gerenciando Projetos Sob Principios Ágeis

Documentação completa para consulta on-line e também para download http://www.epfwiki.net/wikis/openup/index.htm http://www.eclipse.org/epf/downloads/openup/openup_downloads.php

EPF Composer – Ferramenta baseado na plataforma Eclipse para extensão do OpenUP

http://www.epfwiki.net/wikis/openup/index.htm

Project Koach – Ferramenta de apoio ao gerenciamento do projeto http://www.projectkoach.com/

Blogs com conteúdo sobre OpenUP e metodologias Meu Blog - http://jean-streleski.blogspot.com José Paulo Papo - http://josepaulopapo.blogspot.com/ Paulo Vasconcellos - http://finito-log.blogspot.com/

Manifesto Ágil http://agilemanifesto.org/

Page 39: Open Up – Gerenciando Projetos Sob Principios Ágeis
Page 40: Open Up – Gerenciando Projetos Sob Principios Ágeis

E-mail: [email protected]: http://jean-streleski.blogspot.commsn: [email protected]