How we approach UX @ MichiganLabs

July 29, 2019
How we approach UX @ MichiganLabs

At Michi­gan Soft­ware Labs, we focus on build­ing supe­ri­or user expe­ri­ences (UX) for our clients and their cus­tomers. While there are count­less ways to define the UX design process, this one stands out: Design is the process design teams use to cre­ate prod­ucts that pro­vide mean­ing­ful and rel­e­vant expe­ri­ences to users.” This all-encom­pass­ing process includes every­thing from brand­ing and usabil­i­ty to acces­si­bil­i­ty and function.

To break the UX process down fur­ther, there are three basic P’s to keep in mind: Peo­ple, Prod­uct, and Process. Let’s start with the first.

The Prod­uct

For a prod­uct to suc­ceed, it needs to be attrac­tive and easy to use. We avoid a beau­ty for beauty’s sake” design men­tal­i­ty in favor of sim­plic­i­ty and sub­stance and sim­plic­i­ty. To get there, we believe the UX and soft­ware devel­op­ment process­es should almost always go hand in hand.

At Michi­gan­Labs this means:

  • Under­stand­ing our clients’ pri­or­i­ties first
  • Solic­it­ing user feedback
  • Design­ing in a man­ner that opti­mizes the soft­ware imple­men­ta­tion process
  • Employ­ing, and often exceed­ing, UX design standards
  • Sup­port­ing and help­ing clients under­stand how the prod­uct will evolve over time

The Process

There’s no sub­sti­tute for a but­toned-up UX design process. At Michi­gan­Labs, we fol­low these steps:

  • Once we under­stand what suc­cess looks like for the prod­uct owner(s), we write user sto­ries and/​or gath­er design requirements
  • Cre­ate wire­frames or low-fideli­ty designs, if needed
  • Seek user-feed­back at all stages
  • Begin the high-fideli­ty design process
  • Fol­low an iter­a­tive, Agile process to get ongo­ing feed­back from users and prod­uct owners
  • Make updates based on user and devel­op­er feedback

Note that design isn’t sim­ply hand­ed off” to the devel­op­ment team — it is a liv­ing, con­tin­u­al process of updat­ing. While design is a means to an end prod­uct, it’s doesn’t nec­es­sar­i­ly mir­ror the final prod­uct. Rather, it offers a use­ful path.

To bet­ter under­stand that path, here are 6 Lean UX process stages we tend to follow:

  • Solve prob­lems togeth­er: Ensure every mem­ber of your team is present dur­ing brain­storm­ing for new projects. 
  • Give your teams prob­lems to solve, not solu­tions to imple­ment. The out­come will be a far more effi­cient and pro­duc­tive team cre­at­ing high­er qual­i­ty prod­ucts and experiences. 
  • Sketch: Intro­duce the team to sketch­ing in order to help them visu­al­ize their ideas and come to a consensus. 
  • Pro­to­type: Get to a prod­uct expe­ri­ence as quick­ly as pos­si­ble. Use pro­to­types of vary­ing fideli­ties to get a sense of what your product’s expe­ri­ence will be and val­i­date that with cus­tomers to ensure you’re head­ed down the right path. 
  • Pair your devel­op­ers and design­ers: Have devel­op­ers and design­ers pair up to cre­ate the user inter­faces. Each will learn from the oth­er and build the trust nec­es­sary for greater team col­lab­o­ra­tion and productivity. 
  • Cre­ate a style guide: Cod­i­fy your design ele­ments in pat­tern libraries and code repos­i­to­ries so cre­at­ing new pages and work­flows in your prod­uct is as easy as pick­ing the pieces from the style guide. It also allows the team to quick­ly piece togeth­er expe­ri­ences for pro­to­types and empow­ers your devel­op­ers to build inter­faces with­out con­stant review with the UX designer.

The Peo­ple

The process and final prod­uct are only as good as the peo­ple work­ing on it. To max­i­mize results, we define the design and deliv­ery lead roles a bit dif­fer­ent­ly than oth­er companies:

  • A UX design­er pairs with a deliv­ery lead on every project 
  • The deliv­ery lead works close­ly with the prod­uct owner(s) and soft­ware devel­op­ers, while the UX design­er offers tech­ni­cal support
  • The UX design­er uses research to under­stand the user and the prob­lem to be solved. This includes client strat­e­gy sessions.
  • The UX design­er also stew­ards the design process. This means using appro­pri­ate fonts, brand­ing ele­ments, col­ors, acces­si­bil­i­ty, and more.

Con­tin­u­al­ly learning

A strong UX process is high­ly adapt­able, nev­er rigid. Agile and iter­a­tive in nature, it is capa­ble of new learn­ings and cre­ative solu­tions not only between, but also with­in, each project we under­take. The end result is design that is usable, acces­si­ble, and attractive.

For more UX think­ing from our team, check out this acces­si­bil­i­ty post by Iulia Rontu.

Mark Johnson
Mark Johnson
Co-founder & Managing Partner

Looking for more like this?

Sign up for our monthly newsletter to receive helpful articles, case studies, and stories from our team.

Why Use Flutter?
Business Development

Why Use Flutter?

January 18, 2023

We discuss Flutter, a framework for building Android and iOS apps with a single codebase, created by Google in 2018. Given the increasing popularity of smartphones and mobile-first experiences, it is essential to cover not only Android and iOS platforms but also the mobile-first web.

Read more
MichiganLabs’ approach to product strategy: Driving software success
Process Team

MichiganLabs’ approach to product strategy: Driving software success

February 12, 2024

Read more
How to Prepare for our Associate Software Developer Position

How to Prepare for our Associate Software Developer Position

June 30, 2023

Tips for applying to MichiganLab's Associate Software Developer program

Read more
View more articles