Beginning an SOA Initiative Ian Robinson, ThoughtWorks - - PowerPoint PPT Presentation

beginning an soa initiative
SMART_READER_LITE
LIVE PREVIEW

Beginning an SOA Initiative Ian Robinson, ThoughtWorks - - PowerPoint PPT Presentation

Beginning an SOA Initiative Ian Robinson, ThoughtWorks http://iansrobinson.com @iansrobinson iansrobinson@gmail.com Overview Where to Start? Stories and


slide-1
SLIDE 1

Beginning ¡an ¡SOA ¡Initiative ¡

Ian ¡Robinson, ¡ThoughtWorks ¡

http://iansrobinson.com ¡ @iansrobinson ¡ iansrobinson@gmail.com ¡

slide-2
SLIDE 2

Overview ¡

  • ¡Where ¡to ¡Start? ¡
  • ¡Stories ¡and ¡Capabilities ¡
  • ¡Services ¡and ¡Contracts ¡
  • ¡Delivery ¡
slide-3
SLIDE 3

Where ¡to ¡Start? ¡

slide-4
SLIDE 4

Motivation ¡

Client: ¡Midstream ¡oil ¡and ¡gas ¡

High ¡operating ¡costs ¡

Lack ¡of ¡business ¡agility ¡

High ¡cost ¡of ¡change ¡

Inconsistent/poor ¡data ¡ Lack ¡of ¡business ¡metrics ¡

slide-5
SLIDE 5

Mind ¡map ¡

Who? ¡ What ¡For? ¡ Why? ¡ What? ¡ How? ¡

Stakeholders ¡ Outcomes ¡ Benefits ¡ Forces ¡ Obstacles ¡ Capabilities ¡ Processes ¡ Technologies ¡ want ¡ deliver ¡ motivate ¡ prevent ¡ realise ¡ implemented ¡by ¡ automate ¡ People ¡ provide ¡

slide-6
SLIDE 6

Stories, ¡capabilities, ¡services ¡and ¡contracts ¡

Stories ¡ Capabilities ¡ Services ¡ Contracts ¡

Describe ¡goals ¡ & ¡outcomes ¡ Resources ¡to ¡ realise ¡

  • utcomes ¡

Host ¡ capabilities ¡ Assert ¡ interactions ¡ between ¡ services ¡

What ¡ How ¡

slide-7
SLIDE 7

Stories ¡and ¡Capabilities ¡

slide-8
SLIDE 8

Communication ¡barriers ¡

Business ¡

Folk ¡IT ¡

IT ¡

Business ¡Process ¡Disorder ¡

slide-9
SLIDE 9

People ¡change, ¡processes ¡change, ¡technologies ¡change… ¡

How ¡ What ¡

Source ¡ spare ¡parts ¡

slide-10
SLIDE 10

Questions, ¡questions… ¡

How ¡(well) ¡do ¡you ¡implement ¡this ¡capability ¡today? ¡ Is ¡it ¡core ¡to ¡your ¡business? ¡ Does ¡it ¡differentiate ¡you ¡from ¡ your ¡competitors? ¡ Who’s ¡responsible ¡for ¡its ¡ execution ¡when ¡systems ¡fail? ¡

slide-11
SLIDE 11

User ¡stories ¡

As ¡a ¡<role> ¡ I ¡want ¡<feature> ¡ So ¡that ¡<benefit> ¡

Value ¡

Outcomes ¡

Outside-­‑in ¡ External ¡ behaviour ¡

slide-12
SLIDE 12

Role ¡ Value ¡ Story ¡ Outcome ¡ Capability ¡

Features ¡join ¡outcomes ¡and ¡capabilities ¡

Feature ¡

slide-13
SLIDE 13

Outcome-­‑focused ¡stories ¡

As ¡a ¡<role> ¡ I ¡want ¡<outcome> ¡ So ¡that ¡<benefit> ¡

slide-14
SLIDE 14

Responsibility-­‑focused ¡stories ¡

As ¡<role> ¡ I ¡am ¡responsible ¡for ¡ <outcome>, ¡ Which ¡delivers ¡<benefit> ¡

slide-15
SLIDE 15

Business ¡resource ¡models ¡and ¡bounded ¡contexts ¡

Client: ¡Financial ¡services ¡

party application form address account position policy tax region id account portfolio

Trade ¡financial ¡ markets ¡ Process ¡ application ¡ Manage ¡ customer ¡

slide-16
SLIDE 16

Resource ¡lifecycles ¡

p r e − l e a d l e a d a p p l i c a n t n e w a c t i v e d

  • r

m a n t c l

  • s

e d d e b t

  • r

q u a l i f i e s s e l f a p p l i e s a c c e p t e d t r a d e s

Client: ¡Financial ¡services ¡

slide-17
SLIDE 17

Capability ¡map ¡

slide-18
SLIDE 18

Capability ¡map: ¡sub-­‑capabilities ¡

slide-19
SLIDE 19

Capabilities ¡and ¡stories ¡

slide-20
SLIDE 20

Capabilities ¡control ¡the ¡resource ¡lifecycle ¡

slide-21
SLIDE 21

Operating ¡models ¡govern ¡structural ¡relations ¡

Business ¡process ¡standardisation ¡ Data ¡integration ¡

Low ¡ High ¡ Low ¡ High ¡

Coordinated ¡ Replicated ¡ Diversified ¡ Unified ¡

slide-22
SLIDE 22

Identifying ¡IT ¡artefacts ¡

Resources ¡ Services ¡ Applica0on ¡ protocols ¡

slide-23
SLIDE 23

Ground-­‑up ¡capability ¡analysis ¡

Client: ¡Midstream ¡oil ¡and ¡gas ¡

slide-24
SLIDE 24

A ¡moment ¡of ¡recognition ¡

Client: ¡Midstream ¡oil ¡and ¡gas ¡ Move ¡production ¡ Transform ¡ ¡ production ¡

Crude ¡connected ¡to ¡terminal ¡ Diluent ¡connected ¡to ¡terminal ¡ Lab ¡analysis ¡complete ¡

slide-25
SLIDE 25

Services ¡and ¡Contracts ¡

slide-26
SLIDE 26

Three-­‑layered ¡application ¡architecture ¡

Business ¡ Presenta0on ¡ Data ¡

slide-27
SLIDE 27

And ¡now ¡at ¡distributed ¡proportions! ¡

Ac0vity ¡ Process ¡ En0ty ¡

slide-28
SLIDE 28

Services ¡host ¡capabilities ¡

Capabilties ¡ Activities ¡ Activities ¡ compose ¡ Capabilties ¡ implemented ¡by ¡ compose ¡

Process ¡ integrity ¡

new ¡EnterpriseApplication() ¡ f() ¡ f() ¡ f() ¡ f() ¡ f() ¡

Process ¡ composability ¡

slide-29
SLIDE 29

Treat ¡services ¡as ¡consumers ¡

As ¡order ¡management ¡ I ¡want ¡to ¡know ¡when ¡a ¡ product ¡has ¡changed ¡ So ¡that ¡I ¡can ¡fulfill ¡orders ¡ based ¡on ¡current ¡offerings ¡

slide-30
SLIDE 30

Events ¡satisfy ¡consumer ¡expectations ¡ ¡

Product ¡ Management ¡ Regional ¡ Distribution ¡ Order ¡ Management ¡ Inventory ¡ Product ¡Updated ¡ Product ¡Updated ¡ Product ¡Updated ¡

slide-31
SLIDE 31

Communicate ¡consumer ¡contracts ¡

Consumer-­‑Driven ¡ Contract ¡ Consumer ¡ Contract ¡ Consumer ¡ Contract ¡ Provider ¡Contract ¡ adopt ¡ adopt ¡ communicate ¡ communicate ¡

slide-32
SLIDE 32

Delivery ¡

slide-33
SLIDE 33

Continuous ¡planning ¡

slide-34
SLIDE 34

Capability ¡delivery ¡

Long-­‑lived ¡capability ¡delivery ¡ teams ¡ Visiting ¡projects ¡contribute ¡ capital ¡and ¡resource ¡

slide-35
SLIDE 35

Multiple ¡delivery ¡streams ¡

Client: ¡Communications ¡and ¡entertainment ¡

slide-36
SLIDE 36

Thank ¡you ¡

http://iansrobinson.com ¡ @iansrobinson ¡ iansrobinson@gmail.com ¡