In the past few years, companies and brands’ digital ambitions have grown.
More and more sites and apps are being built for longevity, and customers increasingly want fast and functional websites that are both reliable and easy to use.
All of this has meant that in-house technical teams have seen their remits broadening and their capacities stretched. Now, as well as working on complex creative concepts, they’re expected to deliver the support and maintenance to sustain these technical builds.
Outsourcing technical work used to be something very few companies did – and generally only when pushed by time constraints.
Recent industry studies, however, indicate a fast-growing outsourcing trend – not just for those companies with small or no technical departments, but also for those with established teams who understand that using trusted technical partners gives them resources and specialist skills when they’re most needed, without the cost of hiring extra heads.
The Econsultancy / United Studios Digital Outsourcing Survey (2012) shows that outsourcing was practised by over half (57%) the agencies that participated in the survey, with technical work being the most likely area for companies to outsource (66%) and mobile applications the most commonly outsourced service (64%).
In which areas do you outsource the most digital work?
The European IT Outsourcing Intelligence Report (2012, UK report) also threw up some interesting statistics relating to the fast growth in software-development outsourcing within the UK, which it mainly attributes to mobile projects.
The findings show that companies have started to outsource to a number of different partners throughout the year, in order to take advantage of specific skills in-line with their requirements. The report cites peer reference as the number one way that firms choose their technical partners, ahead of RFPs and RFIs.
Looking ahead to 2013 and beyond, it’s clear that this growing outsourcing trend will allow firms the flexibility and scalability they require as they’re faced with an ever-increasing number of technology formats, and the need for specialist staff in each area.
As in any other walk of life, choosing a suitable partner for your technical work can be a daunting task; but it’s all-important if you’re going to trust them with your precious work – and, by extension, your reputation.
So, where do you start? Having a plan when it comes to sourcing a partner can save a lot of heartache down the line and ensure that you have the right people for the job.
These three pointers are pretty basic, but as a high-level plan they provide the foundation for your agency to navigate this sea change and get ahead of the game.
This advice is testable, so you should quickly recognize what you need to do where the tests fail. And you can start implementing some of it right away.
1. Get your internal team right
The first step to using a technical partner to your advantage: understand that you’ll still need technical people. You’ll need fewer developers, but more technical directors.
The technical directors will plan and design the projects, and help manage your technical partners. The way technology is going – as platforms and interface types multiply – having a single technical director will be a challenge for even a mid-sized agency.
Technical directors with specialisms will really start to pay dividends over time. Remember to get them in on every stage of a project – including the planning meetings. A quick piece of advice at the start can save thousands of wasted pounds on features that are too complex at the end.
Everyone knows the right project manager can make a project run like clockwork. I’ve found the best project managers are almost religious in their attention to administration. However, too often they can be left with the responsibility of delivering a complex technical project.
This just isn’t right. You should look to your technical partner to take responsibility for the technical part of the project, and the good ones will be happy to do so.
The technical partner should also be supplying a timing plan, weekly progress reports and the other typical artefacts (see below), all as part of their value.
Finally: your client-services or account-management team. Too often people in these roles are desperately in need of training in digital. Making sure an account manager knows the basics of data protection – and that Facebook doesn’t let you spam people – is money well spent.
And, perhaps most importantly, the account team needs to be fearless, and to get the client’s IT department involved early on in every project. Over and over again we’ve seen well-intentioned campaigns or app ideas cut to shreds by corporate IT policy, resulting in wasted money for the agency. Get IT involved.
2. Get your internal systems sorted
If you can’t get the internal team right – and let’s face it, you may have quite a few challenges in that department – you must ensure you get the internal systems together. Doing this will reduce your reliance on people instinctively “doing the right thing”, and therefore reduce the chance a project will get into trouble.
Many agencies don’t necessarily realize it, but by producing apps and websites they are actually engineering software. This discipline is not new, and there are basic practices that many agencies simply overlook because they don’t really get it.
They tend to concentrate on the idea or the vision, rather than looking at the delivery – and this is one of the main reasons agencies are increasingly favouring technical partners.
The cornerstone of internal systems has to be version control. Without it projects are unlikely to be completed to any acceptable standard (see CMMI level one). Hopefully all agencies have this in place. (If your agency doesn’t, maybe think about moving to an agency that does.) To support a technical partner, it’s best to implement a distributed version-control system – and one that can be accessed externally. You don’t want the headache of having to perform a manual merge into the internal system from an external source.
If you can, implement continuous integration for each project; this will provide an almost real-time view of the current projects state. Also, for a good idea of where the project is, hold regular demos where the technical partner walks you through the system. It’s best not to start making too many changes at this point – although any good technical partner should be able to navigate around these for you.
If you have continuous integration, make sure you add a couple of code metrics and quality checks. Looking for duplicate code is one of the best indicators of quality on a project; too many duplicates and you know the solution will be high maintenance, and therefore buggy. There are lots of other metrics you can track, but duplicate code and cyclometric complexity are about the best we’ve found.
You’ll also need a good shared externally accessible ticketing/story system. This will track requirements and bugs and make sure everyone knows who’s doing what. A couple to try out are Assembla or, an agency favourite, EasyBacklog.
Finally, you need to make sure that the project is specified in the right way. I wouldn’t suggest a return to rigid waterfall; however, the technical partner needs to know what you’re asking them to build. Keep this simple, with annotated wireframes and a good technical specification of the target platform – including non-functional requirements.
You should also include your technical standards. The documents should be in shared storage and versioned for each project so the technical partner has ready access to them. The version numbers should be referenced on communication to reduce confusion. Dropbox is ideal for this.
3. Get the right technical partner
The third point is obvious, really, isn’t it? But it’s not necessarily easy; after making the decision to push more work out to a technical partner, how (and who) do you choose?
Firstly, shop around the market. Get recommendations from others in the industry and compile a shortlist. Get them in for an initial chemistry meeting and sign NDAs. I won’t go into specifics of procurement but here are a few things to look out for.
Make sure they’re led by highly passionate and experience people: people who have reputations to keep. Check there’s a single accountable person for each project, and that they are full-time, permanent staff – or, better yet, board directors.
Nothing stuffs up a project quicker than the main person leaving halfway through. One of our clients once supplied seven different project managers on one six-month project – because they were all contractors. Ideally, the accountable person for a project should be a top-level technical director; it’s no use having to talk to a project manager when the heat is on.
You should also check that your prospective partner has excellent recommendations. The team should use modern development practices, but nothing too risky or faddish – avoid trendsters. The partner should also have an engineering background, rather than just development. And, crucially, they should know how agencies work.
Finally (as I mentioned in my previous article), you need to make sure your technical partner can – and will – support and maintain the system after delivery. And that they’ll supply documentation around this. Although the additional cost might seem annoying, no system yet built has been known to support and maintain itself, despite the highest of hopes on the part of agencies.