Eight Habits of Expert Software Designers: An Illustrated Guide - Deepstash
Eight Habits of Expert Software Designers: An Illustrated Guide

Eight Habits of Expert Software Designers: An Illustrated Guide

Curated from: thereader.mitpress.mit.edu

Ideas, facts & insights covering these topics:

8 ideas

·

228 reads

4

Explore the World's Best Ideas

Join today and uncover 100+ curated journeys from 50+ topics. Unlock access to our mobile app with extensive features.

Experts involve the user

Experts involve the user

Experts are acutely aware of users. They deliberately involve users in the design process, studying them, talking to them, engaging them in testing intermediate designs, and even asking them to take an active role in the design team.

Yet experts do not take everything users say at face value. They realize the potential limitations, as users’ thinking is often colored by current experiences. Experts look beyond what users ask for, to what users actually need.

3

44 reads

Experts design elegant abstractions

While all developers create abstractions, experts design them. A good abstraction makes evident what is important, both in what it does and how it does it. Through a single lens, it communicates the problem it solves and the machinery of its solution.

Experts are not satisfied with just any abstraction, they deliberately seek elegant abstractions through which complex structures can be introduced, understood, and referred to efficiently.

3

33 reads

Experts focus on the essence

Every design problem has an essence, a core set of considerations that must be understood and “nailed” in the design solution for it to solve the problem successfully.

This essence can be disruptive: changes in the core drastically alter the peripheral decisions that need to be made. Experts focus their efforts on the essence first, and delay expending effort designing on the periphery.

3

24 reads

Experts simulate continually

Experts imagine how a design will work — simulating aspects of the envisioned software and how the different parts of the design support a variety of scenarios.

When working with others, experts regularly walk through a design by verbalizing its operation step-by-step. When alone, they simulate mentally, exercising the design repeatedly over time.

3

24 reads

Experts look around

In the same way that architects walk cities to examine and take inspiration from existing buildings, software experts examine the designs of other software to “see how they did it.”

They frequently do so in response to a particular challenge they face, but they often also spend time looking around just to add to their repertoire of possible design solutions to draw upon in the future.

3

26 reads

Experts reshape the problem space

Experts often step back from the stated problem and consider the problem space more broadly, looking for alternative ways of understanding “what the problem is.”

They may change direction by reconceiving the problem space, or by addressing a different problem in the same space. They intentionally choose somewhat different goals from the original design problem, as this leads to insights either into where the real problem lies, or into how to overcome key obstacles.

3

26 reads

Experts see error as opportunity

Design regularly involves error: things that “go amiss,” misunderstandings, obstacles, wrong turns, emergent issues. Rather than fearing error, experts embrace error as opportunity.

They accept it as an inherent part of design and take time to explore both the failure and the context around it. Understanding what happened often reveals insights about the problem — or about the solution — such as assumptions, misconceptions, misalignments, and emergent properties.

3

27 reads

Experts think about what they are not designing

While it is natural to focus on what a design must accomplish, experts also spend time thinking about what a design is not intended to do.

In articulating and considering boundaries, they discover where they are over- and under-designing.

3

24 reads

IDEAS CURATED BY

natawashingto

Scientist in audiological

Natalie Washington's ideas are part of this journey:

Product Management Essentials

Learn more about computerscience with this collection

Essential product management skills

How to work effectively with cross-functional teams

How to identify and prioritize customer needs

Related collections

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Personalized microlearning

100+ Learning Journeys

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates