Our team recently launched a new product, and I’m really proud of how it turned out. It is a product that offers great benefits to our customers and one that showcases the talents of our company. However, we delivered it nine months later than we expected! We set out to spend three months incrementally improving an existing feature, but those three months quickly expanded to a whole year.
But unlike other substantially delayed projects that I’ve been a part of (I was on the team that built Windows Vista… so there’s that), this launch was delayed for all the right reasons!
Who we are
First off, a quick intro to our team:
BuildingConnected is well known in the commercial construction world. Our CEO Dustin DeVan, drew on his experience as a general contractor build our company. Our product development team, on the other hand, was born out of the best of Silicon Valley. This stellar team, led by our CTO and co-founder Jesse Pedersen, is consistently pushing the limits of design, usability, and modern technology to improve the workflows of the 150,000 businesses on BuildingConnected. I’m proud to be a member of this team.
The starting point
In March of 2016, we wanted to improve our successful “Prequalification Manager,” which helps businesses verify that their vendors are qualified to work on future projects. Our existing version was getting difficult to maintain and couldn’t support some of the advanced workflows our customers were requesting. The updated version would also give us a chance to build upon our new frontend tech stack (If you’re interested in the technical details of our experience with React and Redux, look for a follow-up article).
Our designers created a beautiful questionnaire to collect qualification information (well, as beautiful as an input form can be) and engineers started building.
Flexibility comes with a cost
Now that the questionnaire was squared away, our customers needed flexibility in how they usher applications through the approval process. We took inspiration from Trello, one of the most flexible workflow tools that we use.
But in our user testing, our customers could not easily determine what the “proper” process should be. We started hearing questions like:
- After someone reviews, what should happen next?
- Who has final say on approvals? Who can move things to the next step?
- What if that person is out of the office?
- When does the process start over?
Our design was extremely flexible, but customers often didn’t know what they were supposed to do next. Our design was too flexible.
The cure for too much flexibility
We had designed the tool that our customers needed, but our design was confusing to use and didn’t help them efficiently manage the process.
We needed to pause development to start over and get things right. Our customers deserved something better.
Our final design ended up taking some inspiration from another software tool: TurboTax. Just like TurboTax, our design helps guide customers through the process, but they can easily skip steps, revisit steps, restart the process… you name it. If they get lost, they can always backtrack using our history logging.
This new design gave them the best of both worlds!
The guidance of structure, with the flexibility to break the rules
Providing an extremely flexible solution within a structured framework is much harder than it may seem. You have to account for dozens of states and transitions. We had boards like these all over our office to help us visualize:
We knew this was the right solution for our customers, but that meant a ton of code to rip out and re-write. Unfortunately, there was no way to ship on time with this design, so we made the decision to refocus and delay the launch.
What we learned
It never feels good to ship a product late, but nine months and 50,000 lines of code later, we are proud of what we did. Our customers deserved a better solution than our original design, and we owed it to them to take the time to figure it out.
If we were to do it all over again, here are some tips we should have thought about:
Guide users through the happy path
- Everyone needs flexibility in their lives, but optimize your design for what we call “the happy path” (when everything is going as expected).
- Then build the ability for your users to step off the path when they need t
Don’t prioritize what is hard to develop, prioritize what is hard to design
- We started designing the part of the project that we thought required the most engineering time, but it was easy to design. We should have identified the parts that were hard to design, and tried to build those first.
Prototype, prototype, prototype
- Our customers saw tons of static mockups of our designs and gave us feedback. It wasn’t until they could touch live code that we realized they didn’t know what to do next in the process. We should have built way more prototypes to test with them.
I’m confident that our next project will have the same level of care and attention to detail that we ultimately achieved. Our customers should expect nothing less and we should deliver nothing less. Hopefully, next time comes with a timely launch as well!
ZAC HAYS – HEAD OF PRODUCT @ BUILDINGCONNECTED