Embarking on a new software project is a big deal and one of the most important decisions you’ll make in the early stages is which software development company to work with. They’ll bring not only the technical skills needed to build your new system but hopefully also the expertise to shape the direction of the project to help you achieve the best possible outcome.
You’ll be working closely with them for what might turn out to be several months and it’s important that there’s a good fit so that you not only get the best results at the end, but you enjoy the process of getting there.
With that in mind, be prepared to put any potential developers through their paces when you’re trying to decide who to use. Here are a few questions you should consider asking:
1. How collaborative is your development process?
Your developers will need to work closely with your team and your end users to understand the context in which the software will be used, the problems it is addressing and what you hope to achieve. As the project goes on it’s important to maintain that close relationship, with clear and regular communication that allows any problems to be overcome quickly. This ensures the project stays on track and ultimately delivers what you really need.
2. How involved do you get in the brief creation stage?
If you’re bringing in experts to help with a project, it makes sense to have them on board from the start to help shape its direction and scope. Any software company willing to just take a pre-written brief and run with it, without asking any questions, should be treated with caution.
A good development company should be asking you not just what you want but why you want it and how you’ll measure success. They should challenge you throughout the briefing process to make sure that you’re getting what you actually need rather than what you think you need. That’s why we always include a discovery phase in our quotes. A discovery phase should help both parties determine the project requirements and scope.
The way we see it, you’re the experts in your business and your software partner should be the expert in tech.
3. What base technologies do you build on?
Many development companies will offer to build bespoke software but dig a little deeper and you might find that they use just one or two systems as a base, simply adapting them to meet your brief. This means you may not get the best solution for your business needs and you may find you are locked in to that supplier for longer than you’d like.
It’s important to know that the software company you choose to partner with will look at a range of technology choices and pick the right one for your project, budget and so on. You might like to consider a company that is tech agnostic - that can recommend the code that’s right for your business, not theirs.
4. When will we see a first iteration?
This question is not designed to put your potential developers under pressure to work quickly. Instead it will allow you to find out whether they work in an agile way. An abstract design brief is a good starting point but it’s hard to decide if something is going to work until you’re using it.
Presenting a first iteration as soon as possible will give you a chance to play around with it. Using this phased approach with short, quick cycles takes out the barrier between you as a business and the technology experts you’re working with and allows you to actually experience the technology in context so that you get the right results without having to go back to square one.
5. Will you provide training for my team to transition the project in-house?
You may not want or need training but this question will allow you to get a sense of how your developers will work with you to ensure you can make best use of your new system once it’s finished.
For example, if we need to hand a system over to a client’s development team, we prefer to include them as part of our team throughout the project. This fully immersive way of working means they’re not just up to date with the technologies but the processes too.
But if there are time constraints we can run classroom sessions, code reviews, presentations and shadowing schemes at various stages throughout the project so that the client can take ownership easily when the time comes.
6. What is the life expectancy of the software you create?
Fixing a short term problem can often be done relatively quickly and cheaply. But if quality and maintainability have not been prioritised the next change is going to be more difficult and costly, and this problem will continue to get worse with each iteration. You can soon end up in a pretty expensive cycle of software development.
Don’t be afraid to challenge your potential software partner on the expected life expectancy of the software they’re planning to create for you. How much future-proofing will they be doing? A robust system might cost more initially, but over the lifetime of the product you’ll make genuine savings.
7. How does your pricing work?
There are different ways of pricing up a software development project, from hourly and day rates to overall project fees. Some companies like to firm up a bottom line straight away, others prefer to remain flexible.
While a fixed price might be attractive because it’s easy to budget for, it can put up barriers between you and your software partner. If the scope of the project changes, everyone ends up trying to look after their own interests because there’s no flexibility in the system to prioritise the outcome over the finance.
At Ghyston we give an initial estimate based on the number of days we believe a project will take but build in a contingency to allow for changes that might arise as the project develops in scope.
Using ‘burn up’ charts is useful to track the progress of a software project. The charts will show where the project needs to get to, where it is now and what needs to do be done to achieve the goals. Clients and project managers can easily see where resources are being allocated. If more finance is needed then that can be discussed, but equally if resources are being directed into the wrong place or elements of the project are actually progressing more quickly than expected, timely adjustments can be made.
Going through these questions with prospective developers should help you pinpoint those who will work well with your team and deliver the results you’re looking for. By putting the time and effort in at these early stages, you’re far less likely to find yourself in the middle of a project that’s gone way off course. Instead, by ensuring a great match early on, your software developers will be able to work in partnership with you to not only meet your goals, but hopefully exceed them.
If you’d like to find out more about how we work here at Ghyston, get in touch and we’ll be happy to chat.