Agile development is widely considered to be an ideal way to ensure project success. Given that Agile inherently requires collaborative efforts in cross-functional teams, it’s also ideal for teamwork. And yet, when deadlines are tight and stress is high, it can be easy for individual team members to be left out of the collaborative efforts.
It’s always easier to spot when you’re being left out than it is to recognize when you may be the one leaving other teammates out. As a UX/UI designer, I fully understand the importance of cross-functional inclusion to design success—so this is something I try to stay aware of and work on in the different projects I am involved in.
One of the practices I’ve found most helpful to ensuring inclusive teamwork in Agile is holding refinement meetings. What are refinement meetings and how are they helpful, you ask? Let’s explore.
Refinement Meetings Bring Everyone to the Table
One of the greatest advantages of Agile is that it brings together many people with different areas of expertise to solve the problem at hand. At the same time, one of its biggest challenges is making sure everyone’s expertise is accounted for.
Each area of expertise brings its own unique viewpoints in how they approach a project, so success depends strongly on full representation. That’s where refinement meetings come in. These sessions can help with making sure that all those viewpoints are heard and understood by everyone in the project.
There is no “I” in team, but there is one in Agile.
Refinement Meetings are held with the leads of the UX, Product, and Engineering teams. They allow the UX team to present new designs before they are sized or added to any sprints. During this time, UX can properly explain their designs and address any questions from the other participants.
From there, the Product Team can plan out how best to add the designs to the product pipeline. They’ll determine whether it’s something that can be implemented right away, if it will need other prerequisite work, or if it will need to be split across multiple sprints.
The Engineering Team can also properly assess the impact the designs will have. They can point out how it will impact responsiveness, if the proposed workflow would incur an overwhelming amount of API calls that would slow everything down, if it will be feasible with their current design library, or if new material libraries would be needed. Additionally, they can point out changes to the design that would optimize it from an engineering viewpoint.
Based on the Product and Engineering Teams’ feedback, UX leads will next determine what can and can’t be changed—and what they’re willing to adapt. As you can tell, scheduling a refinement meeting adds a lot more back-and-forth to the process than simply handing your designs over to Engineering and letting them worry about implementation. So, why go through all this trouble? Refinement meetings help teams overcome several obstacles, which saves both time and frustration in the long run.
Refinement Meetings Solicit Team Input Earlier
Due to the fast-paced nature of Agile, one of the biggest obstacles is to constantly define a specific goal that the whole team is meant to be working towards. UX designers play a big part in this. We’re trained to put great care to be thorough in our research and design ideation.
By the time you are ready to pass your designs to the Product and Engineering Teams, chances are you already have a concrete idea of what your designs entail. This makes it all too easy to simply tell them what they are meant to be building. However, this takes away any input from your team members. How can you avoid this?
The most immediate way is to make sure that you are communicating the why behind your design. This is an opportunity to share why you designed something a certain way instead of just telling them what you made. This understanding is key when it comes to implementing your designs—especially if they hit a roadblock and need to discuss alternate options.
Refinement Meetings Ensure Designs Are Practical
One of my UX instructors once began a lesson on beginner CSS and HTML by saying, “Anything is possible in code.” On the first lesson we were asked to make two shapes using code—a circle and an octagon. I was quickly able to write the code for a circle in just a few lines.
Feeling very proud of myself for my early success, I went on to code the octagon. I spent a few very frustrating hours trying to use my basic coding knowledge to create the shape before giving up and looking up online how to create it. I got a ton of code that I didn’t quite understand at the time, so I decided to give up on the endeavor.
When I saw the instructor the next morning I just asked “Why!?” He explained that the purpose of the exercise was to convey that while anything is possible in code, not everything is practical. He concluded the lesson with “Next time you decide to add octagons to your design just be sure that a circle won’t suffice.”
Don’t try to put an octagon peg in a round hole.
When you create a wireframe or a high-fidelity prototype, unless you are personally coding the designs, you might not be fully aware when something in your design might be “an octagon.” What might seem simple and straightforward to you might present unforeseen problems for the Engineering Team.
Refinement meetings allow for UX and Engineering to come together and figure out which elements are “octagons” and plan for “circle” alternatives. When both UX and Engineering understand the why of the designs, it becomes possible to leverage the expertise of both teams to create the best product possible. Additionally, when UX makes the effort to accommodate the priorities and needs of the rest of the team it makes it easier for them to reciprocate.
So, while refinement meetings require additional efforts from all team members, requires the Product Team to plan sprints ahead of production—and to communicate those plans with the UX team—the efforts are well worth it. In return, you’ll enjoy closer collaboration between all teams involved in a project—which can only lead to a stronger finished product.