Takealot.com is South Africa’s largest e-commerce platform. Since its inception in June 2011, the company has secured funding from Tiger Global, acquired Mr Delivery and Superbalist and merged with Naspers-owned kalahari.com.
Their overall team grew by a whopping 50% over the past year, and the developer team almost doubled in size in the same period.
Pieter Rautenbach is one of three Software Development Managers (SDMs) at takealot.com. Together with colleagues Stefan Bauer and Mario de Freitas, the SDMs are responsible for building the teams that allow takealot.com to scale.
Pieter, who previously worked at Mxit and Praelexis, knows that scaling the staff component of a company can be incredibly hard. “At Mxit, I learned that simply adding more people doesn’t grow the business,” Pieter explains. During that time, they grew the developer team from 6 to 40 people, part of a bigger team of 150. “If the team grows fast without a good organisational structure to support it, things topple. I’m acutely aware that businesses don’t scale linearly.”
“If the team grows fast without a good organisational structure to support it, things topple. I’m acutely aware that businesses don’t scale linearly.”
Specialised dev teams within a team
In early 2015, takealot.com still had a startup culture with very little formal structure. “There were no teams at the time. It was just a bunch of engineers who had their hands on different parts of the code. This is great for a startup, but we suddenly outgrew that,” Pieter says.
With the kalahari.com-merger, the developer team and the organisation as a whole suddenly became a lot bigger, making planning, decision-making and execution much harder. “Up until that point, there was a very direct line of decision-making, which was the right strategy at the time. The developers built whatever the CEO asked for, but the bigger organisation made that much harder. It became difficult to map out and understand the implications of each decision. People were struggling to get things done, and that was frustrating,” Pieter says.
Between September and December 2015 the CTO, Willem van Biljon, appointed the three Software Development Managers. Together, they started creating smaller teams within the developer team. Specific teams were created to support specific business domains: e-commerce, mobile and desktop development, supply chain and warehouse management, payments, marketplace and catalogue management. These teams are further supported by ones focusing on customer support, machine learning and infrastructure.
Although the aim was to create structure, the teams had to be very flexible in the beginning, allowing them to figure out how things would fit into the bigger business structure. “We wanted to create the best structure possible, and were therefore very open to changing teams. People moved around quite a bit in order for us to figure out what made most sense,” Pieter says.
Planning, prioritising and project management
They also defined a more structured approach to building the product.
At least every 12 months, the executive committee defines strategic goals and projects for the company as whole. Projects are then prioritised and scheduled two quarters in advance. “The six month timeframe allows us to tackle large projects but also be flexible and change plans if necessary,” Pieter explains.
Projects are owned by product managers from relevant domains (Catalogue Management, for example), and they’re responsible for putting together a team to work with them. For projects that require engineering the team would consist of a “sponsor” (the head of the relevant domain), a Software Development Manager and a developer team. Projects often include more than one developer team, but in those cases there is a clear distinction between the primary team and secondary team(s).
Projects are owned by product managers and often include more than one developer team. In those cases there is a clear distinction between the primary team and secondary team(s).
Collaboration across the specialised developer teams needs to be carefully scheduled. “You might have a scenario where two teams each have their own primary projects to work on, but the one might also need to do secondary work for the other. It is incredibly important that we get the timing right for projects like that,” Pieter says.
The dynamic among teams also demonstrates why the ranking of priorities by the exco is vital. “If everyone agrees about the priorities of the company at any particular time, individual teams don’t compete with each other, but cooperate. One project will always be more important than another, even if it’s only by a slight margin,” Pieter says.
Setting up a satellite office
When Pieter joined in December 2015, he had to develop the business case for a satellite software development office in Stellenbosch. “We did a lot of research about developers in the wider Cape Town area, and estimated that about one third of developers in the bigger Cape Town area are living between Durbanville and Somerset West,” Pieter says. Based on these numbers, they argued that a Stellenbosch office would allow them to attract more of the Cape’s talented developers, making this an important strategic step for scaling the business.
They found a space at the newly built Woodmill Lifestyle Centre in Stellenbosch, a growing tech hub also hosting established companies like HealthQ and Praekelt, and moved the Catalogue team here in November last year. Inside, the office looks and feels very much like the main hub in Cape Town’s foreshore.
At the moment, the Stellenbosch office is home to one full scrum team, with the aim of growing to a medium-sized developer team over the next two years. They’re currently focusing on setting up a Retail Business Systems team as well as a QA team.
The satellite team works in the Cape Town office once a week, and also make an effort to attend important meetings in person. They’ve also equipped the Stellenbosch office with a number of hot desks, and the team's product manager, CTO and developers from other teams visit them regularly.
Apart from the scheduled projects that developer teams work on, they also work together on weekly fixalots and quarterly hackathons.
During a fixalot, one team has the opportunity to work on all the things that tend to fall behind because of more urgent work. On these days the specific team also gets additional help, as one volunteer from each of the other teams joins them.
During a fixalot, one team has the opportunity to work on all the things that tend to fall behind because of more urgent work. On these days the specific team also gets additional help, as one volunteer from each of the other teams joins them. The fixalots also bring about innovation. “One guy built a little tool to check for specific duplications in the product catalogue once he realised that it was a recurring problem faced by the business. That business team now uses the tool, and loves it,” Pieter says.
At the quarterly hackathons developers collaborate across teams on anything they want to. “Everyone gets to create their teams the day before the hackathon. Then we get snacks and pizza and simply hackalot for an entire day. It’s great fun!” Pieter says.
“The hyper growth we’re going through makes takealot.com a really exciting company to work for. We have a great team, and there’s so much to learn and such interesting challenges to work on,” Pieter says.
takealot.com is hiring on OfferZen. Click here to sign up.