Engineering concepts every designer should know

Required knowledge for anyone who designs software

Sometimes people who design software think a lot about design and fairly little about software.

But if you’re a UI/UX designer, software is your medium, just sculptures use marble. It has its own shape, and it’s own unique constraints. It’s beautiful, ugly, strange, unpredictable, counterintuitive, and even irrational.

Engineers, too, have been living with software. For years, they all have been trying to solve the Big Problem in software, most famously outlined in the book The Mythical Man Month: software is inherently complex, which makes it almost impossibly hard to build on time, on-budget, and at high quality.

Luckily our engineer friends have learned some lessons for us. Frameworks like Agile development and Extreme programming, can help us break down complex projects into useful pieces, reduce complexity, and decrease the risk that a difficult project will go over budget or fail.

Here are a few of my favorite lessons from engineering.


Related
The books I recommend to designers 
What to do when you’re stuck on a design 
Design is mostly about emphasis Coming soon

Read this article before it’s published

Leave your email and I’ll send you an early draft