On your first day working with any software system the architecture is always TBD—to be discovered. Whether we start from a blank page or must uncover structures in an existing software system, the architecture we need is out there, somewhere, waiting for us to discover it. To design a software system’s architecture we explore solutions at the same time we’re working to uncover the problem to be solved.
To help you perform this challenging task, you’ll learn a creative and analytical approach to problem solving that puts humans at the center of attention called design thinking. Focusing on the people affected by your design decisions helps you concentrate on the exact problems that must be solved. It also grounds your solution exploration by reminding you that your purpose is to build software that helps people.
In this chapter, you’ll learn how to apply design thinking to software architecture. You’ll start by learning the core principles of design thinking. Next, you’ll learn how to use different design mindsets to keep your architecture moving forward in (mostly) the right direction. Finally, you’ll see an approach for picking design mindsets.
18.191.93.122