Putting the "Agile" into an Enterprise

49
Putting the "Agile" into an Putting the "Agile" into an Enterprise Architecture Process Enterprise Architecture Process Creating an AgileEA Process Creating an AgileEA Process Charles Edwards 13 March 2007 Version 1.1

description

Flow Charts, Entity-Relationships, Data Flow, IEW & other case tools (80’s) InfoMet - South Africa - EA modelling (90-97) UML 1..2 (from 97 current), Sparx Enterprise Architect (2003), ARIS (2005) “ “Y O U C A N Y O U C A N ’ ’T M A N A G E W H A T Y O U C A N T M A N A G E W H A T Y O U C A N ’ Some PROs • Generic (purposely) • Configurable • Broad Coverage • Growing • Open • Helps governance…

Transcript of Putting the "Agile" into an Enterprise

Putting the "Agile" into anPutting the "Agile" into anEnterprise Architecture ProcessEnterprise Architecture Process

Creating an AgileEA ProcessCreating an AgileEA Process

Charles Edwards13 March 2007

Version 1.1

15 March 2007 www.processwave.com 2

MetaMeta--PresentationPresentation

• Context• The Challenge1. The Agile in EAAgile in EA part2. The EA ProcessEA Process part3. The EPFEPF part• Conclusion

15 March 2007 www.processwave.com 3

ContextContext

15 March 2007 www.processwave.com 4

From the pastFrom the past into the Futureinto the Future

EnterpriseArchitecture

Now

Past ThreadsPast Threads(My background)(My background)

Future ThreadsFuture Threads(This Talk)(This Talk)

15 March 2007 www.processwave.com 5

Where from? (Past Threads)Where from? (Past Threads)•• ModellingModelling

Flow Charts, Entity-Relationships, Data Flow, IEW &other case tools (80’s)InfoMet - South Africa - EA modelling (90-97)UML 1..2 (from 97 current),Sparx Enterprise Architect (2003),ARIS (2005)

•• Enterprise Architect @ Umgeni water (92Enterprise Architect @ Umgeni water (92--95)95)Tracked SCADA, Telephony, Computing LANs & WANs,incl. GIS and Chemistry Laboratory equipment

•• RUP implementation & iterative mentoringRUP implementation & iterative mentoringAll IBM Rational Tools & others + RUP (1999-2007)Agile Methods, Scrum, XP, Agile Modelling, etc.

•• TOGAF 8.1.1TOGAF 8.1.1

15 March 2007 www.processwave.com 6

Where to? (Future Threads)Where to? (Future Threads)•• Agile in EAAgile in EA

• How we can use Agile concepts inEnterprise Architecture.

•• Enterprise Architecture ProcessEnterprise Architecture Process• The daily process an EA Practice uses.

•• Eclipse Process FrameworkEclipse Process FrameworkShow how an Agile EA process can besimply represented.

EAProcess

EPFTool

Agile

Agile EA

15 March 2007 www.processwave.com 7

The ChallengesThe Challenges

15 March 2007 www.processwave.com 8

Business & IT EnvironmentBusiness & IT Environment

• Changes Come Faster & faster• Compliance Gets Tighter & tighter• Delivery Needed Sooner & sooner• Application distribution Wider & wider• Stress Pressure Higher & higher

UNLESS WE CONTROL THIS CHAOS = FAILURE !

UNLESS WE CONTROL THIS CHAOS = FAILURE !

15 March 2007 www.processwave.com 9

Enterprise Architecture EnvironmentEnterprise Architecture Environment

• EA is becoming more relevant Why?• Understand the BIG picture in the organisation• Understand divergence Converge Architecture• Understand & enable software component reuse

Microsoft’s - Software Factory conceptCommercial-off-the-shelf (COTS) integrationsReuse of Services in a SOA world

• Understand the growing complexity

““YOU CANYOU CAN’’T MANAGE WHAT YOU CANT MANAGE WHAT YOU CAN’’TT

SEE & UNDERSTANDSEE & UNDERSTAND””

15 March 2007 www.processwave.com 10

Enterprise Architecture ProcessesEnterprise Architecture Processes• As more Companies see the benefit & start up EA• Look to TOGAF, Zachman, etc. for guidance• TOGAF (ADM) = Architecture Development Method

Some PROs• Generic (purposely)• Configurable• Broad Coverage• Growing• Open• Helps governance…

Some CONs• Difficult to know where to start• No Artefact Meta-Model• No relationship between

Roles, Activities and Artefacts

• 500 Pages of good stuff, butwhere do I start?...

15 March 2007 www.processwave.com 11

TheThe Agile in EAAgile in EA partpart

15 March 2007 www.processwave.com 12

Unified Process & Agile + EA = AgileEAUnified Process & Agile + EA = AgileEA

15 March 2007 www.processwave.com 13

Phases & MilestonesPhases & Milestones

Money to startEA department

or Project.

Concepts sold to Business.EA Vision, Business Case,

Benefits, etc.

1st baseline of a working EA Practice ProcessActivities, Roles, Artefacts, Resources, etc.

On-going: Nospecific

milestone. Couldbe carved up intoany phases. E.g.

Annual cycle,Maturity steps,

etc.

Time Dimension

15 March 2007 www.processwave.com 14

Iterations in EAIterations in EA

• Iteration Activity stack (When Aspect)

Time DimensionTime Dimension

Con

tent

Dim

ensi

on

15 March 2007 www.processwave.com 15

Use SCRUM managementUse SCRUM managementIts intended use is for management of software development projects,and it has been successfully used to "wrap" Extreme Programmingand other development methodologies. However, it cantheoretically be applied to any context where a group ofpeople need to work together to achieve a common goal –such as setting up a small school, scientific research projects orplanning a wedding. (Wikipedia) [2] – EA Practice??

• A living backlog of prioritized work to be done;• Completion of a largely fixed set of backlog items in short sprints;• Brief daily meeting (scrum), at which progress is explained, upcoming

work is described and impediments are raised.• A brief planning session in which the backlog items for the sprint will be

defined. (At the end of sprint once per sprint)• A brief heartbeat retrospective, at which all team members reflect about

the past sprint. (At the end of sprint once per sprint) [3][4]

15 March 2007 www.processwave.com 16

NormalNormal ScenarioScenario -- new work item arrivesnew work item arrives

15 March 2007 www.processwave.com 17

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1Iteration 1Iteration 1Iteration 1BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait tillnext iteration]

Remove somethingelse from Iteration plan

Start

15 March 2007 www.processwave.com 18

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1Iteration 1Iteration 1Iteration 1BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait tillnext iteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Medium New

15 March 2007 www.processwave.com 19

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1Iteration 1Iteration 1Iteration 1BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait tillnext iteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Medium New

15 March 2007 www.processwave.com 20

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = Medium

Propose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1Iteration 1Iteration 1Iteration 1BacklogBacklogBacklogBacklog

BacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Medium New

15 March 2007 www.processwave.com 21

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = Medium

Propose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1Iteration 1Iteration 1Iteration 1BacklogBacklogBacklogBacklog

BacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Done

Evaluate New Project, Priority = Medium Backlog

High PriorityHigh Priority scenarioscenario -- new work item arrivesnew work item arrives

15 March 2007 www.processwave.com 23

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Start

Iteration 1Iteration 1Iteration 1Iteration 1

15 March 2007 www.processwave.com 24

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Evaluate New Project, Priority = Very High New

Remove somethingelse from Iteration plan

Iteration 1Iteration 1Iteration 1Iteration 1

15 March 2007 www.processwave.com 25

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

NewEvaluate New Project, Priority = Very High

Iteration 1Iteration 1Iteration 1Iteration 1

15 March 2007 www.processwave.com 26

Model The Business, Priority = Medium

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Define Strategy for Y, Priority = HighManage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

BacklogBacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Iteration 1

Iteration 1Iteration 1Iteration 1

Evaluate New Project, Priority = Very High New

15 March 2007 www.processwave.com 27

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Manage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1

Iteration 1Iteration 1

BacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Very High Iteration 1

Model The Business, Priority = MediumDefine Strategy for Y, Priority = High

Iteration 1Backlog

15 March 2007 www.processwave.com 28

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Manage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1

Iteration 1Iteration 1

BacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Very High Iteration 1

Define Strategy for Y, Priority = High BacklogModel The Business, Priority = Medium Iteration 1

15 March 2007 www.processwave.com 29

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Manage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1

Iteration 1Iteration 1

BacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Remove somethingelse from Iteration plan

Evaluate New Project, Priority = Very High Iteration 1

Define Strategy for Y, Priority = High BacklogModel The Business, Priority = Medium Backlog

15 March 2007 www.processwave.com 30

Evaluate This Project, Priority = HighEvaluate That Product, Priority = High

Manage the Data, Priority = MediumUpgrade the Security, Priority = MediumRetire the SAN, Priority = MediumPropose a Candidate, Priority = LowPropose a Candidate, Priority = Low

Define a strategy for X, Priority = Very High

Add to Iteration plan

Consider within prioritized context of all work items

Add to Backlog List

[Must do NOW]

Iteration 1

Iteration 1Iteration 1

BacklogBacklogBacklogBacklogBacklog

[Can wait till nextiteration]

Evaluate New Project, Priority = Very High Iteration 1

Define Strategy for Y, Priority = High BacklogModel The Business, Priority = Medium Backlog

Done

Remove somethingelse from Iteration plan

15 March 2007 www.processwave.com 31

DisciplinesDisciplines• Groups of like Activities – Grouping the Who, How, & What aspects

DisciplineDisciplineDiscipline

Con

tent

Gro

upin

g D

imen

sion

15 March 2007 www.processwave.com 32

Roles, Activities & Work ProductsRoles, Activities & Work Products

• Role – The Who aspect• Activity – The How aspect• Work Product – The What aspect

EnterpriseArchitect

Detail a SystemArchitectureDocument

SAD

Role Activity

Work Product

15 March 2007 www.processwave.com 33

TheThe EA ProcessEA Process partpart

15 March 2007 www.processwave.com 34

Multi ViewsMulti Views

• Repository that holds all our EA information• A way of specifying Viewpoints on the info.• A way of seeing Model Views of the info.

15 March 2007 www.processwave.com 35

MultiMulti--view e.g.view e.g.

BusinessArchitecture

InformationSystemsArchitecture

TechnologyArchitecture

HardwareViewpointData

Viewpoint

SecurityViewpoint

BusinessViewpoint

ServicesViewpoint Software

TechnologyViewpointStrategic

Viewpoint

ApplicationViewpoint

TechnologyViewpoint

<<Stakeholder>>Auditor

Concern : Security

<<Stakeholder>>CEO

Concern : Strategy

<<Stakeholder>>CTO

Concern : Reliability

<<Stakeholder>>CTO

Concern : Performance

15 March 2007 www.processwave.com 36

EA Practice Maturity ViewEA Practice Maturity View• Use Phases to grow, build and evolve maturity•• EnterpriseEnterprise effort low initially keep growing•• EAEA ProcessProcess effort high initially trails off after each

iteration.

EnterpriseEnterprise

EA ProcessEA Process

15 March 2007 www.processwave.com 37

EA Practice View (AgileEA)EA Practice View (AgileEA)Enterprise Architecture Practice

Management Discipline Group

BusinessArchitecture

InformationSystemsArchitecture

TechnologyArchitecture

Architecture Discipline Group

Plan

Governance

Risks

Agile EAViewpoint

This is aViewpoint. Aselection filterform all things inthe EA repository.

Foundation Discipline Group

ConfigurationMngtDiscipline

ChangeControlDiscipline

Process &ToolsDiscipline

Framework

Arch Vision

Arch Vision

Arch Vision

Principles

Solutions

Opportunities

Strategy

Changes

This is aDiscipline. Itgroups likeRoles, Activitiesand Artifacts.

This is theView definedby theViewpoint.

This is a Disciplinegroup. It groups likeDisciplines.

This is aDisciplinegroup. It groupslike Disciplines.

Costs

Resource

This is aDiscipline. Itgroups likeRoles, Activitiesand Artifacts.

15 March 2007 www.processwave.com 38

Software Development LifeSoftware Development Life--Cycle ViewCycle ViewSoftware Development PracticeSoftware

Development (UP)Project Viewpoint

Requirements Discipline

Implementation Discipline

Test Discipline

Deployment Discipline

EnvironmentDiscipline

Analysis & Design Discipline

Config & ChangeControl Discipline

Project Management Discipline

This is a Viewpoint.A selection filter formall things in the EArepository. Whereyou are looking from.

This is aDiscipline group.It groups likeDisciplines.

This is aDiscipline.It groupsActivities.

This is the Viewdefined by theViewpoint. Whatyou are looking at.

15 March 2007 www.processwave.com 39

Projects View vs. EA Practice ViewProjects View vs. EA Practice ViewE

A to

Pro

ject

Invo

lvem

ent R

elat

ions

hip

15 March 2007 www.processwave.com 40

EA Project Involvement ViewEA Project Involvement ViewAgile EA ProjectInvolvement Viewpoint

Enterprise Architecture Practice

Management Discipline Group

BusinessArchitecture

InformationSystemsArchitecture

TechnologyArchitecture

Architecture Discipline Group

Plan

Governance

Risks

Agile EA Viewpoint

Foundation Discipline Group

ConfigurationMngtDiscipline

ChangeControlDiscipline

Process &ToolsDiscipline

Framework

Arch Vision

Arch Vision

Arch Vision

Principles

Solutions

Opportunities

Strategy

Changes

Costs

Resource

Software Development Practice

Software Development(UP) Project Viewpoint

Requirements Discipline

Implementation Discipline

Test Discipline

Deployment Discipline

EnvironmentDiscipline

Analysis & Design Discipline

Config & ChangeControl Discipline

Project Management Discipline

BusinessArchitecture

InformationSystemsArchitecture

TechnologyArchitecture

Architecture DisciplineGroup

15 March 2007 www.processwave.com 41

AgileEA ProcessAgileEA Process mapsmaps TOGAF ADMTOGAF ADM

Enterprise Architecture Practice

Project Management Discipline Group

BusinessArchitecture

InformationSystemsArchitecture

TechnologyArchitecture

Architecture Discipline Group

Foundation Discipline GroupConfiguration MngtDiscipline

ChangeControlDiscipline

Process &ToolsDiscipline

Framework

Plan

Arch Vision

Arch Vision

Arch Vision

Principles

Solutions

Opportunities

Strategy

Governance

Changes

Risks

B-Business Architecture

C-Information Systems Architecture

D-Technology Architecture

Architecture

F-Migration Planning

G-ImplementationGovernance

E-Opportunities& Solutions

H-ArchitectureChange Management

Prelim Framework& Principles

A-ArchitectureVision

Agile EAViewpoint

TOGAFViewpoint

TOGAF to Agile EAMapping Viewpoint

15 March 2007 www.processwave.com 42

TheThe EPFEPF partpart

15 March 2007 www.processwave.com 43

What is EPF?What is EPF?

• Eclipse Process Framework• www.eclipse.org/epf

15 March 2007 www.processwave.com 44

EPFEPF--ComposerComposer• EPF-Composer is a tool developed in the Eclipse IDE.• It can be freely downloaded as a stand-alone tool [8]

• Develop your own static Process Websites, basedupon existing Plug-in modules.

• Reuse Industry standardsPlug-in’s exist for OpenUP, XP, Scrum (AgileEA)IBM plug-ins are also compatible giving you many otherprocesses. SOA, J2EE, COTS, ….

15 March 2007 www.processwave.com 45

DemoDemo Agile EAAgile EA (developed using EPF)(developed using EPF)

• Demo is a VERY early version• Just showing the possibilities• It may not be correct…

but that’s where we want your involvement

Demo

15 March 2007 www.processwave.com 46

Where to from here for AgileEA?Where to from here for AgileEA?

• Aware of TOGAF developing the ADM in EPF.• Can extend AgileEA from TOGAF’s ADM later.• We needed AgileEA sooner so we just started.• All now need to begin working together:

TOGAF ADM community

EPF community

AgileEA community

15 March 2007 www.processwave.com 47

ConclusionConclusion

1.1. Get More Agile in EAGet More Agile in EABase your EA process on Scrum or OpenUP logic.

2.2. Use Iterative processes for EA PracticeUse Iterative processes for EA PracticeWith Serial Phases that have milestones,Serial Iterations over a short time-frame (+/- 1 month)Build up your Work Products, Activities & Roles.

3.3. Use an EA Process web (open)Use an EA Process web (open)So that the EA Practice knows what is expected of them.AgileEA in development currently, available atwww.AgileEA.com

15 March 2007 www.processwave.com 48

The EndThe End

• Questions?Thank you

• Contact:[email protected]

15 March 2007 www.processwave.com 49

ReferencesReferences1. Armstrong, Chris; Armstrong process Group (2006):

The Eclipse Process Framework – Open Architecture Process2. SCRUM on Wikipedia:

http://en.wikipedia.org/wiki/Scrum_%28management%293. SCRUM websites:

http://www.controlchaos.com/http://c2.com/cgi/wiki?ScrumProcesshttp://scrumforteamsystem.com/ProcessGuidance/Scrum/Scrum.html

4. SPEM website:1. http://www.omg.org/technology/documents/formal/spem.htm

5. IBM Rational Unified Processhttp://www-128.ibm.com/developerworks/rational/products/rup/

6. Enterprise Unified Processhttp://www.EnterpiseUnifiedProcess.com – Scott Ambler

7. Agile Enterprise ArchitectureHttp://www.AgileEA.com

8. EPF-Composer Tool Download• http://www.eclipse.org/epf/downloads/tool/tool_downloads.php