Software – it’s all about delivery
Over the years I’ve seen a lot of software development projects, as a developer (they used to call us ‘programmers’!) and as someone commissioning, running, or just observing these projects. I am guessing here, but I think there must be more software development going on now than ever before. Every mobile app, every digital channel, every new connected device needs software to be created by someone, somewhere.
We have a lot of developers in the UK, but not enough to meet demand. Numbers from itjobswatch.co.uk show that for the first 6 months of this year there were around 8,700 contract c# developer roles advertised, up from 7,100 in the same period last year. If you go out to find developers for that role you will see a lot of applicants, but how many of them will do the job you need? There is nothing stopping anyone from calling themselves a software developer, so quality and experience across the community is variable.
We are not all capable of, or willing to engage in, building and running a software team. So we look to a development partner, either onshore, nearshore or offshore to build this for us. I am now going to tell you the ONE thing that should be on your mind when you make this choice. There are, of course, many variables that you could consider.
- Location – where will the team be?
- Methodology – Agile, Waterfall, DevOps, Lean?
- Cost – how much per day will these people cost me?
- Experience – have they worked on this kind of project before?
- Strength in depth – how many developers have they got?
- Team composition – will I know who is on my team and when/how will it change?
- Testing – how do they perform QA, what is their record on quality
- Maintainability – will they maintain this code or can we? Will it even be readable and maintainable?
- Culture fit – how will they work with people in my business?
All reasonable questions and things that should be part of a selection process. But not the most important. The one glaring, critical and most fundamental thing you need to ask yourself is this –
WILL THIS TEAM DELIVER A PRODUCT AT THE TIME I NEED IT?
This may seem obvious, and you’re now wondering why you bothered to get this far down the article. Take it from me, it’s not obvious at all.
The biggest mistake people make when choosing software teams is the ‘price per day’ fallacy. Comparing software developers by their daily rate is to make the mistake of believing that some magic process has commoditised the market, rendering all developers equal in some arbitrary ‘grading’ process of ‘senior’, ‘junior’ etc and the way the team is managed is irrelevant.
When considering cost, the key, surely, is that the product goes live at a cost that is acceptable. Nobody will thank you for saving £50/day on a junior developer if the software is late. Is it really better to have a hundred “cheap” developers hacking away than ten good people? When you commence a software project, the thing you want is software! You want the product. You don’t want developers. You just happen to need them involved somewhere.
Location is also a subject that pulls emotional strings. Are they ‘my’ developers, am I investing in ‘my’ team? As if you have some kind of feudal vassalage system that ties your developers to your benevolent teat. Most companies can’t afford to keep good developers – not many businesses are constantly developing new software tools and a high percentage of good, motivated developers don’t enjoy the lesser challenge of software maintenance.
Good remote teams that can demonstrate their processes can be at least as effective as local people. Yes, you have to invest in getting people together from time to time, it makes a big difference. But collaboration tools are so good now that video and chat fill a lot of gaps.
The other questions are also important, and the list is not exhaustive by any means – there are dozens of equally important things to consider. But they are all secondary. Don’t get distracted. Don’t find irrelevant hills to die on. There is ONE question to answer. One question that your business cares about, that your customers care about. Will you get a product, when you need it?
If you found this article useful please like / share it 🙂
I work with companies of all sizes to find the right answers to their technology questions. I can help with finding the right software development partner or support an existing project. You can call me on 07977 011116 or email [email protected]