Sie sind auf Seite 1von 46

Eclipse Process Framework: Uma nova viso da engenharia de software

Ana Paula Valente Pereira

IST Organizao e Gesto da Funo Informtica 22 de Outubro de 2007

Tenho alguns anos de experincia em desenvolvimento de software ..

Tive que ler muita documentao de boas prticas de desenvolvimento de software ...
SWEBOK CMM

Waterfall Spiral

RUP Lean SCRUM

XP FDD Crystal

DSDM

Mas o problema sempre foi a sua aplicao real ....


Artigos sobre desenvolvimento gil Guia de Gesto de Configurao

Livro de J2EE

Templates de Projecto

Guia JUnit

Lies de Projectos Anteriores

Artigos sobre .NET Normas Corporativas

O conhecimento no facilmente adaptado a diferentes projectos ou novas prticas No exite uma terminologia ou linguagem comum entre processos - redundncia and inconsistncias No exite uma comunidade central ou mecanismo de comunicao que facilite a convergncia de boas prticas nos diversos dominios.

A melhor soluo que encontrei passa por:


Normalizar a representao Mtodos e criar bibliotecas de Contedo reutilizvel

Desenvolver e gerir Processos para aplicao aos projectos


Boas Prticas Normas Corporativas Templates de Planos de Projecto Lies de Projectos Anteriores

Configurar uma framework de processos coesa que se possa adaptar s necessidades de cada projecto

A comunidade Eclipse Process Framework tornou possvel essa realidade

Uma comunidade aberta com uma nova viso da engenharia de software

A Comunidade EPF
IBM
Per Kroll, Ricardo Balduino, Jim Ruehlin Scott Ambler, Bruce McIsac, Perter Haumer, Charles Yan

Telelogic
Chris Sibbald, Kurt Sand

NumberSix
Brian Lyons, Nate Oster

Ivar Jacobson Int.


DJ de Villiers

University of British Columbia


Steve Adolph

European Software Institute


Asier Azaceta

Whatever Consulting Group


Ana Valente Pereira

Xansa, DSDM
Mark Dickson 7

www.eclipse.org/epf

um frum de convergncia da industria para investimentos em processos:


EXTENSIONS Project Mgmt. Oper. Mgmt. Systems Mgmt. In-house Content Plug-ins Free Process Content Plug-ins Comercial Process Content Plug-ins

Open UP Basic (Agile)

SCRUM (Agile)

XP, DSDM Plug-ins (Agile)

Extensible, Customizable, Flexible

TOOLING (Authoring, Publishing)

Tool Extensions

Common Language & Vocabulary

META MODEL (based on SPEM)


8

Open Source Development

ECLIPSE

A comunidade EPF definiu uma linguagem comum para descrever qualquer metodologia

Em cada mtodo as pessoas representam papeis que executam tarefas, produzindo resultados

10

Existe uma clara distino entre as noes de mtodo e de processo

11

Os processos definem como so usados os mtodos ao longo do tempo

12

A comunidade EPF disponibiliza uma ferramenta para editar os processos: o EPF Composer
Process Lifecycle: Phases Iterations

Roles

Tasks

Templates

Guidelines

Work Products

13

O EPF Composer gere o contedo dos mtodos

IC / Best Practices

Gesto de Contedos de: Roles, Tasks, Workproducts, Guidelines, Templates, Checklists, White Papers, etc

Books / Publications

Standards / Regulations

Homegrown Methods

14

O EPF Composer permite definir processos para diversos tipos de projectos

Workflow

Composio de processos reutilizando contudo de mtodos e padres Gesto de WBS e Diagramas de Actividades Wizards para criao de Planos de Projecto
Workflow

Breakdown / Iterations / Increments / Sprints / Waterfall

15

O EPF Composer permite combinar processos, criando contedo derivado


Ciclo de Vida Processo Unificado

Ciclo de Vida SCRUM com Sprints

Reutilizao do Padro de Testes do OpenUP no 16 SCRUM

A comunidade EPF disponibiliza processos para aplicao aos projectos de software ....

17

As principais reas de foco tm sido as Metodologias geis...

Agile Manifesto: Individuals and interactions Working software Customer collaboration Responding to change over over over over processes and tools comprehensive documentation contract negotiation 18 following a plan

... porque projectos complexos requerem outro ponto de vista


Tradicional
(Preditivo)

Agile
(Adaptativo) Custo Prazo

Condicionantes

Requisitos

Plano

Valor / Viso

Estimativas

Custo

Calendrio

Funcionalidades
19

e bastante disciplina ... mas no burocracia

20

Os processos geis mais conhecidos esto disponveis para download em eclipse.org/epf

21

Introduo ao SCRUM

22

O SCRUM tem poucos elementos:

23

A equipa auto organiza-se nas reunies

24

Medindo a sua velocidade a equipa consegue planear as entregas

25

Introduo ao OpenUP

26

O OpenUP mnimo, completo e extensvel

27

O OpenUP tambm organiza o trabalho da equipa em iteraes

28

Mas o foco de cada iterao muda ao longo das fases do projecto

29

Porque cada fase tem objectivos bem definidos

30

O foco do trabalho a realizar em cada dia muda ao longo da iterao

31

Cada elemento da equipa gere o seu trabalho por incrementos

32

O gestor de projecto colabora com a equipa na definio do plano macro do projecto...

33

... e orienta a equipa no plano detalhado de cada iterao e na avaliao dos resultados

34

O analista responsvel pela gesto das intenes do cliente ...


Formas de Requisitos:
Vision:
Define o produto do ponto de vista do cliente

Use Cases:
Definem cenrios de utilizao

Supporting Requirements:
Definem requisitos tcnicos e no relacionados com a utilizao

URPS+

35

...elabora os requisitos ao longo do projecto e define como sero aceites


Definio de Requisitos Iterativa
Vision define o produto Use-case model define ambito release Use-case detail define trabalho numa iterao Supporting requirements are managed across the lifecycle

Casos de Teste para Aceitao


Alinhados c/ requisitos e bugs Especificam as condies a validar Determinam dados necessrios

36

Arquitecto e developers so responsveis pela integrao contnua da soluo

Architecture Notebook

Development is not a mini-waterfall

37

O OpenUP e o Agile Manifesto

Responding to change over following a plan

Customer collaboration over contract negotiation

Working software over comprehensive documentation

Individuals and interactions over process and tools

38

Como que tudo isto se aplica aos projectos?

39

Projectos simples s precisam de um browser consultar os processos

Download de uma verso 40 publicada

Qualquer interessado pode contribuir para um processo: epfwiki.net

41

Para adaptaes mais complicadas deve ser usado o EPF Composer

Adaptar: download composer e bibliotecas

Utilizar o Composer para criar extenses: Substituir Templates Adicionar Guidelines ou Tcnicas Especificas Adicionar Mentoring em Ferramentas Extender ou adicionar papeis, tarefas, exemplos, etc Publicar as configuraes efectuadas

42

Grandes empresas fazem uso do EPF Composer para facilitar processos de certificao

Browser de prticas CMMI, ISO, ITIL, etc

43

Novos processos podem ser partilhados na eclipseplugincentral.com

44

Para saber mais:


Eclipse Process Framework (EPF) information
http://www.eclipse.org/epf/ See right column for Getting Started, Newsgroup, Developers Mail List, etc

Articles in Rational Edge, www.therationaledge.com


DeveloperWorks: The Eclipse Process Framework Project, Kroll, http://www.ibm.com/developerworks/rational/library/05/1011_kroll/ Eclipse Review: A Development Library at your Fingertips, Kroll and Sand, http://www.eclipsereview.com/retrieve/er_200609.htm Rational Edge: Eclipse Process Framework Composer - Part 1: Key Concepts, Haumer, http://www.eclipse.org/epf/general/EPFComposerOverviewPart1.pdf Rational Edge: Eclipse Process Framework Composer - Part 2: Authoring Method Content and Processes, Haumer, http://www.eclipse.org/epf/general/EPFComposerOverviewPart2.pdf

Books
Per Kroll and Bruce MacIsaac, Agility and Discipline Made Easy Practices from OpenUP and RUP, Addision-Wesley (2006)

45

Duvidas?

46