Chapter 2. To Practice Architecture Is to Decide
We need now to dig into the fundamental element that underpins any approach to software architecture: decisions. This chapter will define clearly what architectural decisions are. Chapter 3 will then cover how we decide, individually and in groups.
Before I start, I’d like you to do something for me. Close your eyes. Imagine a software architecture decision being made. When you open your eyes again, consider the following:
-
What images came to mind?
-
Was it you or someone else or several people doing the deciding?
-
Was the decider “high up” in the organization and “handing down” the decision? Or were they below you? Or were they a peer?
-
What age was the person? Were they older, younger, or a similar age? Did you even notice that?
-
What tech skills do they have? Are they the same as yours, or are theirs stronger or weaker? Have they programmed? What was the language? Is that a language that you know? Have they run their code in production? At what scale?
-
Were they from the same background as you? What about their outlook and experience—were they the same as yours? If they were not the same, in what ways were they different?
Keep your answers in mind as you go through this chapter and explore what makes an “architectural” decision important. Along the way, I’ll highlight the common assumptions about decisions that can cloud our thinking. You may be surprised at how your current vision of deciding in software architecture ...
Get Facilitating Software Architecture now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.