Start with a typographic scale.
Prior to the redesign, the lack of a design system made calculations of sizes arbitrary, resulting in increasing inconsistency in UIs. Design decisions were often subjective involving many direct and indirect stakeholders to get final design approvals.
To build a design system and develop a mathematically based rationale for designing layouts, I learned about using a modular scale. Using Type Scale we selected our base range of values. Designing layouts based on a set of values derived from a common base helped us establish balance between the various UI elements. By establishing sensible base values, font sizes, line heights, grid sizes and layouts could be derived rather than arbitrarily chosen.
For engineers, the typographic scale made it easier to manage the front end framework. Making a change to a base variable would make changes to all corresponding UI elements derived from it. This helped ensure that the UI scaled proportionately without having to make changes to multple files.
A/B test your designs with a real audience.
While the reaction to the redesign was positive, many users were frustrated with the new support page. We had made it more cumbersome for users to solve their problems themselves. As a result, support channels were inundated by requests for help to problems that were previously easy to find.
Our initial hypothesis was flawed. Based on previous support queries, we assumed users would only require a few FAQs from each category. Hence, we removed the search bar to browse all FAQs. This confused users since their only choice was to manually browse each category to find solutions to questions that were not in the FAQ's. Many users found this to be arduous and instead chose to contact support.
We initially considered using a third party support management tool like Salesforce but eventually decided to roll our own system since we did not require deep search support. Integrating with a third party tool would have eased coding, design and support efforts and time, allowing the team to work on other bugs/fixes.