Post on 15-Jan-2016
How to increase Business Agility by aligning SOA with your « Business Architecture » ?
To visualize presentation slides, please use the full screen mode and click to progress…
©2011 / 2012 Birol Berkem - GooBiz.com
Note : The BMM (Business Motivation Model) , MDA (Model Driven Architecture) and SoaML referenced here are trademarks of the Object Management Group (OMG)
This work by Birol Berkem (GooBiz.com) is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License.Permissions beyond the scope of this license may be available by e-mail to info@goobiz.com
© GooBiz.com
2
The Pros and Cons of the «Use Case Driven Development »for an Agile Enterprise
Efficient techniques to capture requirements on the basis of usage scenarios of the users
Focus on actor / system interactions depending on the choices of the users
Prepares a good basis for test cases
Lack of traceability with the business goals ! gap between business requirements and end-user ones !
Lack of visibility on the business rules that control these interactions
Important maintenance efforts in face of changes on the business decisions and their supporting rules !
Advantages Inconvenience
Difficult adaptation of IT applications to the changes on the business decisions high level cost weak business reactivity !
How to remedy to these agility issues ? 2
© GooBiz.com
3
Align IT with the Business Architecture Views [cf. OMG’s BAWG]
Goal-DrivenAlignment
1. Business Strategy view : captures the tactical and strategic goals that drive an organization forward
2. Business Capability view : describes the primary business activities of an enterprise and the pieces of the organization that perform those functions
3. Business Process view : defines the set of strategic, core and support processes that transcend functional and organizational boundaries
4. Business Knowledge view : establishes the shared semantics (e.g., customer, order, supplier) that the organization relies upon to communicate and structure the understanding of the areas they operate within
5. Organizational view : captures the relationships among roles, capabilities and business units, the decomposition of those business units into subunits, and the internal or external management of those units
How to align coherently IT system components with these views ?
ITSystems
© GooBiz.com
4
Start by the OMG’s Business Motivation Model that defines traceability links from Business Goals until ... Business Processes
GOAL : A state of the enterprise sustained through appropriate means
Example : To build a Beneficial WebSale System
OBJECTIVE : Increase WebSales by 15 % this year
TACTIC 1 : Motivate Visitors to Register {100 reg. / week}
Business Rule 1 : Enhanced product consultation time Req. 1 : if the abandon rate is > 50 % after 2 mn, the Mktg must be alerted to enhance presentation
Business Rule 2 : Less abandon rateReq. 2 : if the abandon rate is > 30% during registration, the Mktg must be invited to improve this process
Process 1: CONSULT PRODUCTS {incite to register}
Process 2: REGISTER VISITORS {motIvate to complete}
STRATEGY : Turn visitors into buyers
4- How to propagate changes in coherence using an end-to-end traceability ?
© GooBiz.com
<<Biz.Capability>>{Tactic n}
<< Biz.Capability >>{Tactic 4}
<< Biz.Capability >>{Tactic 3}
<< Biz.Capability >>{Tactic 1}
:VISION
<< Biz.Capability >>{Tactic 2}
G: Goal_G Strategy S
Business Capabilities impacted by Changing Tactics
control execution of the Business Processes
::
:
:
::
: :
::
: ::
::
: ::
::
: :
: :
G: Goal_G_Strategy_S
G: Goal_G_Strategy_S
G : Goal_G_Strategy_S
G : Goal_G_Strategy_S
Business Process 1
BusinessProcess 2
BusinessProcess 3
BusinessProcess 4
Business Process 5Goals are « propagated »from the Enterprise Vision
‘Strategy View’toward
Business Processes‘Process View’
5Q : How to align IT System Components to changes of these high-level goals ?
© GooBiz.com
1. CAPITALIZE ON THE BUSINESS CAPABILITIES THAT ARE TO BE IDENTIFIED ON THE BASIS OF BUSINESS GOALS
2. MODEL SERVICES AND USE CASES THAT PARTICIPATE TO BUSINESS CAPABILITIES IN ORDER TO PREPARE « IT ALIGNMENT »
3. DESCRIBE BUSINESS PROCESSES THAT REALIZE CAPABILITIES
4. DRAFT THE BACKBONE OF THE « GOAL-DRIVEN SOA »
5. DESCRIBE BEHAVIOURS OF THE ARCHITECTURE COMPONENTS
6. INTEGRATE THESE COMPONENT BEHAVIOURS INTO THE SOA BACKBONE
6
Apply the following steps to align IT components to changing business decisions
Let’s look at each step on a case study…6
© GooBiz.com
class FROM VISION TO BUSINESS CAPABILITIES AND ENTERPRISE BUSINESS OBJECTS
ENTERPRISE BUSINESS OBJECTS
BUSINESS CAPABILITIES
PRODUCT [Consultation]
PRODUCT [Presentation]
«VISION»WEBSALE MANAGEMENT {BENEFICIAL,
CUSTOMER FOCUSED}
PRODUCT VISITOR
VISITOR [Registration]
CUSTOMER
VISITOR [Turn into
buyer]
ORDER TRANSACTION
ORDER [Filling]
ORDER [Payment]
CUSTOMER [Gaining Loyalty]
«SUPPORT»
«SUPPORT»
+operated by
1..*10..*
+is interested by
0..*
+becomes
0..1 0..1
Capitalize on the Business Capabilities on the basis of the « Enterprise Vision »
Example with a Web Sale Company Vision : To be a profitable, customer focused web sale company
BUSINESS CAPABILITIES FOR THE
WEBSALE COMPANY
NEW CONSTRAINTS ARE FREQUENTLY APPLIED ON THESE
CAPABILITIES TO SUPPORT CHANGING STRATEGIES
(cf. next slides)
BUSINESS CAPABILITIES : Stable Structures that explain “What" the organization does ; are expressed using STATES OF THE ENTERPRISE BUSINESS OBJECTS
BUSINESS OBJECTS SUPPORT CAPABILITIES THROUGH BUSINESS PROCESSES (“How" the organization executes its capabilities)
Q : How to identify business capabilities on the basis of high-level goals ? 7
© GooBiz.com
8
1.1- Model dependencies between Goals, Strategies, Tactics and Business Processes
Q : What’s the second step ?8
© GooBiz.com
class FROM GOALS TO PROCESS CONTROL HIERARCHY FOR "A WEBSALE SYSTEM"
BUSINESS PROCESSES
«TACTIC»PRODUCT [PRESENTATION] {ONLY
ATTRACTIVE PRODUCTS}
«TACTIC»VISITOR [REGISTRATION]
{MOTIVATE TO REGISTER}
«TACTIC»VISITOR [TURN TO BUYER] {INCITE
REGISTERED VISITOR TO BUY}
«STRATEGY»VISITOR [TO TURN INTO BUYER]
«BUSINESS PROCESS»CONSULT PRODUCTS
«BUSINESS PROCESS»REGISTER VISITOR
«GOAL»WEBSALE SYSTEM [TO RENDER MORE
BENEFICIAL]
«STRATEGY»SALES [TO ENCOURAGE TO
SALE] {VIA A BONUS SYSTEM}
«BUSINESS PROCESS»INFORM VISITORS ABOUT
PROMOTIONS
«BUSINESS PROCESS»REGISTER ORDER
«BUSINESS PROCES...REVIEW PRODUCT
PRESENTATION
«BUSINESS PROCESS»REVIEW QUESTIONNAIRE
«STRATEGY»WEBSITE [TO INCREASE VISIBILITY ON SEARCH
ENGINES]
supported bysupported by
supported by
implemented by
controls
implemented by
controls
controls
controls
implemented by
controls
controls
9
*BUSINESS CAPABILITY « PRODUCT [PRESENTATION] »
to be impacted by tactical constraints
*BUSINESS CAPABILITY « VISITOR [REGISTRATION]» to
be impacted by tactical constraints
(*) A business capability defines “what” a business does (outcomes and service levels) that creates value for customers (Ulrich Homann – Microsoft)
© Birol Berkem GooBiz 2011/2012
1.2 – Identify Front-End Business Capabilities by looking for states of Business Objects that « create value for customers »
We also need to capitalize on all these strategic structures against changes…
CAPABILITY
CAPABILITY CAPABILITY CAPABILITY
*BUSINESS CAPABILITY « ORDER
[REGISTRATION] » to be impacted by tactical
constraints
© GooBiz.com
class FROM GOALS TO PROCESS CONTROL HIERARCHY FOR "A BENEFICIAL WEBSALE SYSTEM" - REIFIED
BUSINESS PROCESSES
«TACTIC»PRODUCT [PRESENTATION] {ONLY
ATTRACTIVE PRODUCTS}
«STRATEGY»SALES [TO ENCOURAGE TO
SALE] {VIA A BONUS SYSTEM}
«BUSINESS PROCESS»INFORM VISITORS ABOUT
PROMOTIONS
«BUSINESS PROCESS»REGISTER ORDER
«BUSINESS PROCES...REVIEW PRODUCT
PRESENTATION
«BUSINESS PROCESS»REVIEW QUESTIONNAIRE
«STRATEGY»WEBSITE [TO INCREASE VISIBILITY ON SEARCH
ENGINES]
«TACTIC»VISITOR [REGISTRATION] {MOTIVATE TO REGISTER ;
GOAL_VALUE = 100 REGISTRANTS / WEEK}
«STRATEGY»VISITOR [TO TURN INTO BUYER]
{GOAL-VALUE = 50 % OF REGISTERED VISITORS}
«GOAL»WEBSALE SYSTEM [TO RENDER MORE BENEFICIAL]
{OBJECTIVE 15 % MORE SALES THAN THE LAST YEAR}
«TACTIC»VISITOR [TURN INTO BUYER] {INCITE
REGISTERED_VISITORS TO BUY ; BUYERS > 20% REGISTERED_VISITORS}
«BUSINESS PROCESS»REGISTER VISITOR
{MOTIVATE VISITOR TO COMPLETE REGISTRATION}
«BUSINESS PROC...CONSULT PRODUCTS {INCITE VISITORS TO
REGISTER}
controls
implemented by
controls controls
controls
controls
implemented by
implemented by
+is supported by
+is supported by
controls
+is supported by
10
New Constraint on the Business Goal
Tactical Impact on the Business Capability
Impact on Strategy
IMPACT on this second PROCESS
IMPACT on this PROCESS
Potential IMPACT on this third PROCESS
1.3– Propagate Changes reusing Objects and States with new Constraints
Capabilities need to be structured to support assigned responsibilities …
© GooBiz.com
11
2 – STRUCTURE BUSINESS CAPABILITIES WITH SERVICES AND USE CASES THAT PARTICIPATE TO THEIR REALIZATION
Business Capabilities : Capacities that a company should possess or exchange to support its vision.
A business capability describes what the business does (outcomes and service levels) that creates value for customers [Microsoft - Ulrich Homann]
A business capability defines “what” a business does at its core. Business capabilities are the core of the business architecture [BPMInstitute.org - William Ulrich March 2011]
2.1 – Stable business structures to capitalize on the business knowledge in face of changes
2.2 – Need to be « orchestrated » to achieve their Goal : the value they have to return to customers
11Q : So, how to structure business capabilities to return the requested value ?
© GooBiz.com
Business Capabilities need to be «orchestrated» to realizetheir corresponding Value
class Functional Requirements Assigned to Business Capability
G 3.2 : Register Visitor {Goal-Value = 100 Registrants / week}
G 3.2.1 : Enter VisitorG 3.2.2 : Fill questionnaireG 3.2.2.a : If aborted & abandon_rate > 50% : Inform Mktg to review questionnaire
G 3.2.3 : Assign bonus for future sales
G 3.2.5 : Send notification to the Visitor by e-mail
G 3.2.6 : Notify Sales by adding the new visitor to the list of visitors to turn into buyer...
<<Business Capability>> Visitor[Registration] {Goal-Value = 100
Registrants / week}
(from Business Capabilities)
«GDBS»Visitor
[Registration]
An orchestrator object defines functional boundaries for requirements that it has to
execute to realize the « value » of the Business Capability
12Also need to assign service level expectations to a business capability ? (see next…)
« B.C.O »
© GooBiz.com
Service Level Expectations are assigned to ‘Service Points’ that are controled by the Capability orchestrator
class Functional Requirements by Serv ice Point
«Business Capability»Visitor [Registration] {Goal-Value = 100 Registrants / week}
«Service Point»Visitor [Entry]G 3.2.1 : Enter Visitor
{Motivate Visitor to Complete Registration}
«Service Point»Questionnaire
[Review]
«Service Point»Questionnaire
[Filling]
«Service Point»Bonus
[Assignment]
«Service Point»Registration [Notification]
G 3.2.5 : Send notification to the Visitor by e-mail
G 3.2.6 : Notify Sales by adding the new visitor to the list of visitors to turn into buyer...
G 3.2.2 : Fill questionnaire{Incite Visitor to continue to fill the Questionnaire}
G 3.2.3 : Assign bonusG 3.2.3.a - If bonus_rate > 30 % then review bonus assignment rule
G 3.3 : Review Questionnaire{Motivate Visitor to Complete its Registration Process}
«GDBS»Visitor
[Registration]
G 3.2.2.a : If Questionnaire [Filling] isaborted and abandon rate > 50%, ask the Marketing to review the questionnaire
«include»
«extend»
«include»«include»
«include»
13Service points allow capabilities to interact with their environment (cf next…)
« B.C.O »
© GooBiz.com
uc Use Case Model
«Business Capability»Visitor [Registration] {Goal-Value = 100 Registrants / week}
«UC»Review
Questionnaire
Internet Visitor
Marketing_Mgr
«UC»Register Visitor
COMPANY WEBSALE SYSTEM (PARTIAL VIEW)
«GDBS»Visitor
[Registration]
«Service Point»
Questionnaire [Review]
G 3.2.2.a : If Questionnaire [Filling] is aborted and abandon rate > 50%, ask the Marketing to review the questionnaire
«invokes»
«invokes»
«extend»
Services of a Business Capability may require interactions with other Participants (actors, UC, other capabilities) for their realization
14A capability may also « invoke » services from another capability
« B.C.O »
© GooBiz.com
16
3 - DESCRIBE BUSINESS PROCESSES THAT REALIZE BUSINESS CAPABILITIES
3.1 – Describe actions of business processes according to impacts of tactical changes
Actions of the orchestrator service « makes call » to its service point behaviors
3.2 – Describe detailed realization of these service point activities
Let’s look at these micro-steps on our case study…16
© GooBiz.com
act Description of the Visitor [Registration]
VISITOR[REGISTERED]
G3.2-REGISTER VISITOR {MOTIVATE TO COMPLETE}
VISITOR[REGISTERED]
SYSTEM
:ASSIGN BONUS
testquestionnaire
AbandonEnd of reviewquestionnaire
VISITOR
MARKETING
ASSIGN FIRST A BONUS TO MOTIVATE VISITOR TO COMPLETE ITS ENTRY :FILL
QUESTIONNAIRE
:NOTIFY VISITOR
:REVIEW QUESTIONNAIRE
:ENTER VISITOR
«GDBS»Visitor [Registration] {Goal-Value = 100 Registrants / week}
THEN ADVERTISE ABOUT THE LOTTERY SYSTEM AT THE END OF THE REGISTRATION
[QUESTIONNAIRE FILLED]
[ABORT & ABANDON RATE <=50%]
[ABORT & ABANDON_RATE > 50 % ]
«realize»
Changes are expressed using {constraints} on the Business
Capability Orchestrator Process Actions are to be reconfigured by
considering new contraints to apply
Adapt Process Descriptions to support ‘Changes’
17Business processes realize business capabilities being supervized by their « orchestator » to bring
required outcomes and service levels
« B.C.O »
17
© GooBiz.com
act ENTER VISITOR
VISITOR[REGISTERED]
G3.2-REGISTER VISITOR {MOTIVATE TO COMPLETE}VISITOR[REGISTERED]SYSTEM
:ASSIGN BONUS
testquestionnaire
Abandon
End of reviewquestionnaire
VISITOR
MARKETING
ONCE THIS PROCESS IS STARTED, ASSIGN BONUS TO MOTIVATE VISITOR TO COMPLETE ITS REGISTRATION
:FILL QUESTIONNAIRE
:NOTIFY VISITOR
:REVIEW QUESTIONNAIRE
:ENTER VISITOR
(from Business Capabilities)
«GDBS»Visitor
[Registration]
[QUESTIONNAIRE FILLED]
[ABORT & ABANDON RATE <=50%]
[ABORT & ABANDON_RATE > 50 % ]
Actions of the « Business Capability Orchestrator » makes call to the Service Point Activities
Makes call to the « Enter Visitor » activity of the Service Point : Visitor [Entry]
(implemented by a web service - see next slide)
18Q : How are service point activities described ?
« B.C.O »
© GooBiz.com
uc Use Case Model
«Business Capability»Visitor [Registration] {Goal-Value = 100 Registrants / week}
«UC»Review
Questionnaire
Internet Visitor Marketing_Mgr
«UC»Register
Visitor
COMPANY WEBSALE SYSTEM (PARTIAL VIEW)
«GDBS»Visitor
[Registration]
«Service Point»Questionnaire
[Review]
«Service Point»Visitor [Entry]
«collaboration»Enter Visitor
UC_Comp_Enter_Visitor SRV_Comp_Enter_Visitor
Process Entryentry request
Fill FormValidate
Form
form_ok ?Complete
Fields
Register FormThanks for Entry
end_of_entry
«Service Point»Questionnaire
[Filling]
«invokes»
«include»
«realize»
«use» «use»
[form found]
[form fil led]
[fields_fil led]
[invalid entry]
«include»
«invokes»«extend»
Actions that will be implementedby the Use Case componentat the IT system level
Actions that will be implemented by the Service component (for instance using a web service port) at the IT system level
Service Point activities describe required IT behavioursService Point Activities describe UC and Service behaviours to implement at the IT System Layer
19Q : How can such behaviours be distributed on the architecture layers ?
« B.C.O »
© GooBiz.com
UC and Service Behaviours on the Architecture Layers
Visitor Questionnaire
<<SRV-P>> <<SRV-P>>
<<ENTITY>><<ENTITY>>
Visitor[Registration]
act Description of actor / system interactions for rea...
SRV-CompUC-Comp
entry request
Complete Fields
Fill Form Validate Form
Register Form
End-of-entry
Thanks for entry
Process Entry
[invalid entry]
[form found]
[form_checked_ok]
[entry corrected]
[form fil led]
<<UC-Comp>>Enter Visitor
Visitor[Notification]
Visitor[Entry]
<<REALIZE>> <<REALIZE>>
Form
<<ENTITY>>
DATA SERVICES
FUNCTIONAL LAYER
UI
« Service » and « UC-Comp » interactions may be implemented by a couple of (web service and its client) port components
I_Entry« GOAL-DRIVEN
SERVICE »
BUSINESS LAYER
BUSINESS & DATA LAYER
20
« B.C.O »
© GooBiz.com
21
4 – DRAFT THE BACKBONE OF THE GOAL-DRIVEN SOA
4.1 – Generate Services and Use Cases at the IT System level with required and provided interfaces
All the internal structures of Business Capabilities previously described are kept with traceability !
Let’s look at how to apply this step on our case study…21
© GooBiz.com
USE CASE (UC)
RULE assigned to a Service Point
Service/Request Point (UC
Comp)
4 - Build the « SOA Backbone » of the system at the application layer
22
BUSINESS CAPABILITY
BUSINESS CAPABILITY
Internal Structures of Business Capabilities are kept as previously described
Service/Request Point (GdS
Comp)
« B. C. O »
« B.C.O »
« B.C.O »
« B. C. O »
« B. C. O »
© GooBiz.com
23
5 – GENERATE COMPONENT BEHAVIOURS TO INTEGRATE INTO THE SOA BACKBONE
5.1 – Generate Use Case and Service component behaviours at the Application layer from previous specifications
Actions of Service and Use Case specifications become contextual methods of the corresponding components
Preconditions of these operations are generated according to guard-conditions of actions
At run time, on the basis of its current state, the orchestrator operation of each component invokes its contextual operations after having evaluated their preconditions
23Let’s look at how to apply this step on our case study…
© GooBiz.com24
GUI
5 - From UC and Service Behaviors to SOA Components
24
ENTITY OBJECTS with REQUESTED
States
«GdS_Comp»Visitor_Registration::
Visitor_Entry
- entry_processed: boolean- entry_requested: boolean- form_registered: boolean- form_validated: boolean
+ enter_visitor() : void- process_entry() : void
{pre: entry_requested}- register_form() : void- validate_form() : void
SRV-Cmp«UC_Comp»
Visitor_Registration::Visitor_Entry
- complete_fields: boolean- form_incomplete: boolean- visitor_entered: boolean
+ enter_visitor() : void- complete_fields() : void- fill_form() : void
{pre : form_found}- thanks_for_entry() : void
UC-Cmp
GUI(Presentation)
USE CASE COMP REALISATION
(Application Logic)
SERVICE COMP REALISATION
(Business Logic)
© GooBiz.com
25
6 – INTEGRATE COMPONENT BEHAVIOURS INTO THE ARCHITECTURE BACKBONE
6.1 – INTEGRATE Services and Use Cases previously discovered into the IT System level Components
Use Case and Service behaviours are respectively integrated into the Use Case and Service ports
25Let’s look at how to apply this step on our case study…
© GooBiz.com
Service/Request Point (GdS
Comp)
Service/Request Point (UC
Comp)
6 - Plug tested components into the « Goal-Driven Service Oriented Architecture » backbone
«GdS_Comp»Visitor_Registration::
Visitor_Entry
- entry_processed: boolean- entry_requested: boolean- form_registered: boolean- form_validated: boolean
+ enter_visitor() : void- process_entry() : void
{pre: entry_requested}- register_form() : void- validate_form() : void
<<Trace>>
26
«UC_Comp»Visitor_Registration::
Visitor_Entry
- complete_fields: boolean- form_incomplete: boolean- visitor_entered: boolean
+ enter_visitor() : void- complete_fields() : void- fill_form() : void
{pre : form_found}- thanks_for_entry() : void
<<Trace>>
BUSINESS CAPABILIT
Y
SRV-CmpUC-Cmp
« B.C.O »
« B.C.O »
« B. C. O »
« B. C. O »
« B. C. O »
27
2. Link Goals, Strategies toward
business processes1. Specify Governance Perspectives
5. Evaluate Impacts of the Changes on the Existing
Processes
6. Adapt Organization Process Descriptions to
support requested ‘Changes’
4. Establish governance links using ‘Business
Capabilities’
Steps for a Coherent SOA Governance using the Business Architecture Views
© Birol Berkem GooBiz 2011/2012
www.goobiz.com
3. Structure ‘Business Capabilities’ to capitalize on
for a coherent evolution
© GooBiz.com
More complete Agile Enterprise Modeling and SOA Trainings with BMM, BPMN, UML, SysML and SoaML standards…
© 2011 / 2012– GooBiz.com
•Increasing Business Agility with the Goal-Driven SOA (1 day)
• Goal-Driven SOA Design using EA (3 days on site)
•Goal-Driven Agile Business Modeling with BMM, BPMN and SOAML using EA(3 days on site)
•Efficient Requirement Analysis with UML 2 using EA (3 days on site)
•Component Based System Design with UML 2 using EA (2 days on site)
•Embedded System Design with UML 2 and SysML using EA (3 days on site)
•IS Urbanization (2 days on site) e-Mail to : birol.berkem@goobiz.com
28