The Software Architect Elevator

by Gregor Hohpe

Software Development

Book Details

Book Title

The Software Architect Elevator

Author

Gregor Hohpe

Publisher

O'Reilly Media

Publication Date

2020

ISBN

9781492077541

Number of Pages

437

Language

English

Format

PDF

File Size

4.95MB

Subject

software-architecture/enterprise-architecture

Table of Contents

  • Foreword by Simon Brown
  • Foreword by David Knott
  • About This Book
  • I. Architects
  • 1. The Architect Elevator
  • The Architect Elevator
  • Some Organizations Have More Floors Than Others
  • Not a One-Way Street
  • High-Speed Elevators
  • Other Passengers
  • The Dangers of Riding the Elevator
  • Flattening the Building
  • 2. Movie-Star Architects
  • The Matrix: The Master Planner
  • Edward Scissorhands: The Gardener
  • Vanishing Point: The Guide
  • The Wizard of Oz
  • Superhero? Superglue!
  • Making the Call
  • 3. Architects Live in the First Derivative
  • Rate of Change Defines Architecture
  • Change = Business as Unusual?
  • Varying Rates of Change
  • A Software System’s First Derivative
  • Designing for the First Derivative
  • Confidence Brings Speed
  • Rate of Change Trade-Offs
  • Multispeed Architectures
  • The Second Derivative
  • Rate of Change for Architects
  • 4. Enterprise Architect or Architect in the Enterprise?
  • Enterprise Architecture
  • Connecting Business and IT
  • IT Is from Mars, Business Is from Venus
  • Value-Driven Architecture
  • Visit All Floors
  • 5. An Architect Stands on Three Legs
  • Skill, Impact, Leadership
  • A Chair Can’t Stand on Two Legs
  • The Virtuous Cycle
  • You Spin Me Right Round…
  • Architect as Last Stop?
  • 6. Making Decisions
  • The Law of Small Numbers
  • Bias
  • Priming
  • Micromort
  • Model Thinking
  • IT Decisions
  • Avoiding Decisions
  • 7. Question Everything
  • Five Whys
  • Whys Reveal Decisions and Assumptions
  • A Workshop for Every Question
  • No Free Pass
  • II. Architecture
  • Beyond Software Architecture
  • Three Kinds of Architecture
  • There Always Is an Architecture
  • The Value of Architecture
  • Principles Drive Decisions
  • Vertical Cohesion
  • Architecting the Real World
  • 8. Is This Architecture?
  • Defining Software Architecture
  • Architectural Decisions
  • Fundamental Decisions Needn’t Be Complicated
  • Fit for Purpose
  • Passing the Test
  • 9. Architecture Is Selling Options
  • Reversing Irreversible Decision Making
  • Deferring Decisions with Options
  • Options Have Value
  • An Architecture Option: Elasticity
  • Strike Prices
  • Uncertainty Increases an Option’s Value
  • Time Is Fleeting
  • Real Options
  • Arbitrage
  • Agile and Architecture
  • Evolutionary Architecture
  • Amplifying Metaphors
  • 10. Every System Is Perfect…
  • Heater as a System
  • Feedback Loops
  • Organized Complexity
  • System Effects
  • Understanding System Behavior
  • Influencing System Behavior
  • Systems Resist Change
  • 11. Code Fear Not!
  • Fear of Code
  • Good Intentions Don’t Lead to Good Results
  • Levels of Abstraction: Simplicity Versus Flexibility
  • When Are We Configuring?
  • Higher-Level Programming
  • Configuration Programming
  • Configuration Hiding as Code?
  • 12. If You Never Kill Anything, You Will Live Among Zombies
  • Legacy
  • Fear of Change
  • Hoping for the Best Isn’t a Strategy
  • Version Upgrades
  • Run Versus Change
  • Planned Obsolescence
  • If It Hurts, Do It More Often
  • Culture of Change
  • 13. Never Send a Human to Do a Machine’s Job
  • Automate Everything!
  • It’s Not Only About Efficiency
  • Repeatability Grows Confidence
  • Self-Service
  • Beyond Self-Service
  • Automation Is Not a One-Way Street
  • Explicit Knowledge Is Good Knowledge
  • A Place for Humans
  • 14. If Software Eats the World, Better Use Version Control!
  • SDX: Software-Defined Anything
  • The Loomers’ Riot?
  • Software Developers Don’t Undo, They Re-Create
  • Melt the Snowflakes
  • Automated Quality Checks
  • Use Proper Language
  • Software Eats the World, One Revision at a Time
  • 15. A4 Paper Doesn’t Stifle Creativity
  • A4 Paper
  • Product Standards Restrict, Interface Standards Enable
  • Platform Standards
  • Layers Versus Platforms
  • Digital Discipline
  • Avoid the Skipping Stones
  • One Size Might Not Fit All Tastes
  • 16. The IT World Is Flat
  • Vendors’ Middle Kingdoms
  • Plotting Your World Map
  • Defining Borders
  • Charting Territory
  • Product Philosophy Compatibility Check
  • Shifting Territory
  • 17. Your Coffee Shop Doesn’t Use Two-Phase Commit
  • Hotto Cocoa o Kudasai
  • Correlation
  • Exception Handling
  • Transactions
  • Backpressure
  • Conversations
  • Canonical Data Model
  • Welcome to the Real World!
  • 18. Explaining Stuff
  • Build a Ramp, Not a Cliff
  • Mind the Gap
  • First, Create a Language
  • Consistent Level of Detail
  • I Wanted to Have Liked To, but Didn’t Dare Be Allowed
  • 19. Show the Kids the Pirate Ship!
  • Grab Attention
  • Build Excitement
  • Focus on Purpose
  • Pirate Ship Leads to Better Decisions
  • The Product Box
  • Designing the Pirate Ship
  • Pack Some Pathos
  • Play Is Work
  • 20. Writing for Busy People
  • Writing Scales
  • Quality Versus Impact
  • “In the Hand”—First Impressions Count
  • The Curse of Writing: Linearity
  • A Good Paper Is Like the Movie Shrek
  • Making It Easy for the Reader
  • Lists, Sets, Null Pointers, and Symbol Tables
  • In der KĂĽrze liegt die WĂĽrze
  • Unit Testing Technical Papers
  • Technical Memos
  • The Pen Is Mightier Than the Sword, but Not Mightier Than Corporate Politics
  • 21. Emphasis Over Completeness
  • Diagrams Are Models
  • The Five-Second Test
  • A Pop Quiz
  • Simple Language
  • Diagramming Basics
  • The Style of Elements
  • Making a Statement
  • Twenty Slides, One Story
  • Nothing Is Confusing in and of Itself
  • 22. Diagram-Driven Design
  • Presentation Skills: More Than a Wide Stance
  • Diagramming as Design Technique
  • Designing with Diagrams
  • Diagram-Driven Design Techniques
  • Diagrams Are Art
  • No Silver Bullet (Point)
  • 23. Drawing the Line
  • Behold the Line!
  • The Metamodel
  • The Semantics of Semantics
  • Elements—Relationship—Behavior
  • Architecture Diagrams
  • UML
  • Beware of Extremes
  • 24. Sketching Bank Robbers
  • Everyone Saw the Perpetrator
  • A Police Sketch Artist
  • Sketching Architectures
  • Visuals
  • Architecture Therapy
  • That’s Wrong! Do It Again!
  • 25. Software Is Collaboration
  • Who Says Software Is for Computers Only?
  • Version Control
  • Single Source of Truth
  • Trunk-Based Development
  • Always Be Ready to Ship
  • Style Versus Substance
  • Transparency
  • Pairing
  • Resistance
  • IV. Organizations
  • Organizational Architecture: The Static View
  • Organizational Architecture: The Dynamic View
  • The Matrix (Not the Movie)
  • Organizations as Systems
  • Organizations as People
  • Navigating Large Organizations
  • 26. Reverse-Engineering Organizations
  • Dissecting IT Slogans
  • Unknown Beliefs
  • Beliefs Are Proven Until Disproven
  • Unlearning Old Habits
  • Common IT Beliefs
  • Reprogramming the Organization
  • Handed-Down Beliefs
  • 27. Control Is an Illusion
  • The Illusion
  • Control Circuits
  • A Two-Way Street
  • Problems on the Way Up
  • Smart Control
  • SaupreiĂź, ned so Damischer
  • Actual Control: Autonomy
  • Controlling the Control Loop
  • 28. They Don’t Build ’Em Quite Like That Anymore
  • Why IT Architects Love Pyramids
  • Organizational Pyramids
  • No Pyramid Without Pharaoh
  • No One Lives in a Foundation
  • Building Pyramids from the Top
  • Celebrating the Base Layer
  • Living in Pyramids
  • It Always Can Get Worse
  • Building Modern Structures
  • 29. Black Markets Are Not Efficient
  • Black Markets to the Rescue
  • Black Markets Are Rarely Efficient
  • You Cannot Outsource a Black Market
  • Beating the Black Market
  • Feedback and Transparency
  • 30. Scaling an Organization
  • Component Design—Personal Productivity
  • Avoid Sync Points—Meetings Don’t Scale
  • Interrupts Interrupt—Phone Calls
  • Piling on Instead of Backing off
  • Asynchronous Communication—Email, Chat, and More
  • Asking Doesn’t Scale—Build a Cache!
  • Poorly Set Domain Boundaries—Excessive Alignment
  • Self-Service Is Better Service
  • Staying Human
  • 31. Slow Chaos Is Not Order
  • Fast Versus Agile
  • Speed and Discipline
  • Fast and Good
  • Slow-Moving Chaos
  • ITIL to the Rescue?
  • Objectives Require Discipline
  • The Way Out
  • 32. Governance Through Inception
  • Living in Perfect Harmony
  • The Value of Standards
  • Interface Standards
  • Mapping Standards
  • Governance by Decree
  • Governance Through Infrastructure
  • Inception
  • The Emperor’s New Clothes
  • Governance Through Necessity
  • V. Transformation
  • Change Is Risky
  • Not All Change Is Transformation
  • Bursting the Boiler
  • Why Me?
  • 33. No Pain, No Change!
  • Stages of Transformation
  • Digital Transformation Stages
  • Wishful Thinking Sells Snake Oil
  • Tuning the Engine
  • Help Along the Way
  • The Pain of Not Changing
  • Getting Over the Hump
  • 34. Leading Change
  • A Tractor Passing the Race Car
  • Setting Course
  • Venturing Off the Mainland
  • Burning the Ships
  • Offshore Platforms
  • The Island of Sanity
  • Skunkworks That Works
  • Leaving Your Island Will Get Your Feet Wet
  • The Country of the Blind
  • 35. Economies of Speed
  • 30,000 Times Faster
  • Old Economies of Scale
  • Behold the Flow!
  • Cost of Delay
  • The Value and Cost of Predictability
  • The Value and Cost of Avoiding Duplication
  • How to Make the Switch?
  • 36. The Infinite Loop
  • Build-Measure-Learn
  • Digital RPMs
  • Old-World Hurdles
  • Looping in Externals
  • Pivoting the Layer Cake
  • Maintaining Cohesion
  • 37. You Can’t Fake IT
  • Laying the Foundation
  • Feedback Cycles
  • Delivering on Your Promises
  • Customer Centricity
  • Cocreating IT Services
  • Eat Your Own Dog Food
  • Digital Mindset
  • The Stack Fallacy
  • 38. Money Can’t Buy Love
  • Innovator’s Dilemma
  • Beware of the HiPPO
  • Overhead and Tolerated Inefficiency
  • Hollowed-Out IT
  • Excessive Dependencies
  • Paying More May Get You Less
  • Changing Culture from Within
  • 39. Who Likes Standing in Line?
  • Looking Between the Activities
  • A Little Bit of Queuing Theory
  • Finding Queues
  • Cutting the Line
  • Making Queues Visible
  • Message Queues Aren’t All Bad
  • 40. Thinking in Four Dimensions
  • Living Along a Line
  • Quality Versus Speed
  • More Degrees of Freedom
  • Changing the Rules of the Game
  • Inverting the Curve
  • What Quality?
  • Losing a Dimension
  • VI. Epilogue: Architecting IT Transformation
  • 41. All I Have to Offer Is the Truth
  • Index