3 - Stop, Collaborate & Listen
In the last post From Concept to Code, my co-founder Anton talked about the great progress we've been making. We went from a proof-of-concept codebase in June to deploying productionalisable code into a sandbox environment come July. Not to mention targeting the go-live of our first client towards the end of the year! In this post and the next, I’ll focus on the challenges we faced and overcame as a team, and some great lessons learnt during the process.
The first, and biggest challenge was the decision on structuring the team whilst being realistic about our limitations. We were two guys with an idea - we didn’t have the money or (more importantly) the time, to hire and build an engineering team from scratch. Especially a team with the skill-set to build a cloud native enterprise SaaS to upend the wealth-tech industry. The most obvious choice was to work with established experts in the field, and with Yaala Labs (our development partners) and ExactPro (our test engineering partners), we got exactly this.
This immediately threw up the next challenge - we were three organisations, spread across the world - with Yaala Labs and ExactPro (in varying degrees) acting as service providers to WealthOS. Each of the teams had their own culture, working habits and engagement models. If left to their own devices, the outcome would be one team throwing things over the fence to the other, with a defensive, siloed approach towards Product, Dev and Test. And I’ve seen enough of this to know that it would’ve stopped a young agile outfit dead in its tracks.
At WealthOS, we have a very strong idea of the culture we want to build - one that is inclusive, transparent and collaborative. Our second challenge was to instil these values into our teams - from founders to permies, consultants, contractors... everyone. Breaking this ‘us-and-them’ mindset was crucial. This mindset is twofold, one is the ‘vendor-client’ mindset and the other is the ‘developer-tester’ mindset.
To address the former, we simply treated everyone like they were part of WealthOS. We do company updates, knowledge sharing (brown bag) sessions, give equitable and easy access to information, use unified communication tools (e.g. Slack), staff welfare projects etc. For us, everyone was WealthOS. I truly believe this created a very strong sense of ownership within the team. Fostering an environment where people share information, challenge each other, air opinions and more importantly, action their opinions, creating actual value for the product and the organisation.
The ‘developer vs tester’ mindset is created when bugs become the objective- resulting in defensive developers and contrarian testers. Both cost money and time. Developers wanting to do end-to-end (e2e) testing before releasing to test, and testers who test every possible edge scenario to increase bug counts. It was crucial to ensure that we all have the same, single objective - delivery of beautifully crafted features.
We did this by ensuring that Dev, Test and Product are represented in every standup and involved in every decision related to a story. Always collectively working towards our single objective. Of course, clarity of everyone’s primary role in achieving this objective is necessary. Product will design a feature and break it down into stories, Dev will design, implement and unit test, Test would create automated test scripts and execute feature and e2e testing. But besides primary roles, tightly-knit teams brought incredible collaborations - developers building internal APIs to support test automation, test engineers making recommendations for product forums, to name a few examples.
To sum up, I cannot emphasise enough how important it is to galvanise teams together with clear roles and a common objective. Coming up next - working through the challenges around release cadences and getting test engineers out of the critical path of a release.