How We’re Building a Design Process in a Full Stack Team

September 29, 2017

Our full stack engineering teams design the features they build, which means developers deploy changes to our user interface every day. As the headcount of our engineering team increases, and we release more features than ever before, a well-functioning design process becomes a top priority. Here’s how we’re tackling the challenge.

Our approach to design can be boiled down to two main themes: fast iteration and close cooperation with customers. Our design process is influenced by the fast-moving industry we’re in, so we experiment a lot and build and test multiple prototypes daily.

Quick iterations are possible thanks to our close relationships with our customers. The largest advertisers we work with, companies like eBay and Skyscanner, really know what they want in a world-class marketing automation and optimization software. They like to help us to develop the product, which means we can show them early prototypes and get meaningful feedback. We also conduct internal testing with our account managers who know our customers’ needs inside-out.

We design for advanced online marketers who value that we release new features fast, even if at times it comes at a cost of suboptimal UX at first. Normally, initial design & development iteration takes about 1–2 weeks and is optimized towards development speed, mostly based on our internal expertise. Then we align our vision with customers through tests and interviews, planning UX improvements for further iterations.

At Smartly.io, designers work closely with developers 

Most engineering teams at Smartly.io also design the features they build. Our design principles and guidelines are built from the engineering perspective, and they emphasize fast and easy technical implementation.

As a designer working together with full stack engineering teams, my role is to create a common language between designers and engineers—establishing systematic guidelines, rules, and best practices so everyone can do better quality, coherent design.

In practice, it’s about documenting design principles, increasing awareness about design in the company, and helping everyone use consistent design solutions to fulfil the guidelines. In addition, my goal is to bring more of customer perspective to our engineering teams. 

Setting up a design system to streamline manual design work

We're currently finalizing our design system to make it a reliable part of everyone's workflow at Smartly.io. Designers already use it in daily work, and now we’re working to bring it's frontend implementation in order.

Documenting the very basics—typography, colors, and a spacing system, it expands to a library of interface components from links and buttons to complex forms and pages. It also contains common UX patterns and best practices we follow to solve design problems.

We’re all about automating repetitive manual work both for customers and ourselves, and the design system saves time from our engineers as they don’t have to reinvent the wheel every time they implement a new feature. It also allows the designers to let go of the repetitive routine tasks, and focus on the novel, most value-adding features, which require more in-depth design thinking.

These are our key design principles

  • We do our homework. It’s crucial to spend enough time researching to define the right design problems and focus on where we can add the most value.
  • Experiment a lot. Prototype solutions and validate them early on internally and with customers.
  • Deliver fast and iterate.
  • Wipe out manual work. Automate what can be automated.
  • Speed up feature adoption. Help customers discover features, learn how to use them, and leverage them fully to get great results.
  • Help customers discover insights in data.
  • Reduce customer support load. Make it as easy as possible for the customers to succeed with the tool on their own, so they don’t have to resort to the support chat in simple issues. 

We’re off to a good start and there’s a lot to achieve

We're constantly improving our design process in order to gain a deeper understanding of our customers’ needs, define and prioritise areas for UX improvement, validate solutions earlier and increase development speed. Efficient UX has been a crucial competitive factor for Smartly.io so far, and it will only increase in importance as our product grows more complex and serves a wider range of customers.

Thanks to the design system, we’re spending less time in building common interfaces and UX patterns, and dedicating more design effort on areas where we bring the most value to the customers. The design system helps to create typical interfaces within minutes, and evolve the design iteratively in the tool overall, without the need to revisit each particular design.

At Smartly.io, everyone does a bit of coding. Now everyone can do a bit of design, too. The design system is already in use, and it’s available for all Smartlies in Sketch and Figma. We’re putting together a design wiki that includes our design priorities, best practices to use design components, tools and tips—and even our favorite design articles and events. We’ve also started hosting design sessions, where engineers, account managers, and product managers explore common UX patterns and learn to prototype interface ideas.  

Related Content