Global networking, access, and security client
Improving dashboard app through customized RSpec training
Challenge
Reduce app downtime via increased test coverage
Services
Outcomes
Upskilled team in testing best-practices, improved codebase quality
Customized training workshop
Situation
Simplifying cloud network management
Our client provides cloud-first networking, access, and security solutions for businesses around the world. Thanks to their easy-to-use cloud technologies, companies can run entire IT networks from a single dashboard. Our client enables organizations to accelerate growth by delivering secure customer experiences that exceed expectations.
The dashboard is the centralized cloud management platform for all devices and services. It’s a Ruby on Rails app managed by the Senior Software Engineering Manager and his team. They are responsible for ensuring the dashboard is always online, ready to serve a global network of customers.
Challenge
Increasing customer engagement and team effectiveness
When customers experienced problems accessing our client’s dashboard, the software engineering team jumped to get the experience back up as quickly as possible.
However, every time this happened, it meant time away from adding new features and additional value for customers. Whilst exploring the 10+-year-old codebase, the senior team manager realized the platform lacked a strong testing architecture. Better testing would improve code quality, reduce the number of problems, and enable the team to deliver more value to customers.
However, our client’s group of over 100 engineers had varying levels of experience with Rails and Rspec, many having come from other frameworks. The senior team manager flagged the issue to senior management, and our client reached out to several consultancies. They knew of thoughtbot by reputation and chose thoughtbot’s customized and cost-effective RSpec training to upskill the dashboard team.
Solution
A bespoke training workshop based on real code
thoughtbot and our client both understood that the RSpec training would need to be tailored to the codebase and the engineers’ needs. The thoughtbot team began by assessing the app to identify practical training opportunities which would also improve the overall testing architecture. Next, they interviewed the client’s engineers to discover what they wanted to learn and flag learning pain points.
An emergent two-day testing workshop was developed and then delivered iteratively to five cohorts of client engineers. thoughtbot’s team are big fans of feedback, which they collected throughout the training. They used this data to continuously tailor the training to the client team’s needs.
The custom workshop included RSpec basics but focused mainly on real-world areas of the codebase.
Test first development how to
Outcomes
Improving the codebase while mentoring the engineering team
After training with thoughtbot, our client’s engineers are now more confident to apply a “test-first” approach to untested code.
Better tested code means the engineering team will spend less time fixing problems and more time adding value for their customers. As a result, the team finds it incredibly valuable to have developed a shared language around testing.
One of the best and most surprising things for the team has been fostering a growth mindset culture. The client team now encourages their engineers to learn on the job, and no one is afraid to say, “I don’t know how to do this; why don’t we find out?”
The team is fired up about testing and looks forward to working with thoughtbot in the future.