A short while ago, we were happy to receive the news that ML6 won the 2020 ‘AI Innovator of the Year’ award in the prestigious Data News Awards for Excellence. This award recognizes IT companies that set the trend in creating innovation and adopting artificial intelligence technologies. The jury specifically recognized our ability to innovate together with our clients, which is something we are very proud of.
To celebrate our award, we would like to share some insights on how we foster innovation at ML6. Everyone at ML6 works hard every day to make sure that we stay at the forefront of innovation and create value with our clients, and while it’s hard to capture this spirit into words, we’ll try our best. To limit the scope of this post, we’ll mostly focus on our delivery team, but we’re happy to talk to anyone who would like to know more!
Before diving into our organizational structure, we want to give a clear overview of the mindset and key principles at its base. In the end, we believe that these are the most important to get right. There is no silver bullet when it comes to organizational structures. It comes down to translating your values into something that works for your specific company and is supported by the people in your organization.
Let’s start with our company vision: accelerate intelligence. Working in the artificial intelligence sector, people understandably assume that this is the intelligence our vision references, but in reality it goes far beyond. On the one hand, we want to accelerate intelligence and create value at our clients by strategically deploying innovative technology. On the other hand, we want to accelerate intelligence internally by providing opportunities for our people to grow. Together, this creates an accelerating flywheel, which we aim to get spinning as fast as possible.
We believe that innovation cannot be pushed, but needs to be nurtured. People need an environment where they can experiment, fail, and grow. An environment that provides support for their needs, from exciting and challenging projects with great impact, to a team of experts they can spar with and learn from, to coaching with a strong focus on people. An environment with minimal regulation to allow freedom, but maximal clarity to enable efficient collaboration. To borrow the definition from Netflix, we aim to provide context, not control.
Next to this, we believe that innovation should not be reserved for the lucky few, but should be part of everyone’s DNA in our organization. That’s why we don’t have a separate innovation team, but integrate innovation across our whole organization. This starts with recruitment, where our main focus is not on proven experience but on potential to grow, and continues from there. We organize a lot of company-wide events and initiatives, in which everyone can participate. From brainstorms on specific use cases or business opportunities to our yearly Xmas projects, where we close down our business for two weeks during the holidays so people can collaborate on innovative projects of their choosing. If you’ve met us at events or have been to one of our offices, you might have seen some demos of these projects, such as our smart mirror, reinforcement learning arcade games, or self-flying drone.
But of course providing two weeks of play time before returning to business as usual will not magically create innovation. It’s necessary to stimulate these values year around, which is why we baked them into our organizational structure.
ML6 is organized into self-steering units, each with its own unique purpose shared by all its members. We will not go into detail about the different units and how they collaborate, but to give you an idea, there are among others a business development unit, focused on finding new clients and projects, an HR unit, focused on everything relating to people, and a delivery unit, on which we will be focusing here. The purpose of the delivery unit is to create value at our clients by delivering our projects with the highest quality and to stay up to date with the most recent developments in the field.
When ML6 was smaller, it was easy to keep an overview of all the different ongoing projects and everyone’s expertise. Planning of the projects could happen with near perfect information and knowledge sharing was as easy as asking the right person for help. But as ML6 kept growing, it soon became clear that this was not a scalable approach. To address these growing pains, we took some inspiration from the Spotify model, and organized the delivery unit into squads and chapters.
While the Spotify model was a great inspiration, it’s important to note that we could not simply copy paste it, but used it as input to create our own organizational model fit for our unique context and culture. One major difference with Spotify is that we are a service instead of a product company, which creates very different dynamics, difficulties and opportunities. There is no central product gluing different teams together and each project has direct external stakeholders, but on the other hand there are a lot of opportunities for people to take ownership and work on a wide array of interesting use cases and technologies.
Over the past years, we went through multiple iterations of this model to find something that works for us. Something that turns these difficulties into advantages and allows us to exploit our opportunities. We will keep iterating to further improve our organization while we grow and adapt to continuously changing circumstances. But for now, we’ll discuss a snapshot of the current state.
The first part of our model are the squads. Squads are self-steering multi-disciplinary teams of around 10 people, focused on delivering their projects with the highest quality. They’re a combination of project managers and machine learning, software, and data engineers, which allows them to deliver projects end-to-end. Every project within ML6 is owned by exactly one squad and each squad has a portfolio of projects that they own and deliver as a team. People will often work on multiple projects in their squad at once, allowing them to use their skills across projects.
To enable the squads to perform optimally, they have decision power on their own projects, planning & recruitment. This allows for a distributed approach to planning and project delivery, which enables us to scale horizontally instead of vertically, and provides everyone at ML6 with ownership of the projects they work on.
Working in squads allows us to deliver our projects in an agile way. Small teams prevent bureaucracy and enable quick decision making, which allows us to move fast and innovate with our clients. At the same time, our squads can rely on the support of the whole ML6 organization, providing benefits of scale. One of the most important ways our squads are supported is via the chapters.
Chapters are the second part of our model. They are cross-squad expert teams with a focus on a specific technical domain. We have chapters focusing on ‘vertical’ machine learning domains, such as our NLP chapter (check out their latest tool: a GPT2 Dutch text generator), and chapters focusing on ‘horizontal’ domains, such as our ‘machine learning in production’ chapter. While we grow, we continue to expand the coverage of our chapters into new domains and technologies.
One of the main goals of the chapters is to enable cross-squad knowledge sharing. Knowledge we obtain on projects in one squad is funneled to the chapter, which combines all knowledge linked to their domain, and makes it available to everyone.
Of course our projects are not the only source of knowledge for our chapters. They keep track of the state of the art in their domain by exploring new tools and papers, and perform their own applied research on dedicated research projects, often in collaboration with other companies and universities. They also guide internships and theses, providing a playground for students and receiving knowledge in return.
This knowledge is then shared with everyone via internal tooling, examples, best practices and talks. The chapters maintain a wide array of internal repositories providing boilerplate code, examples and documentation, which gives us a head start on every new project. Each quarter, these materials and the chapter research are highlighted in a series of talks and workshops on our chapter conference. While it’s impossible to stay up to date about the advances in the different machine learning domains individually, these conferences help us stay up to date together.
Not all knowledge can be captured in materials though, or it would at least be extremely difficult and inefficient. Additionally, knowing everyone’s expertise and tapping shoulders to get their input becomes a lot harder now that ML6 has grown a lot. Our chapters therefore also provide a clear contact point for any domain related questions, making it easier to connect to the right people. This way, the chapter experts can support both our projects and sales efforts in their domain. Since everyone in the delivery unit is part of both a squad and a chapter, there’s a distributed network of knowledge and the distance that information needs to travel is small, enabling a quick flow of chapter innovation to squads, projects and clients.
We like to believe that with this setup, we’ve created an environment where we can innovate together with our clients. An environment which provides both freedom and guidance for our people to make the best decisions in delivering their projects. The squads and chapters both have their own goals and objectives, but could not function without each other. Together, they make up a knowledge network which allows us to accelerate intelligence.