Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Agile Architecture - a practical approach for combining holistic design with process agility Benjamin Scherrey Chief Systems Architect Proteus Technologies, Co. Ltd. @proteusguy on Twitter.com [email_address]
Ben Scherrey Professional Background Been programming well enough to get paid since 1984. Accidentally started first company, Business Data Management, in 1989. Found out managing software development was very hard!! Focus on bleeding edge, high performance, and multi-platform systems. Started second company, Proteus Technologies, in 1994. Specialized in building software development groups for clients. Been focused on Agile since 2002.
Agile Architecture Why Architecture in Software Development? Current State of Software Development & Architecture :   Is it an Art or a Science? ” No REAL science has the word 'science' in it!” Chemistry & Physics vs. Political & Computer 'Science'
Agile Architecture Why Architecture in Software Development? Current State of Software Development & Architecture : The Art of Managing Complexity Breaking Huge problems into small manageable ones.
Processes communicate these splits in a manner where information doesn't get lost.
All process is overhead! Overhead must be justified.
Architecture should make communication/process simpler – not more complex!
Agile Architecture Does your organization belong in the Software Development Industry? High Failure Rates: Failure1: Project is canceled delivering no new value to primary stakeholders.  (tech perspective < 50% - building didn't fall over) Failure2: When primary stakeholders would elect not to do a project knowing the full extent of the deliverables, their cost, and when they would be completed.  (business perspective > 80% - buyers remorse R.O.I.)
Agile Architecture Why Architecture in Software Development? High Failure Rates: Unfulfilled Promises & Unconstrained Risks: False Belief that we know more about a problem than we possibly can. Unprecedented Opportunity & Returns: Larger economic impact than Industrial Revolution. Hiding from Risk != Managing Risk! … quit pretending and get to the real value.
Agile Architecture What is Architecture? http://www.merriam-webster.com/dictionary/architecture Been around  a long time! Likely a more recent definition... Us computer folk can't  resist a good metaphor. But how else can one  communicate when limited only by imagination?
Agile Architecture What is an Architect? http://www.merriam-webster.com/dictionary/architect 1563 - 1555 = 8 years! Architects bridge the gap between customer value and engineering  considerations. (Architectural Drivers)
Agile Architecture What does it take to become an Architect? (in the classic sense) Accredited Architectural School 5-7 Years Serious science + tons of practical experience IDP  (Intern Development Program)  Training 3+ Years More real-world experience Complete & Pass ARE Exams 1+ Year Architect Registration Exam – focus on public health & safety + architecture as a whole Demonstrates your capabilities of applied science through your real-world experience. = 9 to 13 years of EXPERIENCE!
Agile Architecture What does it take to become an Architect? (in the software development/enterprise sense) Accredited University 4-6 Years Lots of theory, little real science, no measurable practical experience (nearly optional) Software Development 3-5 Years First real-world experience preferably with multiple technologies Technical Project Management 2-4 Years First exposure to business impact of software development = 9 to 15 years of EXPERIENCE  (sorta) !
Agile Architecture Q: How can I find an Architect? A: You probably can't. (esp in Asia) (no technical career path, self-defeating hr policies) Q: Assuming I can – what would one cost? A: A whole lot! (real-world architects are paid 8-10% of  construction costs for new buildings) (more telling: 12-15% for rennovations) http://www.proteus-tech.com/concept/othershore/
Agile Architecture Q: Can I succeed without an actual Architect? A: Yes you can.  (But it's probably gonna hurt) Don't PANIC!  You can greatly influence how bad.
Agile Architecture Essentially, all models are wrong, but some are useful.  – George E. P. Box Don't get carried away by the metaphor! Professor Emeritus of Statistics at the University of Wisconsin, and a pioneer in the areas of quality control, time series analysis, design of experiments and Bayesian inference.
Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  Agile is a Direction, not a Destination.  There is more than one path!
Agile Architecture Assuming One Individual Can Know It All Centuries of real science and cautious evolution vs. ~ half century of existence & doubling of capability every 18 months. Dangerous Misapplications of  the ”Architect” Model
Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  Agile is a Direction, not a Destination.  There is more than one path!
Agile Architecture Small Cross functional teams ” Specialization is for insects!” SCRUM & Removal of Silos PM/Dev/Test/Ops + Customer Side by Side Lower Process Overhead Useful Applications of  the ”Architect” Model
Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  Agile is a Direction, not a Destination.  There is more than one path!
Agile Architecture Design for Failure ” Bullet proof” (vertical) vs Resilient (horizontal) Cloud Computing as practiced by Google/Yahoo Loosely coupled systems CORBA/SOAP vs. RESTful Useful Applications of  the ”Architect” Model
Agile Architecture Test/Behaviour Driven Development A discipline for Agile like double entry accounting or sterile procedure for surgeons. Unit Testing Continuous Integration Ready to Ship Useful Applications of  the ”Architect” Model
Design & Write Your Systems to be Testable by Automated Methods ” Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” Brian W. Kernighan Agile Architecture
Agile Architecture Design Upfront Planning New Buildings with feature changes within single digit known safety variences  vs. New Systems that consistently must achieve  X  multiples of capability improvements Dangerous Misapplications of  the ”Architect” Model
Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan  Agile is a Direction, not a Destination.  There is more than one path!
Agile Architecture Pre-emptive Management of Complexity/Risk Protection against natural tendency to overengineer. Protection against very real political risks. Useful Applications of  the ”Architect” Model
Agile Architecture Plan vs. Discovery Useful Applications of  the ”Architect” Model
Agile Architecture Mayo-Smith Pyramid Grandiose Designs Incur Grandiose Risks Scope fixed, budget & schedule may suffer. Focus on immediate, practical functionality maximizes value of each increment while reducing risk. Scope flexible, budget, schedule under control.
Agile Architecture Treating ”Architect” as a Position to be filled by few rather than a Perspective to be shared by many Builders who can blindly follow a completed plan  vs. Developers/Testers who must participate in the system design Dangerous Misapplications of  the ”Architect” Model
Agile Architecture Completely Value Driven Drive Value Early Mitigate Risks & their impact Useful Applications of  the ”Architect” Model

More Related Content

Agile Architecture

  • 1. Agile Architecture - a practical approach for combining holistic design with process agility Benjamin Scherrey Chief Systems Architect Proteus Technologies, Co. Ltd. @proteusguy on Twitter.com [email_address]
  • 2. Ben Scherrey Professional Background Been programming well enough to get paid since 1984. Accidentally started first company, Business Data Management, in 1989. Found out managing software development was very hard!! Focus on bleeding edge, high performance, and multi-platform systems. Started second company, Proteus Technologies, in 1994. Specialized in building software development groups for clients. Been focused on Agile since 2002.
  • 3. Agile Architecture Why Architecture in Software Development? Current State of Software Development & Architecture : Is it an Art or a Science? ” No REAL science has the word 'science' in it!” Chemistry & Physics vs. Political & Computer 'Science'
  • 4. Agile Architecture Why Architecture in Software Development? Current State of Software Development & Architecture : The Art of Managing Complexity Breaking Huge problems into small manageable ones.
  • 5. Processes communicate these splits in a manner where information doesn't get lost.
  • 6. All process is overhead! Overhead must be justified.
  • 7. Architecture should make communication/process simpler – not more complex!
  • 8. Agile Architecture Does your organization belong in the Software Development Industry? High Failure Rates: Failure1: Project is canceled delivering no new value to primary stakeholders. (tech perspective < 50% - building didn't fall over) Failure2: When primary stakeholders would elect not to do a project knowing the full extent of the deliverables, their cost, and when they would be completed. (business perspective > 80% - buyers remorse R.O.I.)
  • 9. Agile Architecture Why Architecture in Software Development? High Failure Rates: Unfulfilled Promises & Unconstrained Risks: False Belief that we know more about a problem than we possibly can. Unprecedented Opportunity & Returns: Larger economic impact than Industrial Revolution. Hiding from Risk != Managing Risk! … quit pretending and get to the real value.
  • 10. Agile Architecture What is Architecture? http://www.merriam-webster.com/dictionary/architecture Been around a long time! Likely a more recent definition... Us computer folk can't resist a good metaphor. But how else can one communicate when limited only by imagination?
  • 11. Agile Architecture What is an Architect? http://www.merriam-webster.com/dictionary/architect 1563 - 1555 = 8 years! Architects bridge the gap between customer value and engineering considerations. (Architectural Drivers)
  • 12. Agile Architecture What does it take to become an Architect? (in the classic sense) Accredited Architectural School 5-7 Years Serious science + tons of practical experience IDP (Intern Development Program) Training 3+ Years More real-world experience Complete & Pass ARE Exams 1+ Year Architect Registration Exam – focus on public health & safety + architecture as a whole Demonstrates your capabilities of applied science through your real-world experience. = 9 to 13 years of EXPERIENCE!
  • 13. Agile Architecture What does it take to become an Architect? (in the software development/enterprise sense) Accredited University 4-6 Years Lots of theory, little real science, no measurable practical experience (nearly optional) Software Development 3-5 Years First real-world experience preferably with multiple technologies Technical Project Management 2-4 Years First exposure to business impact of software development = 9 to 15 years of EXPERIENCE (sorta) !
  • 14. Agile Architecture Q: How can I find an Architect? A: You probably can't. (esp in Asia) (no technical career path, self-defeating hr policies) Q: Assuming I can – what would one cost? A: A whole lot! (real-world architects are paid 8-10% of construction costs for new buildings) (more telling: 12-15% for rennovations) http://www.proteus-tech.com/concept/othershore/
  • 15. Agile Architecture Q: Can I succeed without an actual Architect? A: Yes you can. (But it's probably gonna hurt) Don't PANIC! You can greatly influence how bad.
  • 16. Agile Architecture Essentially, all models are wrong, but some are useful. – George E. P. Box Don't get carried away by the metaphor! Professor Emeritus of Statistics at the University of Wisconsin, and a pioneer in the areas of quality control, time series analysis, design of experiments and Bayesian inference.
  • 17. Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile is a Direction, not a Destination. There is more than one path!
  • 18. Agile Architecture Assuming One Individual Can Know It All Centuries of real science and cautious evolution vs. ~ half century of existence & doubling of capability every 18 months. Dangerous Misapplications of the ”Architect” Model
  • 19. Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile is a Direction, not a Destination. There is more than one path!
  • 20. Agile Architecture Small Cross functional teams ” Specialization is for insects!” SCRUM & Removal of Silos PM/Dev/Test/Ops + Customer Side by Side Lower Process Overhead Useful Applications of the ”Architect” Model
  • 21. Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile is a Direction, not a Destination. There is more than one path!
  • 22. Agile Architecture Design for Failure ” Bullet proof” (vertical) vs Resilient (horizontal) Cloud Computing as practiced by Google/Yahoo Loosely coupled systems CORBA/SOAP vs. RESTful Useful Applications of the ”Architect” Model
  • 23. Agile Architecture Test/Behaviour Driven Development A discipline for Agile like double entry accounting or sterile procedure for surgeons. Unit Testing Continuous Integration Ready to Ship Useful Applications of the ”Architect” Model
  • 24. Design & Write Your Systems to be Testable by Automated Methods ” Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” Brian W. Kernighan Agile Architecture
  • 25. Agile Architecture Design Upfront Planning New Buildings with feature changes within single digit known safety variences vs. New Systems that consistently must achieve X multiples of capability improvements Dangerous Misapplications of the ”Architect” Model
  • 26. Agile Architecture An Agile Model The Agile Manifesto – Utah 2001 Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Agile is a Direction, not a Destination. There is more than one path!
  • 27. Agile Architecture Pre-emptive Management of Complexity/Risk Protection against natural tendency to overengineer. Protection against very real political risks. Useful Applications of the ”Architect” Model
  • 28. Agile Architecture Plan vs. Discovery Useful Applications of the ”Architect” Model
  • 29. Agile Architecture Mayo-Smith Pyramid Grandiose Designs Incur Grandiose Risks Scope fixed, budget & schedule may suffer. Focus on immediate, practical functionality maximizes value of each increment while reducing risk. Scope flexible, budget, schedule under control.
  • 30. Agile Architecture Treating ”Architect” as a Position to be filled by few rather than a Perspective to be shared by many Builders who can blindly follow a completed plan vs. Developers/Testers who must participate in the system design Dangerous Misapplications of the ”Architect” Model
  • 31. Agile Architecture Completely Value Driven Drive Value Early Mitigate Risks & their impact Useful Applications of the ”Architect” Model
  • 32. Agile Architecture Useful Applications of the ”Architect” Model © www.StickyMinds.com Fixed Cost/Schedule
  • 33. Agile Architecture Conclusions & Summary: Applying Agile concepts to Architectural Discipline allow us to escape the ill-effects from presumptions often present in common processes. Focus on reducing complexities and insistence on value justification avoids over engineering and greatly reduces risks.
  • 34. Agile Architecture Thank you for your kind attention... Ben Scherrey Proteus Technologies [email_address] @proteusguy on twitter http://proteus-tech.com/