Keep Your Developers Happy by Pipelining UX with Product Development
According to Kevin Systrom, co-founder of Instagram, you have just 30 seconds to capture someone’s attention. In terms of IoT devices, and mobile and desktop applications, that all-important first impression is driven by effective user experience (UX) design.
Great UX makes a device or app appealing and easy to use. So, of course spending time on UX should be a priority when bringing that device or app to life. Right?
Yes, but…
Problem is, UX takes time. Often, that’s time stolen from software development, which is always the most complex aspect — the long pole — of any project. And that’s the surest way to make your development team cranky since developers want every last hour between the start of a project and the ship date to work on system features.
While the need for good UX design is widely regarded as essential for product success, developers will always push back if told they have to wait for a complete design before they can write a single line of code.
Fortunately, there’s a process proven to deliver great UX design in a timeframe developers can rally around. It’s called pipelining — or more specifically, pipelining UX with product development. We’ve developed this approach and have used it successfully at ICS to create hundreds of software systems, ranging from straightforward mobile apps to life-critical embedded devices.
Completing UX up front allows us to identify the crucial features but it can take significant time, and that could result in a lengthy time-to-market schedule. A pipelining approach speeds product development.
Our Approach
Our UX team understands that what we design has to eventually be a shippable product. While we encourage our designers to push boundaries — new ideas can move whole industries forward — our limit-testing is informed by a full understanding of the practicalities and realities of the software-development process.
It is this knowledge of both UX design and software development best practices that has led us to shape our design process in a way that ensures we roll out UX deliverables to developers in a fashion optimized for software creation.
Pipelining UX with development allows us to do just that. Essentially, pipelining UX with development allows for significant overlap of activity by the two teams. So rather than waiting for the UX team to complete its designs before coding begins, the development team can make progress while awaiting UX. ICS’ COO Mark Hatch provides a great overview of this approach here.
What About Agile?
You might think pipelining is just a different word for agile. Not quite. Actually, pipelining fits very nicely with an agile development style. During early project sprints, developers can work on infrastructure and backend code while designers tackle early UX work. As the sprints progress, the design team produces wireframes and visual assets needed for future sprints, thus keeping the backlog full. This approach keeps the hungry development engine well fed.
How Our Pipelining Process Works
We lead all development projects with UX. And that means research. This can be as simple as a few conversations with the client’s subject matter experts to determine what the expectations are for a new system and what the existing pain points are. Or, if necessary it could be more complex, involving detailed surveys or field research — observing users in the wild to see firsthand how the systems we’re designing impact their lives.
Once research is complete, we create an information architecture (IA) to organize the data and functions in the new system, followed by a Map and Flow diagram illustrating navigation between screens. The IA is the “model” and parts of the “controller” in the “Model-View-Controller” design pattern.
Once the IA is completed, developers begin coding. The Map and Flow diagram expands the controller by defining the navigation between screens, which too can then be coded. This process continues, with the wireframes and final visual design completing the “view” portion of the pattern. The UX design is considered complete at this point so the screens can be coded.
And in a blink of an eye, the product is ready to ship.
We've used this approach to help a number of our customers trim their project schedules. One, in the agriculture industry, lopped off nearly eight weeks of an already aggressive schedule without compromising quality or user experience. By releasing their precision farming equipment weeks ahead of schedule they succeeded in capturing greater market share than originally forecast.
Admittedly, I’m leaving out a lot of details here. But the takeaway is this: by pipelining UX with product development, you can reduce the overall elapsed time of your next project. And that means, you’ll get your product to market quicker than using a more-traditional sequential (or even strict agile) approach.
If you want to explore how a pipelining approach might work for your next project, get in touch.