Beginning ¡an ¡SOA ¡Initiative ¡ Ian ¡Robinson, ¡ThoughtWorks ¡ http://iansrobinson.com ¡ @iansrobinson ¡ iansrobinson@gmail.com ¡
Overview ¡ • ¡Where ¡to ¡Start? ¡ • ¡Stories ¡and ¡Capabilities ¡ • ¡Services ¡and ¡Contracts ¡ • ¡Delivery ¡
Where ¡to ¡Start? ¡
Motivation ¡ High ¡operating ¡costs ¡ Lack ¡of ¡business ¡agility ¡ High ¡cost ¡of ¡change ¡ Inconsistent/poor ¡data ¡ Lack ¡of ¡business ¡metrics ¡ Client: ¡Midstream ¡oil ¡and ¡gas ¡
Mind ¡map ¡ Why? ¡ Who? ¡ What? ¡ How? ¡ What ¡For? ¡ Benefits ¡ Stakeholders ¡ Processes ¡ deliver ¡ want ¡ implemented ¡by ¡ provide ¡ automate ¡ Outcomes ¡ realise ¡ Capabilities ¡ People ¡ motivate ¡ prevent ¡ Forces ¡ Technologies ¡ Obstacles ¡
Stories, ¡capabilities, ¡services ¡and ¡contracts ¡ Stories ¡ Capabilities ¡ Resources ¡to ¡ Describe ¡goals ¡ What ¡ & ¡outcomes ¡ realise ¡ outcomes ¡ Contracts ¡ Services ¡ Assert ¡ How ¡ Host ¡ interactions ¡ between ¡ capabilities ¡ services ¡
Stories ¡and ¡Capabilities ¡
Communication ¡barriers ¡ Business ¡ Folk ¡IT ¡ IT ¡ Business ¡Process ¡Disorder ¡
People ¡change, ¡processes ¡change, ¡technologies ¡change… ¡ What ¡ Source ¡ spare ¡parts ¡ How ¡
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? ¡
User ¡stories ¡ Outside-‑in ¡ Outcomes ¡ As ¡a ¡ <role> ¡ I ¡want ¡ <feature> ¡ So ¡that ¡ <benefit> ¡ Value ¡ External ¡ behaviour ¡
Features ¡join ¡outcomes ¡and ¡capabilities ¡ Story ¡ Outcome ¡ Role ¡ Value ¡ Feature ¡ Capability ¡
Outcome-‑focused ¡stories ¡ As ¡a ¡ <role> ¡ I ¡want ¡ <outcome> ¡ So ¡that ¡ <benefit> ¡
Responsibility-‑focused ¡stories ¡ As ¡ <role> ¡ I ¡am ¡responsible ¡for ¡ <outcome>, ¡ Which ¡delivers ¡ <benefit> ¡
Business ¡resource ¡models ¡and ¡bounded ¡contexts ¡ address policy Trade ¡financial ¡ Process ¡ Manage ¡ markets ¡ application ¡ customer ¡ party account account id portfolio application position tax region form Client: ¡Financial ¡services ¡
Resource ¡lifecycles ¡ d o r m a n t a q c c e t r a d u a l i a p p p t e d e s f i e s l i e s s e l f c l o s e d p r e − l e a n a c d l e a a p p e w t i v e d l i c a n t d e b t o r Client: ¡Financial ¡services ¡
Capability ¡map ¡
Capability ¡map: ¡sub-‑capabilities ¡
Capabilities ¡and ¡stories ¡
Capabilities ¡control ¡the ¡resource ¡lifecycle ¡
Operating ¡models ¡govern ¡structural ¡relations ¡ High ¡ Coordinated ¡ Unified ¡ Data ¡integration ¡ Replicated ¡ Diversified ¡ Low ¡ Low ¡ High ¡ Business ¡process ¡standardisation ¡
Identifying ¡IT ¡artefacts ¡ Services ¡ Resources ¡ Applica0on ¡ protocols ¡
Ground-‑up ¡capability ¡analysis ¡ Client: ¡Midstream ¡oil ¡and ¡gas ¡
A ¡moment ¡of ¡recognition ¡ Move ¡production ¡ Transform ¡ ¡ production ¡ Crude ¡connected ¡to ¡terminal ¡ Diluent ¡connected ¡to ¡terminal ¡ Lab ¡analysis ¡complete ¡ Client: ¡Midstream ¡oil ¡and ¡gas ¡
Services ¡and ¡Contracts ¡
Three-‑layered ¡application ¡architecture ¡ Presenta0on ¡ Business ¡ Data ¡
And ¡now ¡at ¡distributed ¡proportions! ¡ Process ¡ Ac0vity ¡ En0ty ¡
Services ¡host ¡capabilities ¡ Process ¡ integrity ¡ Activities ¡ compose ¡ new ¡EnterpriseApplication() ¡ Capabilties ¡ implemented ¡by ¡ f() ¡ Activities ¡ f() ¡ compose ¡ f() ¡ Capabilties ¡ f() ¡ f() ¡ Process ¡ composability ¡
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 ¡
Events ¡satisfy ¡consumer ¡expectations ¡ ¡ Order ¡ Product ¡Updated ¡ Management ¡ Product ¡Updated ¡ Product ¡ Regional ¡ Management ¡ Distribution ¡ Inventory ¡ Product ¡Updated ¡
Communicate ¡consumer ¡contracts ¡ communicate ¡ Consumer ¡ Consumer-‑Driven ¡ Contract ¡ Provider ¡Contract ¡ Contract ¡ adopt ¡ adopt ¡ Consumer ¡ Contract ¡ communicate ¡
Delivery ¡
Continuous ¡planning ¡
Capability ¡delivery ¡ Long-‑lived ¡capability ¡delivery ¡ teams ¡ Visiting ¡projects ¡contribute ¡ capital ¡and ¡resource ¡
Multiple ¡delivery ¡streams ¡ Client: ¡Communications ¡and ¡entertainment ¡
Thank ¡you ¡ http://iansrobinson.com ¡ @iansrobinson ¡ iansrobinson@gmail.com ¡
Recommend
More recommend