An Outside Look in at Building a Great Team
A non-technical look at building a great (software development) team
I'm in marketing and I love technology. In my heart, I've always dreamed about owning a software development agency and building cool tech products. The start-up fantasy is all about becoming the next Zuckerburg or being bought out for a few million by Facebook or Google! Now I'm one step closer by taking on a new client in this space. A great software development company based in Slough, UK with around 50 employees – Avco Systems. I normally expect established software companies to get bogged down in out of date methods, but Avco Systems surprised me with how quickly and effectively they develop software solutions, even though they've been going for over 30 years.
Here's what I've learned in my short time here about how they run their software engineering teams.
No Project Managers!
Coming from advertising/marketing agencies, I'm used to either being the project manager or working alongside one to implement creative and technical solutions. It makes sense that someone is doing all the admin & co-ordinating, making sure everyone in the team knows what they're doing, and there's a funnel for client contact. So I initially thought it was a bit strange that Avco had no project managers, despite working on significant sized development projects.
One of the project team members does naturally surface to take the lead, but this isn't by seniority. They work as a close knit unit that leverages the combined experience of everyone. So instead of working in silos doing their own thing, they collectively develop solutions and help each other out on their tasks. It makes sense right, 'two heads are better than one'. How can a Project Manager without the technical understanding know how best to approach a problem differently? Through experience and training I guess, but why not have the guy(s) with the expertise solve the problem.
The other advantage of no project managers is a reduction of layers, and therefore miscommunication. Rather than a client who talks to a Project Manager who then talks to the dev team, the client and dev team collaborate directly with each other. That way, they can clarify any feedback and reach a solution that much quicker.
You could just say that working in silos is an approach for waterfall projects, and being truly agile is the way forward. During my time at different companies and lots of ad agencies, I've yet to see that delivered. Especially so in the software development space, 'agile' is abused and misused a lot. Avco is the closest I've seen to getting it right - and I've worked with quite a few over my 15 years' experience in marketing and consulting!
Increasingly I find with advertising agencies is that each department just does their bit – they don't take ownership to think about the bigger picture. That's because they're not expected to, there's a account/project manager, or department head compartmentalising everyone. There's no cohesion and team spirit on a specific project. Which brings me onto my next point.
Genuine Team Work
When project teams work as a cohesive unit they interact and bounce off each other to a much greater extent. If you increase the number of opportunities for social connections then friendships naturally develop too. This makes it even easier for team members to put in the extra effort for each other and the project.
Avco Systems recognises that software development is a team activity. It's embedded in the spirit of the company. Not only do they structure teams to work more effectively together, but they also have lots on the social side. It gets pretty noisy and sweaty in the office at lunchtime. People are loudly co-ordinating their team online gaming sessions, coming back from football in the park, flying a drone around, or pranking each other. It's a fun place to be. Read more about their approach to team work.
These aren't 'company initiatives'. It's individuals with that passion to bring people together. It pays off as well; they bring in trainees who tend to stay with the company for years, as well as other employees who become part of the foundation of the business. It's a great story that their Technical Lead started working life as a graduate at Avco.
I've heard of move fast and break things. Avco don't break their software, but quickly build a Minimum Viable Product (MVP). I was pretty impressed when I heard how they developed a county council election live-results website within an extraordinarily tight deadline of just weeks.
Building an MVP is a great way to gather user or customer feedback and evolve the solution with incremental development. I don't see the same approach with marketing agencies that rely on dressing up the creative idea so the client buys into it. If the solution works, why 'sell it' so hard?
From what I've seen Avco's clients value the close contact and collaborative focus of this iterative development approach. And from my experience, I'm guessing those clients value being able to share progress or a prototype with their boss and the wider team. It makes them look good too.
These are a few nuggets from an outside (marketer's) perspective of software development teams. I hope you found it interesting and can relate some of it to your department.
Find out more about Avco Systems and their services here
Written by Jag Singh, Managing Director of Digi Sparks