Barbarian Meets Coding

WebDev, UX & a Pinch of Fantasy

2 minutes readlean-ux

Lean UX, Atomic Design and Angular - A Flexible Front-end Architecture for Developing Web Applications: Part I

Lean UX, Atomic Design and Angular Logos

Many of you may find the following situation familiar:

UX Designer: Could you improve this view so that when you make a selection here both of these charts are updated?

Software Developer: Hmm… No, I can’t.


UX Designer: Could you make change X (which looks like it would be pretty straightforward) that would improve the UX of this view enormously?

Software Developer: That’s completely impossible because we didn’t design our framework to acommodate that use case. I could do it but we would need to make a major re-architecture and re-design of our application that would affect all these other views. There are also these 300 things with higher priority right now.

Well, I know I do. Particularly on the developer side of things.

Something, some change, some improved interaction that is perceived as simple and easy like changing the location of a button ends up being technically infeasible or too costly. Software development is an art/science of trade-offs where a combination of requirements lead to decisions that optimize an application for certain types of changes and make other types of changes impossible or too costly. Sometimes we design ourselves into a corner.

I know that perceived as easy is not a very specific description but changing the location or a button, or the position of a form, shouldn’t require an application re-architecture. When we design systems that are so inadecuate or resistant to handle change we have failed.

So, I started this new project where I worked both as a UX designer and Software Developer.

Multiclassing: Wizard-Warrior-Ux-Developer

I had the situation above very present as I had often discussed it with a UX designer friend. My intention was to apply a lot of Lean UX principles and techniques to our project and design a system that was very flexible. A system that would allow use to continuously learn about our users and apply whatever we learnt to make our application better. A system where User Experience would be a driver and not an afterthough.

Interested? Then follow up this series of articles about Lean UX, Atomic Design and Angular.

Continue reading the second part of the series.

Jaime González García

Written by Jaime González García , dad, husband, software engineer, ux designer, amateur pixel artist, tinkerer and master of the arcane arts. You can also find him on Twitter jabbering about random stuff.Jaime González García