Software Development at OUTsurance
Producing software that delights users is a tough ask. Anyone in the tech industry or who’s worked in a company that produces its own software will have been subjected to many systems that seem to have been designed solely to confuse users while making them as miserable as possible. Often, to achieve this glowing state of affairs, budgets and timelines were exceeded and users weren’t troubled with providing their opinions on the result.
At OUT we know we don’t have all the answers to solve the technical and environmental factors that lead to this state of affairs, but over a few posts we’re going to discuss what we think is important in making technology work in our organisation and how we’re organising ourselves to deliver amazing products and work with amazing people. I’ll focus a lot on software development but in later posts will touch on some of the critical underlying capabilities in the infrastructure space that enable the magic.
First though, is it actually important for an organisation to able to reliably and cost effectively produce software for themselves? Marc Andresson famously claimed in 2011 that “Software is Eating the World” (https://a16z.com/2011/08/20/why-software-is-eating-the-world/) meaning that every business in every industry is being impacted by software (or in fact already was waaaay back in 2011). There are countless examples of software based companies displacing more traditional incumbents through the agility and cost effectiveness at scale that software driven companies offer. These are not companies whose core business is producing software, but businesses who leveraged technology, including internally developed software, in being successful in their core business.
The reality Marc was describing has only become more widespread in the time since that article was written, and we now see software and technology at the heart of essentially every value chain. In short, today every company needs to become a technology company to survive, and to become dominant, they'll need to become better at leveraging technology than their peers. Being good with technology doesn’t replace the need for a sustainable business model, but almost all business models will be better enabled by effective technology execution.
Many CEOs see their organisations’ technology capabilities as key to their survival and success, and leaders who understand how technology is impacting their industry and how their organisation needs to respond and adapt are more better positioned to guide their companies to a prosperous future. The World Economic Forum ranked “Making Digital a Personal Crusade” as the number one focus a CEO should have had in 2019 (https://www.weforum.org/agenda/2019/01/ceo-priorities-for-success-in-2019/) stating that
"Setting a digital strategy and leading a digital transformation can’t be delegated. The costs, and stakes, for every business are simply too high”.
Strictly speaking none of this means that every organisation needs to know how to build its own software. For some organisations, the answer might actually be that they are better served by buying the software they need, or paying other organisations to build solutions for them where there isn’t an off the shelf option that suits them. Figuring that out is a very different article though, and at OUTsurance we’re pretty convinced that building the software at the core of our company is the right way for us.
Being able to effectively build its own software gives a company some key advantages, including:
- Tighter control over technology costs
- Better alignment between technology capability and business needs
- Ability to respond quickly to feedback loops
But, it also comes with some large challenges:
- Attracting and retaining exceptional technical talent
- Managing and running development teams
- Aligning development efforts with business needs
All of the good stuff is only possible if we nail the challenges, and nailing those challenges can be harder than it might seem. When we get it right though, the benefit to our businesses can be the difference between wild success and mediocre survival, or even, in extreme cases, extinction.
We’ll talk about addressing the challenges in further posts, but I’d like to expand on software’s role in enabling a business to quickly make changes in response to feedback and how this allows us to build a more adaptive and competitive organisation.
Richard Rumelt writes in his (excellent) book “Good Strategy Bad Strategy” about the early days of microprocessor development, discussing a question raised by a Qualcomm manager about whether it should be cheaper to make specialised chips for specific purposes or use a general purpose microprocessor with specialised software. The (now obvious seeming) conclusion was that it would be cheaper to do customisation in software on top of general purpose microprocessor. However, this wasn't because hardware engineers are more expensive, or chip manufacturing costs prohibitive, but instead because the development of both specialised hardware and software involves a large amount of prototyping, upgrading and correcting mistakes. This is much cheaper in software than in hardware, simply changing source code stored as text instead of adjusting an entire design and manufacturing process. And, as anyone who has ever tried to write a line of code will tell you, mistakes, and their software embodiment: bugs, are an unavoidable part of building things, simple or complex.
Software’s key advantage over hardware is that it allows the people creating it to more quickly and cheaply change and improve it. This quality also describes why software based systems are superior to paper based systems or processes that rely on interactions in the physical world. Think Uber vs metered cabs, Blockbuster vs Netflix or digital vs film photography. Quickly and cheaply being able to change a system and have it in front of users as soon as the changes are done is a killer feature and software gives that to us all.
The fact that software is able to be rapidly extended, changed and improved allows organisations that effectively leverage this property to reflect it in their own endeavours. OUTsurance’s rapid growth of both customer base and product offering in its early days were catalysed by a dynamic and quickly extensible set of internal systems that allowed experimentation and change in response to the key real world feedback loops of clients and management. Today, the internal business focus on experimentation, learning and adapting processes and systems in response remains a key ingredient of OUTsurance’s success, and our technology organisation needs to be able to deliver the ability to make this process a practicality. This means delivering the data to base decisions on, and then people, processes and platforms that allow rapid system changes and then access to the new data so we can start again.
We still have a lot of room for improvement, but our subsequent posts will look at some of the ingredients that help us enable our business:
- What we look for in our people
- How do we build and structure our teams
- What’s important in our software development process
- What types of technology platforms do we use and why
Now that I'm posting this is in the middle of South Africa's COVID-19 lockdown we'll also have a look at how we've adapted to have our entire team working remotely and what we've learnt so far.
Thanks for reading!
PS We're always looking for amazing devs and other people to join us: https://www.linkedin.com/company/outsurance/jobs/
CEO
5yReally excellent article mate. 👌
Senior Software Developer
5yAwesome article Matt!!
Change Instigator, DevOps Enthusiast, Team Lead at Entelect. Disclaimer: The views expressed on LinkedIn are mine alone and do not reflect the views of my employer.
5yThanks Matt Cole, this is a thought provoking article. I think the key take-out from my perspective is, nobody has all the answers. That is why it's key to shape the processes around delivering software in such a way that we can at the earliest possible time get REAL feedback and adapt the software accordingly. We shouldn't push to get software out as quickly as possible, the process should also steer us to push to get GOOD software out as quickly as possible, from my limited time at OUT, I'd say that's the part where we excel. (Good not perfect, as perfect doesn't exist) Looking forward to your next set of posts!
Human Resources Manager at OUTsurance
5yGreat read Matt. Nice work. You have an awesome team!
Hiring for the AI Age | We Find the People Who Make the Tech Work
5yThanks for sharing Matt Cole I look forward to the next one.