5 Habits of Expert Software Designers

43

5 Habits of Expert Software Designers

5 Habits of Expert Software Designers

5 Habits of Expert Software Designers: What makes an expert software designer? The typical answer—experience & innate ability—is less than satisfying. While it carries elements of truth,it offers little from which we can learn & generalize. Experts clearly do not just approach their work randomly.Quite the contrary, they have specific habits, learned practices, & observed principles that they employ deliberately during their design work.

Some may be familiar with them, others may not. Some are easily put in practice, others may not. Some have immediate impact, others may not. A constant, but, is that expert software designers are keenly aware of all of these practices & draw on them when the situation calls for it.

Today, software is no longer limited by technology, but rather by imagination. Yet the software that turns the imagined into reality can be complex, and the context in which this transformation must happen can be even more complex. This places extraordinary demands on software designers, demands that can be met only if we collectively “step up” to achieve sustained excellence in design. We hope these illustrations can play a small part.

5 Habits of Expert Software Designers

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.They are not satisfied with just any abstraction, they deliberately seek elegant abstractions through which complex structures can be introduced, understood, and referred to efficiently.

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.

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.

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.

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.

5 Habits of Expert Software Designers

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.

Do Follow us on :- Facebook, Instagram, Twitter, YouTube

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.

LEAVE A REPLY

Please enter your comment!
Please enter your name here