I recently completed a contract working with the tech team at Simply Business to help them reach their company goals. I have high respect for the way they work. Imagine that one day you could build software at the highest possible technical level - and that’s what happened to me.
Most software developers, working across all parts of the industry, are faced with recurring problems such as
By contrast, I was positively surprised by how people at Simply Business deal with these issues. Let me share a few thoughts:
One common concern I have seen in several companies is the lack of knowledge when starting to work on a new story. Here, the issue was resolved by introduction of “grooming sessions”, where people meet each other to discuss the story and set acceptance (success) criteria. Incredible value is provided by these sessions resulting in lower amounts of time being wasted dealing with changing requirements.
Another thing that surprised me was widespread adoption of Lean Startup methodology, especially given the company’s current size. Every single story must have success criteria assigned and, what’s more, is only considered a success if it yields predicted results (i.e. every story is provided with a quantitative success metric). From a developer’s perspective, it means you really know the reason why you are building a given thing. It also helps to keep motivation high in the team as you can see the result of your work.
One of the initial things I was told on my first day at Simply Business was that they have an unwritten rule to refactor first - in most cases you shouldn’t even start working on a story if you are not satisfied with existing design or implementation. That definitely helps achieve good overall quality of code and makes applications easier to maintain. Even now, in the agile software development era, many companies fail at understanding value of collaborative code ownership. What surprised me here is that code reviews can be done by anyone in the team and most work is done in pairs. Additionally, everyone is welcomed to discuss any code submitted to GitHub, even if they're not working on that particular project.
The most surprising thing happened on my very last day at Simply Business. When I had been walking around the office saying goodbye to everyone, I encountered two product managers trying to amend rates and coefficients somewhere in the system, using an in-house Domain Specific Language (DSL). When writing my master's degree on building DSLs for business experts, I learned that one of the major advantages of using them is that in some specific cases, non-technical people can understand or even change the code. Just to clarify, DSLs are basically programming languages built to serve very narrow domain. Think of LaTeX - language to create scientific documents or Rspec - language that’s used to describe test scenarios.
Before working at Simply Business, I thought that I would never meet any non-developers working effectively with any form of code. Here, product managers not only work with the DSLs - they actively change the application’s behaviour using Test Driven Development and push their code to GitHub. Even some of the analysts do production deploys, thanks to their amazing deployment scripts and collaboration culture.
I recently learned of the term "tacit knowledge". Knowledge that, rather than being acquired by means of reading or listening, requires interaction, personal-contact and trust.
If you spend enough time working with the best, you can become one of them, and that idea really stands out at Simply Business.
Want to know more about what it's like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.Find out more
We create this content for general information purposes and it should not be taken as advice. Always take professional advice. Read our full disclaimer
6th Floor99 Gresham StreetLondonEC2V 7NG
Sol House29 St Katherine's StreetNorthamptonNN1 2QZ
© Copyright 2020 Simply Business. All Rights Reserved. Simply Business is a trading name of Xbridge Limited which is authorised and regulated by the Financial Conduct Authority (Financial Services Registration No: 313348). Xbridge Limited (No: 3967717) has its registered office at 6th Floor, 99 Gresham Street, London, EC2V 7NG.