services and complexity roger sessions cto objectwatch
TRANSCRIPT
The project will not meet business needs.
The project will have poor quality.
The project will be delivered late.
The project will exceed its budget.
“At-Risk” IT Projects
60% of IT budgets are invested in at-risk projects.
Costing the world economy 6.5 trillion USD per year
Costing the New Zealand economy 21 billion NZD per year
The problem is getting worse.
Exponentially!
Who cares?
What About ComplexityFailure rates are proportional to complexityCost is proportional to complexityAgility is inversely proportional to complexitySecurity is inversely proportional to complexity.Maintainability is inversely proportional to complexity.
The Bottom Line: Complexity is Very Bad
The Claim
Say architecture A and B both solve the business problemSay A is twice as complex as BThen A will cost twice as much, work half as well, and be twice as likely to fail as B
Solution OneBorrower ILLA Lender
•Borrow Book•Process Positive Response•Process Negative Response
•Process Borrow Request•Request IL Loan•Process Positive Lender Response•Process Negative Lender Response•Respond to Borrower•Receive New Book Item•Update Catalog
•Process ILLA Request•Agree to Loan Request•Reject Loan Request•Process New Book
Solution TwoBorrower
ILLA
Lender
•Borrow Book•Process Positive Response•Process Negative Response•Receive Catalog
•Receive New Book Item•Update Catalog
•Process Borrow Request•Agree to Loan Request•Reject Loan Request•Process New Book
Which SOA is least complex?
- Facts and Fallacies of Software Engineering by Robert Glass
For every 25 percent increase in problem complexity, there is a 100 percent increase in solution complexity.
Glass’s Law
For every 25 percent increase in the business functionality in a service, there is a 100 percent increase in the complexity of that service.
Glass’s Law Applied to SOAs
For every 25 percent increase in the number of connections in a service, there is a 100 percent increase in the complexity of that service.
SCU = Standard Complexity Unit
The amount of complexity in an average atomic business function implemented in an idealized green field environment with no internal or external interactions.
Examples of atomic business functions:process-check, hire-employee, remove-from-inventory
1.25 functionality = 2 X complexity
Glass’s Law
Fx Cx
Bird’s Formula
A system with bf business functions is
10 log(Cx) x log(bf) / log(Fx)
times more complex than a system of 1 business function.
Bird’s Formula
is with constants replaced
Equivalent to
Simplifying Bird’s Formula
10 log(2) x log(bf) / log(1.25)
10 log(Cx) x log(bf) / log(Fx)
10 .30103 x log(bf) / .09691
Equivalent to
10 3.10 log(bf)
Glass’s Constant
A system with bf business functions and cn connections has a complexity value (in SCUs) of
10 log(Cx) x log(bf) / log(Fx) + 10 log(Cx) x log(cn) / log(Fx)
Sessions’s Formula for Service Complexity
Equivalent to
10 3.10 log(bf) + 10 3.10 log(cn)
An SOA with m services has a total complexity (in SCUs) of
Sessions’s Formula for SOA Complexity
∑i=1
m
10 3.10 log(bfi) + 10 3.10 log(cni)
Complexity of Solution OneBorrower ILLA Lender
•Borrow Book•Process Positive Response•Process Negative Response
•Process Borrow Request•Request IL Loan•Process Positive Lender Response•Process Negative Lender Response•Respond to Borrower•Receive New Book Item•Update Catalog
•Process ILLA Request•Agree to Loan Request•Reject Loan Request•Process New Book
bd comp cn comp total3 30 3 30 617 422 7 422 8443 30 4 74 105
Total: 1009
Complexity of Solution TwoBorrower
ILLA
Lender
•Borrow Book•Process Positive Response•Process Negative Response•Receive Catalog
•Receive New Book Item•Update Catalog
•Process Borrow Request•Agree to Loan Request•Reject Loan Request•Process New Book
bd comp cn comp total4 74 4 74 1482 9 2 9 174 74 4 74 148
Total: 314
Two SOA Solutions
Solution 1: 1009 SCUsSolution 2: 314 SCUsSolution 1 will cost 3 times more than Solution 2 and be 3 times more likely to fail.
But We Have a Problem
We can’t exhaustively examine every possible solution.
Why not?
For 20 business functions, there are more than 50 trillion SOA solutions.
We need a directed process.
The Process - Identification
Inter Library Loan
Borrow Loan
Ask to borrow
Process positive response
Process negative response
Receive catalog
Process request
Agree to loan
Refuse to loan
Process new book
Add book to catalog
The Process - PartitioningAsk to borrow
Process positive response
Process negative response
Receive catalog
Process loan request
Agree to loan
Refuse to loan
Process new book
Add book to catalog
A
A
A
A
B
B
B
B
C
The Process - SubsettingAsk to borrow
Process positive response
Process negative response
Receive catalog
Process loan request
Agree to loan
Refuse to loan
Process new book
Add book to catalog
A
A
A
A
B
B
B
B
C
The Process - ConnectingAsk to borrow
Process positive response
Process negative response
Receive catalog
Process loan request
Agree to loan
Refuse to loan
Process new book
Add book to catalog
Goals of SIP
A process to drive the simplest possible SOA that solves a given business problemBased on mathematical models of complexity, partitioning, and set theory.Reproducible and verifiable.
Summary
IT is in a multi-trillion dollar crisis.The major cause is complexityWe must build the simplest possible SOAs.SIP is a process for finding the simplest possible SOA.
www.microsoft.com/teched
Sessions On-Demand & Community
http://microsoft.com/technet
Resources for IT Professionals
http://microsoft.com/msdn
Resources for Developers
www.microsoft.com/learning
Microsoft Certification & Training Resources
Resources
COMPLETE YOUR EVALUATION COMPLETE YOUR EVALUATION FORMS IN FORMS IN COMMNETCOMMNET AND BE IN TO AND BE IN TO WIN ONE OF THE 150 DAILY WIN ONE OF THE 150 DAILY PRIZES*PRIZES*
GIVE US YOUR FEEDBACK & WIN INSTANTLY!
*For full terms & conditions and more information, please visit the CommNet Portal.
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.