If you run your own business and require bespoke software, you might end up working with a developer. If so, it won't take long to realise that most software developers think differently to businesspeople
You'll therefore need to work thoroughly on your communication, but don't be alarmed - this is normal and can be managed if you take note of these points:
- Define what you need. Your developer must understand the requests you make. Don't just say what you want and leave it at that. Explain the business processes around your new software requirements, and be absolutely sure the developer understands them. If they don't, it can be an expensive mistake.
- What sounds easy is probably hard. Don't make assumptions about how difficult it will be for your developer to achieve something. It often takes a lot of work to get a piece of software to perform a simple task. Some of your requests will be easy to achieve and some will be hard, and it's down to the developer to tell you which category your request falls into.
- Be specific when you talk about time. Developers are accustomed to estimating how long a project will take in terms of the number of days' work. This figure doesn't usually translate into calendar days - it's the total number of days they need to devote to your project. Always agree a dated deadline to be sure you are working to the same timescale.
- Developers are accustomed to complexity. Developers spend lots of time using complex software tools. Stuff that is blindingly easy for them may be difficult for your staff to understand. So, when someone is designing software for you, make sure you see examples of the work as it takes shape. If it looks hard to use, then make sure your developer understands this and work with them to simplify it.
- Explain how you work. Adopting new business software can completely change the dynamics and processes within your organisation. To avoid this becoming an issue, make sure the developer understands how your team currently works and explain how the new software may impact them. Involve your staff in the design process, too.
- Expect problems. At some point in the development process an unexpected problem will arise. Effective time management is therefore crucial. Keep timescales tight enough so you can control the budget, but flexible enough to ensure delays don't adversely affect the business.
- Block out buzzwords. Software development is full of buzzwords, acronyms and jargon, and it evolves constantly. Even the best developers will start talking excitedly when given the chance to demonstrate the latest programming technique. If yours appears to be getting carried away, ask them to explain the business benefits of any new techniques or platforms in plain English. Don't assume that the latest thing is right for your business.
- Look at the ‘how'. It's of course important that your software does what it says on the tin, but the way it does it is just as important. If the software is public-facing, the way it performs will impact your brand image. And, if the software is for internal use, it'll need to be approachable if staff are to adopt. So, make sure you're happy with the look and feel as well as the functionality.
- Appoint a project manager. Communication is key to successful software development. Give your software developer someone they can talk to at all times and make sure that person can feed information back to the developer too. It can be anyone, as long as they understand the project's goals and have the time to talk and work directly with the developer.
- Keep your source code. Source code is what the developer creates – it's what powers your software. Without access to the source code, it'll be impossible to make future changes, so ensure you have access to it once the project is finished. This will give you the option of using a different developer in the future, if required. Make sure all associated intellectual property is assigned to you too.