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.