What a software development contract should say
Most disagreements over custom software come from what was not written down at the start. A contract or quote should spell out the following.
Scope
A list of the features included in the price, and a separate list of what is not included. The second list prevents arguments at the end of the project, when it turns out both sides read the same sentence differently.
Deadlines by phase
Rather than one final deadline, split the work into phases. After each phase you get something you can try, so you see early if the project is heading the wrong way.
Number of revisions
How many changes the price includes and how extra ones are charged. Approve screen sketches before programming starts, since changing a sketch costs less than changing finished code.
Ownership of the source code
The contract should state plainly that the source code and documentation belong to you once the work is paid. Without that sentence you stay tied to one supplier.
Credentials and documentation
Ask for credentials to every server and service the system uses, technical documentation and a short guide for your staff. With those, another developer can take over the system if needed.
Moving existing data
Who moves the data from Excel or the old program, and who checks that it arrived correctly.
Warranty and maintenance
How long bugs are fixed for free and what happens after that. A maintenance contract usually covers monitoring, security updates, backups with restore checks, a pool of hours for small changes and a response time for when something breaks.
This is how we write our own quotes. If you have a quote from someone else and want us to look at it before you sign, we do that too.
If you want us to look at your case together, write to mulit.dev@gmail.com or call +387 61 700 933. The analysis takes up to two hours and is free.
