For any software project to be a success, a plan is required. There are specific steps to follow, just as there are mistakes to steer clear of. This article is designed to give you those vital steps required when partnering with a software development provider in order to encourage successful project delivery.
How your chosen provider engages with you on a software development project is a big deal. Particularly so, as the selling of software often involves ‘an act of faith’ in terms of investing a significant amount of time and money in the hope that something will be created that delivers a return. Whether it be productivity, cost reduction, customer service or all of the above. And not surprisingly, this is sufficiently enough to prevent many from going ahead.
So, how can software development become less of a scaremongering situation, and more of a dead cert? Well, it’s important that your chosen provider firstly spends a good deal of time explaining to you their systematic approach. This should give you full visibility and control of the development activity rather than you effectively signing a blank cheque and just having to wait.
How to Deliver Software Development Projects Successfully
Whilst every project is as unique, it’s important that your chosen provider establishes a tried and tested process for delivering software development projects which tailor to your project’s specific requirements. An experienced software development should know that, regardless of the length or scale of the project, this is the most effective way of providing their clients with the best business solution whilst remaining respectful of cost and time budgets.
To ensure a scalable, flexible solution that will continue to support and enhance your business well into the future, the steps we recommend an experienced software development company should provide are:
Scoping the Solution
This first meeting might be face-to-face, conducted over the phone or via video conference. This is where your software provider should work to establish what you believe your requirements are and determine the scope of the project. Their aim should be to learn as much as they can about your software and business workflow processes; what works, what doesn’t, what you need from it now and what you’re likely to need in the future as you grow.
It’s important your provider understands what you want to achieve with your business and its systems and then examine what’s currently obstructing those goals. They should explain their philosophy regarding software development, their solution as well as their overall, pragmatic approach to IT. Following this meeting they should then produce an Outline Proposal for what they think your software solution needs to look like and provide a ballpark price to deliver it.
Designing the Solution
A Functional Specification is a detailed description of how your business will operate through the new software, covering every stage of the processes that are within the scope of the solution. This is usually a comprehensive document, detailed, non-technical and entirely specific to you, the specification includes a tight estimate of the price and the initial delivery timetable.
Before producing this document, your software provider should meet with all stakeholders especially the team members that will be using it day-to-day as the input from the “boots on the ground” can often provide different insights to those at board level and gives your staff that crucial sense of ownership that can help overcome that feelings of fear that the imminence of any large change often causes.
Review and discussion should be encouraged throughout the production of the document, with any necessary adjustments or additions being made following feedback with the nominated contacts.
For larger projects, attempting to write the entire functional specification in one go can be likened to the painting of the Forth Bridge, with business needs often changing before the document can be completed, resulting in further review and amendments. There’s also a realistic limit to how much any group of people can document a business system without any of it existing, so for larger systems its recommended to choose an area of the business to focus on first. Once the requirements for that area have been agreed, your provider can then move onto the specification for the next and so on with the build of the signed-off areas running in parallel.
Building your Solution
The build phase often sees related functionality grouped into ‘drops’; each drop is roughly 2-4 weeks’ work depending on the tasks it contains. Following the testing, each drop will be delivered to your test environment for feedback and in the meantime, your provider will move onto the next drop to ensure a constant and consistent delivery.
The build phase can take many months from start to finish and therefore it’s important that your provider communicates closely throughout the building process, so you can let them know if everything works as expected and if you desire any changes.
Keeping you Informed
A project lead should be assigned to you and this person will take ownership of your project. But you should also expect to talk to developers and engineers too. Communication is vital for the successful delivery of a software development project and to help with that your provider should adopt a variety of cloud-based collaboration tools to augment the regular project update calls and meetings, such as Google Docs or Google Sheets for documents and Trello or other similar project boards. By doing so, they can demonstrate more clearly what has been completed, what’s being worked on, what’s next in the queue and all other tasks in the backlog. Such tools provide a productive and effective means to better overall visibility of the project, keeping everyone ‘on the same page’ throughout the length of the project.
As each new drop is deployed, your provider should always be on hand to provide any advice or handover information to make sure that your own testing is smooth and frustration free. Whilst training of all staff is best handled internally, your software provider can potentially help with training workshops, providing extra support for your in-house trainers on more complex aspects of the system.
Support is usually provided for a fixed annual fee and can include anything from bug fixes to answering the “How do I…” questions; undoing large user mistakes quicker than can be done manually; helping to roll out new products and services into the system or simply providing an unbiased opinion to a proposed business or process change.
Let’s Discuss your IT Strategy…
Unlike other typical IT support companies, Rio IT don’t just focus on engineering, we’re also committed to software development delivery. That’s why we follow the six steps listed above to ensure the delivery of every software project is a success.
We provide bespoke software development, allowing your unique business needs to be fully realised, and in-turn helping to improve your visibility, reporting, collaboration, and automation for greater profitability.
If you’re keen to discuss your IT strategy, here at Rio IT, we offer free consultations so why not get in touch?