
This is based on a few horror stories we've heard from customers recently, who were unhappy with their previous software provider.
Here are 5 questions we think most software consultancies aren't asking their customers.
1. What are you quantifiably trying to achieve?
Before you hand over your money for software, it's worth asking what you want to achieve from this investment. Do you want your new software to generate a 5% increase in foot fall? Perhaps you'd like €2000 per month deposited in your bank account while you sleep? If nobody asks you this question, then it's a little difficult to know if the software project was a success or not. If you don't think about how to measure success, then your software consultancy will undoubtedly claim it when the project is finished.
2. Why do you need new software and is there any existing software that would do the job?
Another way of asking this question is "What would be 90% as good, but would be 10% of the cost?". Quite often, a combination of some existing software services e.g. Highrise, Dropbox, Youtube & Overtake (shameless plug) will allow you to achieve most of what you want at a fraction of the price of a perfect, custom and expensive software solution.
3. What is the absolute minimum feature set you need?
If you have a new idea for a software service, and you're not sure if it's going to work, then don't invest upfront in unnecessary features. For example, there's no need yet to build a fantastic user administration and reporting system. Why? Because you don't have enough users yet to necessitate it. You don't have any data to put into the report.
Remember that most software consultancies will be happy to take your money and build unnecessary features for you. Also, forget scalability for now. You don't need the $1000 hosting package, yet. Concentrate on the bare features needed that will give you the feedback to know if the project is going to be a success or not. If a project is destined for failure, kill it as early and as cheaply as you can.
4. Who are the different types of users?
Identifying 3 or 4 archetypal people by name that will use your software is invaluable to the design process. Speaking in terms of what "Jim the account manager" or "Kate the sys-admin" needs is far better than always referring to The User, or as we call him - The Elastic User. If you build a system for the elastic user, you'll probably end up with software bloated with features. However, by defining user personas, you will be able to identify what features are important for what persona, which is the most important persona to satisfy, and more importantly what features can be eliminated from the system.
5. Who owns the code?
In our opinion, this question doesn't get asked enough, even though it's pretty simple to answer. If you pay us to build custom software, you own the code. If you use one of our software subscription services, then we own the code for the service and you own the data you put into it. We also recommend that you pay for the server hosting directly, and own your website domain. This will avoid any unpleasantness if and when you want to switch software providers.
It's a good idea to have a section covering these points in the Master Services Agreement with your software provider.
You do have a Master Services Agreement, don't you?