Design Thinking tackles complex problems by:
- Empathize: Understanding the human needs involved
- Define: Re-framing and defining the problem in human-centric ways
- Ideation: Creating many ideas in ideation sessions or independently and then reconvening (brainstorming sucks)
- Prototyping: Adopting a hands-on approach in prototyping
- Testing: Developing a prototype/solution to the problem
- Implementing: Do it
Not about design. Actually about strategic options and system impact.
This is where "D" (design) school meets "B" (business) school.
- Empathize
- empathy map
- involve others in research
- Define
- define and align on problem
- dot voting
- diverge and converge
- prioritization matrices
- define and align on problem
- Ideation
- workshops
- varying expertise
- end users
- Prototyping
- Testing
- Implement
Think dynamically and document along the way.
(TOC)
A heuristic is any approach to problem solving (...) that employs a practical method, not guaranteed to be optimal (..) or rational, but instead sufficient for reaching an immediate goal.
Jacob Nielson and Don Norman created the comprehensive list of usability heuristics
- 1) Visibility of system status
The system should always keep users informed about what is going on, through appropriate feedback within reasonable time- Gmail loading envelope
- Medium like button
- 2) Match between system and the real world
The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than system-oriented terms.
Follow real-world conventions, making information appear in a natural and logical order.- Gov.UK
- 3) User control and freedom
- Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue.
- Support undo and redo.
- Always be able to go back and forth and user can stay in control.
(e.g. Google Drive asks you if you want to "undo" when trashing something.)
- Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue.
- 4) Consistency and standards
- Users should not have to wonder whether different words, situations, or actions mean the same thing.
- Follow platform conventions.
- Salesforce acquired several softwares and had build a system that could make them all coherent.
- 5) Error prevention
- Even better than good error messages is a careful design which prevents a problem from occurring in the first place.
- Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.
- e.g. Google Flights doesn't let you select an earlier date for return flight than the departure flight. It will auto correct and move the departure date for you.
- e.g. Airbnb search will still give you relevant searches even if you input a typo.
- 6) Recognition rather than recall
- 7) Flexibility and efficiency of use
- 8) Aesthetic and minimalist design
- 9) Help users recognize, diagnose, and recover from errors
- 10) Help and documentation
(TOC)