Design thinking is less a process and more of a guide to direct and organise design activities.
1. Four Principles - HART:
- Human - design is social in nature - empathize with stakeholders, developers, testers, support people, managers, everyone who touches it directly or indirectly, don't sit in an ivory tower
- Ambiguity - minimize ambiguity as much as possible, reduce risks. But don't overdo, keep it minimalist, with high priority quality attributes. Leave the detailing for the downstream, also helps to absorb change.
- Design is Redesign - It's never novel in nature, so always look for and take help from existing architectures, solutions, tools, framework. Software has been long in existence, so essentially it's refining or redesigning something already existing.
- Tangible - Design must be tangible, so it can be communicated. Have an arsenal of diagrams, tools and ways to make designs tangible and not just something in air
2. Adopt design mindset
Architects have to think with different sets of mindsets - Understand, Explore, Evaluate and Make. This is to make sure, mind is focused and looking for the right details at the right time. Reducing hallucinations, overthinking or trying to think everything at once.
- Understand - empathize with stakeholders, understand their problems, business goals and quality attributes
- Explore - think of new ideas, explore modules, components, solutions, frameworks, etc. Find what combination best fits or work.
- Make - prototypes, documents, calculations, estimations, whatever enables to make the ideas tangible to communicate.
- Evaluate - design decisions solves the problems. Its not all or nothing, evaluate whole or parts of architecture against whole or part of problems, and find the fits.
3. Think Do Check
Software is never finished, it's only released. Tools, frameworks, designs, attributes, requirements, etc keep on coming. So for a tighter quick feedback loop, follow think-do-check. Think - of the problems, goals, issues, requirements. And solutions for it. Do - create prototypes, docs, etc Check - if the combination fits