It’s been a year! 12 months since we’ve had a fully functioning, albeit small, development team at Hiring Hub, and what a year it has been. Seeing everything summarised in the most recent Board report made me feel very proud of what we have managed to achieve and I thought it was time to share it!
When we started in December 2017 we had:
- No internal team
- Old premise hosting
- Brittle code base
- MVP (minimal viable product) platform
- Poor user experience
- Low product engagement
This meant we had:
- High cost of change
- Inflexible options to scale
- 60% of time supporting existing MVP
- Low product use
- Limited new product development
- No view on security exposure
On reflection it’s easy to see the phases we went through over the year
- Taking control
- Understanding the customer and unlocking tech
- Test and Learn, design and start building
- Build, release, measure and learn (repeat)
December to March – taking control
This was probably the toughest and most unknown phase. We had a new team and had started to lift the lid on the existing code base. We’d recruited some quality people to help take us on this journey but we didn’t know a great deal about the existing application or its future direction. We used this time get the basics of a great product development team up and running, whilst supporting the existing product and shipping some quick wins!
Our key achievements:
- The team really gelled and got up to speed quickly as we started to understand the code base and the tools we needed to support and develop it further
- We moved to cloud hosting with a DevOps wrap-around service. This gave us the flexibility to change and scale, whilst leaving more time to focus on product development and contributing to business growth.
- Identifying the quick wins meant we could start to add incremental value to Hiring Hub’s existing customers.
- Over this time we developed ways of working that suited the team and the nature of the work at the time. We needed to pivot regularly so we loosely planned a weekly goal, had stand-ups and a trello board. We were very transparent about our work, covered the walls in post-it notes and conducted bi-weekly show and tells to the entire company (plus the odd visiting investor).
- The new GDPR legislation was looming so we did a lot of work on the data we were processing for our customers and the processes we were using as a company to manage this. From a tech perspective, we deleted a lot of unnecessary data and fully secured anything we needed for the purpose of filling vacancies on our system.
April to June – understanding our customers and unlocking tech debt
We were able to break this phase into two streams. We needed to go back to basics and fully understand our customers’ needs at the same time as supporting the existing product and releasing some technical debt so we could move forward faster and look at newer tech.
- The product stream:
- We started working with an experienced product consultant. He’s taken us on a fantastic journey to help discover (or validate) our real customer needs
- We did research with real users! This gave us some fantastic insights into some of the opportunities and areas where an enhanced tech product could really add value
- Ideation sessions helped us create a backlog of ‘things’ to test
- We impact mapped these to our customers’ needs to get a prioritised list
- Now we have a good repeatable product development process too!
- The tech stream:
- We rebuilt the customer team’s admin panel as some of the key Ruby gems were unsupported
- We upgraded to Rails to 5.2 from 4.2(!!!)
- Improved our automated test suite and continuous integration platform
- Investigated various future frontend tech and spiked out some React features
- The team looked at various web-socket options and spiked out Action Cable
- While still supporting and delivering some great quick wins for our users 🙂
July to September – Test and learn, design and start building the future
This is where things really got exciting. Everything started to merge together and we had a clear view on product and tech direction. So we took the first couple of items and started to prototype them out. We started simple and as low-fi as we could:
Getting these prototypes in front of real users was essential, and we learnt so much.
We looked at slicing every project as thinly as possible so we could get releases out to LIVE regularly and feedback quickly. In some cases this was proving-out the tech choices (we had a few big lessons in this space, but that’s another blog!) and others where we got feature feedback from customers and other Hubsters.
October Onwards – build, release, measure and learn (repeat)
There’s more to do on instant messaging but we want to wait and see what the data tells us before we act, so we’ve been progressing with improving the candidate workflow and mobile experiences. In September we tested the prototype for this so we have a clearer view of a first slice, and we hope to have something out before Christmas.
So now in December 2018 we have;
- A fantastic product development team of five, with plans to grow it further
- Flexible hosting, and working on what our next tier infrastructure will look like (Containerisation here we come!)
- A better test suite!
- Continuous integration and anytime deploys
- A way to surface Beta experiences to different groups
- A clear view on the technical trade offs we’ve made in this growth period (there’s a bit of a list)
- A product vision and backlog of things that we know are important to our customers
- Features going into live with metrics so we can measure impact
- All Hubsters involved in product development
- Smiling faces 😁