Off-the-shelf software often does some of what you want it to do, but often there are compromises. Perhaps it doesn’t do 100% of what you want but you have a work around, it doesn’t do it in the way you want it done, or there are functions that you don’t actually need. It comes to a point where there is one compromise too far, and the only answer is to have bespoke software which will do exactly what you want in the way you want it with no compromises.
However, the process of getting the spec right can be a complex one and if not done correctly can end up with the software developers creating what they think you require, meaning neither client nor developer are happy at the end of the project.
The key is to get the spec right when briefing software developers at the start of the project.
Top ten tips for briefing software developers
A brief explains to the developers exactly what you want the software to do in as clear a way as possible as well as the budget and timeline. The more detail you can provide the easier it is for the developer to see your vision.
Here are ten top tips for preparing a rock-solid brief. The main objective is to explain your needs, request specific services and to open a dialogue to discuss the project with the developer in order to start a realistic, achievable project.
- Your business – By explaining what your business does will give the software developers a clearer idea of how the software will function within it and how it sits in line with your business goals. They will be able to visualise who your clients and users are and therefore how the software will fit in with your overall business model.
- Keep it simple – If you are not a developer yourself you can skip the jargon and just explain in the simplest terms everything you expect the software to do. Even if it sounds simplistic and non-technical to you, that’s fine. As long as the developer knows what you are trying to express then the brief is doing what it should.
- Research – Most software developers are going to be familiar with what is already on the market so if you research which elements of off-the-shelf software works for you, it will give a clearer idea of what you are hoping to achieve. It is also possible that the developer can piggyback off the code of some software and create the bespoke software you need without having to reinvent the wheel.
- Project overview – What precisely do you want your bespoke software to do? How should it connect with your current IT infrastructure? Does it need to be compatible with other software? Who will be using it? Will it require multiple users? Will it need to store data? What problems are you hoping it will solve? How are you dealing with these problems at the moment? What do you want it to look like? Basically, the project overview should include everything you can think of that will help the developer design a perfect piece of software which caters to your needs.
- Functionality – As an extension of the project overview, you need to have a comprehensive list of functions expected from the software. What will the drop-down menus link to? Should it be a one click platform? How should different functions connect to others? It’s also useful to add non-functional requirements such as security, user load times, and auditing specifications. Specify the prioritisation of these functions, in order to guide the order of creation throughout the project.
- Identify nice to haves – Even with bespoke software not everything is always possible, depending on the complexity of the project so separate your functionality list into ‘essential’ and ‘nice to haves’. This enables the developer to know which aspects to spend more time on, and what is central to the project as well as perhaps future proofing the software for later developments within your business or your personal requirements.
- Technical requirements – Even if you are not a developer yourself you will be able to provide information about what devices your software should be compatible with, and whether it needs to be an online or an offline product. Perhaps this is part of a bigger project and therefore it needs to be integrated into a legacy piece of software. It is also important for the developers to know whether this is a brand-new design or if it is a redesign of something already in use.
- Branding – As a bespoke piece of software you can have it integrated into your branding from the start. If this is a requirement it is best to outline this from the very beginning including colours, fonts and audio or visual elements you want included. If possible you can also add mock-ups, as this could be easier than trying to explain.
- Deadline and budget – The key to any successful project is to have a realistic deadline and budget. Whilst initially you can suggest your ideal budget and deadline, discussions with the developer may make it clear whether these will be possible considering the functionality and specifications provided. One of the reasons projects like this can fail is due to unrealistic timelines and budgets – with software development a champagne lifestyle with an apple juice budget isn’t going to deliver what you want. Similarly, these projects take time and can’t be rushed, so realistic timelines should be discussed for feasibility with the developer. In collaboration with the developer, you can devise different phases of the project with realistic deadlines for each phase all leading to an achievable final deadline.
- Communication – Keep in close contact throughout the project with the software developer. Giving them free reign so you can be hands off may seem like a good idea, but one miscommunication could end up with a piece of software doing what the developer thought you wanted it to do, not what you actually wanted. A brief is a starting guideline for the project, and over the period it takes for completion can see changes, alterations and improvements on the original plan. This is why regular contact is important to ensure small changes are acceptable throughout.
Although your brief should include as much information as possible to ensure the software developer knows exactly what is in your head, it should also be concise and to the point, with no padding or repetition. A perfect brief will give the maximum amount of information in the minimum amount of space.
At Veethree we have a dedicated and highly experienced team of software engineers, ready to draw up specifications for custom software, undertake the work, test the code and deliver fully functioning products. If you would like to discuss your bespoke software project with us, please contact us.