The six factors to consider when planning a software project
Do you have a great idea for an app that would help your company enter new markets, run smoother, or increase efficiency - but you don’t know where to start? We’ve put together a guide to planning a software project, with a few things to think about before you engage your business partners or software development partners.
Here a few pointers to help you get you started.
1. Do your research
Firstly, you should investigate what software is out there and already exists. There may already be a piece of software on the market that can fulfil your company’s needs, consequently saving you a lot of time and money. Software development is expensive, and it’s worth spending time confirming you’re not reinventing the wheel before committing your valuable time and money into the idea.
2. Explore no-code or low code solutions
Before jumping straight into expensive software development, it may be worth looking into no code or low code solutions that can solve your business challenges, such as Microsoft PowerApps, Airtable or Monday.com. These are systems that let you build basic apps, at a relatively low cost. These are often fantastic for proving your app idea works in practise, or simple internal tools to keep track of things.
However, no/low code solutions aren’t suitable for everything - the needs for your business may simply be too complex or unique for this option, or you may wish to sell the software you develop. These solutions may not offer the flexibility you need or scale well enough to work for your entire organisation, and are primarily designed for internal usage.
The next step up from this is to build custom software, which offers you the ability to build the app as you see fit, without the constraints imposed by existing software vendors.
3. Build a proof of concept
If you decide to go down the route of custom software development, you will need to be able to prove, on a basic level, that your idea will be of use to the business and that it is possible to create with the information available to you. We often recommend starting with something as simple as a spreadsheet, as these are cheap and easy to change. This helps you figure out what information you need to store, how it should be presented and how it needs to interact with other systems, before starting a software development process.
4. Write your software requirements
Before engaging any software developers, whether internally, or an external agency, it is worthwhile putting together a comprehensive list of all your requirements. This will prove to be a vital document, as it means developers can understand the details of what you are proposing, and you can use it as a checklist during development to keep track of progress.
You’ll want to specify features in as much detail as you can, focusing on what it needs to do, not how. That’s a problem for the engineers. This step requires talking to your potential users to understand how best this software can help them and help you to understand their use cases.
Good requirements are also very useful for developers when it comes to giving quotations and effort estimations. If your requirement isn’t documented, then it’s easy to overlook and may not be included any estimates estimate - meaning the project will end up going over-budget in both cost and time. The more detailed your list, the less likely you are to come up against complications caused by miscommunication or your project going overbudget. Not including enough detail means developers end up having to make assumptions, which can be a costly mistake if they end up building the wrong thing, and charging extra to rectify at later stages.
5. Determine your minimum viable product (MVP)
When developing requirements, it’s worth having a think about what features are most important to you, and which ones you can live without – at least for the first version. This is a concept commonly known as “minimum viable product” in the software industry.
It’s fine to leave out things for a later date (and is often a good idea to), but it is important to identify and communicate what the critical functionality is.
6. Plan for long-term maintenance
It’s worth mentioning that you will find software is rarely finished. You should plan for ongoing work, as there will always be new ideas and that “one more thing” to add as you go along. We often have clients ask us to add another button here, or another screen there, even months or years after development started!
A commonly overlooked factor is to consider how you will maintain any software you develop in the long term. As we are all aware, minor hiccups can happen with tech at any time, so it is likely you may need some IT support. Not to mention that companies like Microsoft and Apple provide new updates all the time, and you will want to keep pace and not be left behind the competition.
After you have followed the steps above you should feel more confident about your idea and be in a better state to engage software developers with your requirements.
If you have any questions or are keen to get started on your software project, then please do get in touch with us here at Cambridge Kinetics.
We’ve put together our insights into planning a software project from a developer perspective, to set you up for long term success.
We are pleased to announce that Cambridge Kinetics has now achieved Cyber Essentials certification, thanks to our partners at Cambridge Support.
We are proud to announce that Cambridge Kinetics has been awarded ISO 9001:2015 certification from BSI, demonstrating our commitment to quality outcomes.