1
Eclipse Process Framework:Uma nova visão da
engenharia de softwareAna Paula Valente Pereira
IST – Organização e Gestão da Função Informática22 de Outubro de 2007
2
Tenho alguns anos de experiência em desenvolvimento de software ..
RUP
SCRUM
Tive que ler muita documentação de boas práticas de desenvolvimento de software ...
SWEBOK
CMM
XP
Waterfall
Spiral
DSDM
Crystal
FDDLean
Mas o problema sempre foi a sua aplicação real ....
• O conhecimento não é facilmente adaptado a diferentes projectos ou novas práticas• Não exite uma terminologia ou linguagem comum entre processos - redundância and inconsistências• Não exite uma comunidade central ou mecanismo de comunicação que facilite a convergência de boas
práticas nos diversos dominios.
Livro de J2EE
Artigos sobredesenvolvimento ágil
Guia JUnit
Templates de Projecto
Artigos sobre .NET
Guia de Gestão de Configuração
Lições de ProjectosAnteriores
NormasCorporativas
Normalizar a representação Métodos e criar bibliotecas de Conteúdo reutilizável
Desenvolver e gerirProcessos
para aplicação aos projectos
Configurar uma framework de processos coesaque se possa adaptar às necessidades de cada projecto
A melhor solução que encontrei passa por:
Boas Práticas
Lições de Projectos Anteriores
Normas Corporativas
Templates de Planos de Projecto
A comunidade Eclipse Process Frameworktornou possível essa realidade
Uma comunidade aberta com uma nova visão da engenharia de software
7
A Comunidade EPF
www.eclipse.org/epf
IBMPer Kroll, Ricardo Balduino, Jim Ruehlin
Scott Ambler, Bruce McIsac,Perter Haumer, Charles Yan
TelelogicChris Sibbald, Kurt Sand
NumberSixBrian Lyons, Nate Oster
Whatever Consulting GroupAna Valente Pereira
University of British ColumbiaSteve Adolph
European Software InstituteAsier Azaceta
Xansa, DSDMMark Dickson
Ivar Jacobson Int.DJ de Villiers
8
É um fórum de convergência da industria para investimentos em processos:
TOOLING (Authoring, Publishing)
META MODEL (based on SPEM)
ECLIPSE
Open UPBasic(Agile)
Tool ExtensionsExtensible, Customizable, Flexible
Common Language & Vocabulary
Open Source Development
SCRUM(Agile)
In-houseContentPlug-ins
EXTENSIONS• Project Mgmt.• Oper. Mgmt.• Systems Mgmt.
ComercialProcessContentPlug-ins
XP, DSDMPlug-ins(Agile)
Free ProcessContentPlug-ins
9
A comunidade EPF definiu uma linguagem comum para descrever qualquer metodologia
10
Em cada método as pessoas representam papeis que executam tarefas, produzindo resultados
11
Existe uma clara distinção entre as noções de método e de processo
12
Os processos definem como são usados os métodos ao longo do tempo
13
A comunidade EPF disponibiliza uma ferramenta para editar os processos: o EPF Composer
Roles
Work Products
Tasks
Guidelines
Templates
Process Lifecycle:Phases
Iterations
14
O EPF Composer gere o conteúdo dos métodos
IC / Best Practices
Books / Publications
Standards / Regulations
Homegrown Methods
Gestão de Conteúdos de: Roles, Tasks, Workproducts, Guidelines, Templates, Checklists, White Papers, etc
15
O EPF Composer permite definir processos para diversos tipos de projectos
Workflow
Breakdown / Iterations / Increments / Sprints / Waterfall
Workflow
Composição de processos reutilizandocontéudo de métodos e padrõesGestão de WBS e Diagramas de ActividadesWizards para criação de Planos de Projecto
16
O EPF Composer permite combinar processos, criando conteúdo derivado
Ciclo de Vida ProcessoUnificado
Ciclo de Vida SCRUM com Sprints
Reutilização do Padrão de Testes do OpenUP no SCRUM
17
A comunidade EPF disponibiliza processos para aplicação aos projectos de software ....
18
As principais áreas de foco têm sido as Metodologias Ágeis...
Individuals and interactionsWorking software
Customer collaborationResponding to change
over processes and tools over comprehensive documentation over contract negotiation over following a plan
Agile Manifesto:
19
... porque projectos complexos requerem outro ponto de vista
Condicionantes
Estimativas
Requisitos
CalendárioCusto
PrazoCusto
Funcionalidades
Plano Valor / Visão
Tradicional(Preditivo)
Agile(Adaptativo)
20
e bastante disciplina ... mas não burocracia
21
Os processos ágeis mais conhecidos estão disponíveis para download em eclipse.org/epf
22
Introdução ao SCRUM
23
O SCRUM tem poucos elementos:
24
A equipa auto organiza-se nas reuniões
25
Medindo a sua velocidade a equipa consegue planear as entregas
26
Introdução ao OpenUP
27
O OpenUP é mínimo, completo e extensível
28
O OpenUP também organiza o trabalho da equipa em iterações
29
Mas o foco de cada iteração muda ao longo das fases do projecto
30
Porque cada fase tem objectivos bem definidos
31
O foco do trabalho a realizar em cada dia muda ao longo da iteração
32
Cada elemento da equipa gere o seu trabalho por incrementos
33
O gestor de projecto colabora com a equipa na definição do plano macro do projecto...
34
... e orienta a equipa no plano detalhado de cada iteração e na avaliação dos resultados
35
O analista é responsável pela gestão das intenções do cliente ...
Formas de Requisitos:• Vision:
– Define o produto do ponto de vista do cliente• Use Cases:
– Definem cenários de utilização
• Supporting Requirements: – Definem requisitos técnicos e não relacionados
com a utilização
URPS+
36
...elabora os requisitos ao longo do projecto e define como serão aceites
Definição de Requisitos Iterativa• Vision define o produto• Use-case model define ambito release• Use-case detail define trabalho numa iteração• Supporting requirements are managed across
the lifecycle
Casos de Teste para Aceitação• Alinhados c/ requisitos e bugs• Especificam as condições a validar• Determinam dados necessários
37
Arquitecto e developers são responsáveis pela integração contínua da solução
Architecture Notebook Development is not a mini-waterfall
38
O OpenUP e o Agile Manifesto
Customer collaboration over
contract negotiation
Responding to change over
following a plan
Working software over
comprehensive documentation
Individuals and interactions over
process and tools
39
Como é que tudo isto se aplica aos projectos?
40
Projectos simples só precisam de um browser consultar os processos
Download de umaversão
publicada
41
Qualquer interessado pode contribuir para um processo: epfwiki.net
42
Para adaptações mais complicadas deve ser usado o EPF Composer
Adaptar:download composer
e bibliotecas
Utilizar o Composer para criar extensões: •Substituir Templates•Adicionar Guidelines ou Técnicas Especificas•Adicionar Mentoring em Ferramentas•Extender ou adicionar papeis, tarefas, exemplos, etc•Publicar as configurações efectuadas
43
Grandes empresas fazem uso do EPF Composerpara facilitar processos de certificação
Browser de práticas
CMMI, ISO, ITIL, etc
44
Novos processos podem ser partilhados naeclipseplugincentral.com
45
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)
46
Duvidas?