Elliot Dahl

Elliot Dahl

Product Designer at Lattice

San Francisco based artist and designer. Currently @lattice

15 action items

Get through to someone who’s hard to work with

    • Getting alignment can be hard. I like to use a "Hopes and Dreams" exercise to have an open conversation. This can be run with a single person or a whole team. Below are a few key questions for all parties to write down alone and then get together to compare and talk through. There are no right answers. Change the questions/format to fit your needs. The goal is to build empathy for each other.

    • My role is...

      Defining your own roles from your perspective can help shed light on why a team member may be behaving in a certain way. This may be a good time to agree on the key characteristics of your respective roles.

    • Expectations of me by others are...

      What burdens are you carrying? Are they realistic?

    • Expectations for myself are...

      Learn about the internal standards you have for yourself and how that changes your behavior.

    • Needs/wants from the team/partner are...

      What support are you expecting? What kind of communication style do you prefer?

    • Professional needs/wants...

      Do you have the tools/environment/time/space that you need to be successful? You may not be able to change all of these. Calling them out will help build empathy with others.

    • Personal success is...

      Knowing what is important to you/others will give you awareness about how to navigate tricky ownership situations. Learn when to give and seek praise at the appropriate times.

    • What I want to learn is...

      This is your opportunity to connect with someone who has something to teach you or has the ability to support your learning. Commend each other on your drive to improve. Also good to be aware of too many/unrealistic learning goals. It is not wrong to be hungry, but you can ask yourself/each other questions about priority.... See more

    • Worst thing that could happen...

      Call out your fears. Be aware of how fear motivates you/others to act.

    • What risks exist?

      Personal, professional, problem space risks? What can you do to mitigate those risks together?

Know when it's time to start a design system

    • When your team is scaling

      The thinking behind your designs can be a lot for one person to keep in their head. Add a few more designers and engineers into the mix and you're bound to start stepping on toes. Start small and work together on a shared understanding of what should go into a design system.... See more

    • When patterns are emerging

      Visual patterns are beginning to emerge in shapes and colors but the rules are held in individual minds and not shared. It's time to start documenting and validating the thinking that got you this far.

    • When you've built the same thing... a few times

      Each time a common user flow comes up it's solved in a unique way. This is common when a product expands the breadth of its functionality and/or when new members are added to a team. It's time to get the product team aligned on the best practices to bring consistency for users and save time on product development.... See more

Address legacy code constraints when building a design system

    • Understand your constraints

      Legacy code can be outdated technology, poorly implemented code, or both. For example, Javascript frameworks are all the rage but they change rapidly. Getting left behind on an old version of a framework can be limiting and expensive to remedy. Sit down with the engineers on your team to understand why your current implementation is limiting your ability to build a great design system. Alignment on the pain points is the key to making any progress on addressing legacy code constraints with your team.... See more

    • Evaluate the impact to the end user vs your team

      Start with making a list of where your legacy code is hurting the user's experience (e.g. slow login experience). Then make a list of the pain points of working with the legacy code (e.g. spaghetti code that takes awhile to parse). Get the team involved in plotting each user or team pain point on a 2x2 grid to evaluate the cost vs impact of each. Ideally you've identified a few low cost high value issues to address, which is a great place to start. With a fast moving team it can be helpful to run this exercise on a regular basis to ensure you're addressing the most pertinent issues.... See more

    • Create a deprecation plan

      Take some of the issues you identified in the step above and create a step by step plan to deprecate some of the legacy code that's holding you back. Take into account the product areas and people this change will affect. 

 The best way to get buy in from team members and stakeholders to prioritize this work is to include them on this entire process.... See more