Design and Software Development: More Similar Than you Might Think

Still being early in my career, I consider myself extremely fortunate to have had the chance to work in a variety of different design fields. I’ve worked in Architecture, Interior Design, Fashion, Industrial Design, Graphic Design, and now UX/UI. Each field has definite similarities, but there are also subtle differences that change their approach to design.

As I work on Bootmark with our development team I find it continually interesting how similar design and software development are. These two areas are portrayed in strikingly different ways by media: coders are geeky, terribly dressed, socially incapable individuals whereas designers are suave, fashionable and outgoing. While this may be true in some instances, I believe that the process by which they work is close to identical. Let’s look at 5 things that they have in common:

  1. Fail Fast – Both fields focus on “getting it all out” as soon as possible to identify what will work and what won’t. Failure is not a negative outcome, but is progress. It informs progress decisions moving forward.

  2. Mass Iteration – The fields differ slightly on this point, as design often focuses on producing “design options” for a client. This means producing multiple iterations that are then presented to the client for selection of one option to proceed with. Software dev does not have this luxury, however they must still produce many iterations in order to discover what works. After finding what works developers will continue to iterate in order to “optimize”.

  3. Sprints – In my opinion software Dev has done a much better job of documenting their work process, which incorporates the idea of sprinting: Work hard with long hours for a specified period of time in order to achieve a project milestone. Then take a break to recharge and repeat the process until you have a finished product. In my experience fashion most closely adheres to this process, as they must because of the structure of A/W and S/S seasons. Architecture seems to forget to take the much needed recharge break, and Industrial Design seems to enjoy the break all too much (again, from my personal experiences).

  4. Recycle Recycle Recycle – Nobody likes doing more work than they need to. Both Design and Software Dev have become masters of recycling previously completed work, likely more often than people realize. Whether it’s a string of code or a foundation wall detail, the rule in both fields is that if you can reuse work done in past projects it is just not logical to do the work again. I’m sure this principle applies to many other fields as well, but it is an absolute necessity for Design and Software Dev if one wants to be profitable.

  5. Versatility – This is perhaps my favourite similarity. If a coder understands the basics of how computer language works then they have the ability to learn any computer language. For example, Dave and Cody (the Bootmark dev team) had never coded in Swift before, now they do. The same principle applies to design: if you understand the basics of how proportion, colour, and scale work then you have the ability to learn any type of design. The different fields have nuances to learn, but the foundation is the same for all.

I’ve learned a lot from the Bootmark dev team over the past months, and I love having the chance to broaden my experience further. Though our approach to tasks is often different, it is nice to feel like we actually have more in common than those people think. And hey, I don’t mind if media wants to convince people that I am suave, fashionable and outgoing.

- Mike

Mike Buss