The Software Architect Elevator

Book description

As the digital economy changes the rules of the game for enterprises, the role of software and IT architects is also transforming. Rather than focus on technical decisions alone, architects and senior technologists need to combine organizational and technical knowledge to effect change in their company’s structure and processes. To accomplish that, they need to connect the IT engine room to the penthouse, where the business strategy is defined.

In this guide, author Gregor Hohpe shares real-world advice and hard-learned lessons from actual IT transformations. His anecdotes help architects, senior developers, and other IT professionals prepare for a more complex but rewarding role in the enterprise.

This book is ideal for:

  • Software architects and senior developers looking to shape the company’s technology direction or assist in an organizational transformation
  • Enterprise architects and senior technologists searching for practical advice on how to navigate technical and organizational topics
  • CTOs and senior technical architects who are devising an IT strategy that impacts the way the organization works
  • IT managers who want to learn what’s worked and what hasn’t in large-scale transformation

Publisher resources

View/Submit Errata

Table of contents

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

Product information

  • Title: The Software Architect Elevator
  • Author(s): Gregor Hohpe
  • Release date: April 2020
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9781492077541