In the previous article we looked at the first key factors in choosing a software engineer firm – people and their values. In this article we look at some more software-specific areas which are likely to have a significant impact on your project. How do you go about your software risk management process as you choose the company you work with?
DO THEY UNDERSTAND YOU AND YOUR BUSINESS?
Your software development company becomes a business partner of sorts. You are entrusting a core part of your strategy to them and you won’t always be able to control the way they implement it. Risk management is key, as is making sure they are sufficiently commercially aware that you are confident handing the reigns over to them. Are they asking questions about the software you want to build or about the business you want to build? Can they guide you in minimising and managing the risk inherent in your software investment? Whilst you are commissioning a software development company to do bespoke software development, if they do not ensure that all the development work is geared towards achieving your corporate objectives then you will be wasting effort and money.
Find a software company who can actually bring you new insights about your company and is capable of gaining an intimate understanding of what your vision is all about. If they’re diving straight into the details of functionality and what kind of technology to use, perhaps these aren’t your partners. If you find yourself having in-depth and challenging discussion about your technical strategy, you’re on to something.
DO THEY HAVE A CLEAR SOFTWARE SCOPING PROCESS?
Once you start to unpack your requirements for a software project, it’s quite amazing just how many features and needs you come up with. A good software company will offer software consultancy and will be adept at drawing out the specific features that you want and understanding how they relate to your business goals. They should have a very clear process of understanding, organising and documenting the potential features of the software. Whether they use agile development or not, there should be a planning process at the outset that will show up the feasibility and focus of the project as a whole. Do they know how to gauge the commercial viability of a project before they agree to take it on? Do they understand how their planning process is an important part of risk management for your software?
This process takes time and it will be interesting to notice whether they factor in this time (15% of the overall budget is a good guide) as a matter of course. It’s known as a ‘feasibility study’ or a ‘scoping process’ and it will protect you from escalating project costs and unmet expectations in the long run. It cuts out wastage and creates a blueprint of the project before starting out on any expensive development tasks. This is the kind of planning that enables a project to be flexible (agile, even) once it kicks off. Ask your potential software partner about their scoping process. Ask them how they charge for it (if they don’t charge for it, you may want to dig deeper into their past project experiences) and what deliverables you can expect.
Another area to check in on here is how they deal with user experience (UX). Much more than just getting a nice screen layout for your software, a high quality user experience is borne of a series of research exercises and prototypes. How do they deal with wireframing? Do they intend to carry out focus groups as a part of the initial feasibility study and/or later on in the development process? Ask to see software they have built in the past and see what the user experience is like. Ask them what process they went through to get to the finished product and meet the end-users’ needs.
WHAT ARE YOU GETTING FOR YOUR MONEY?
It is very difficult to say what a reasonable price is for custom software engineering work. Benchmarking can be tricky when a more expensive firm can bring better value for money because of their high skill level. At the other end of the spectrum, you may be investing into an offshore organisation with a less-rounded set of communication and development skills but who can complete the project at a price that is affordable. There is no right or wrong place on this spectrum, it’s just a case of knowing the complexity of the project you are bringing and the level of risk involved with the choice you are making.
There are some guidelines with daily rates to bear in mind though. Your project is unlikely to be priced based solely on daily rates, but each provider is likely to have a standard daily rate for smaller pieces of work that they will be able to share with you. If that daily rate is over £1,000 per day it may be worth getting clear on the value that this company is bringing above and beyond their capacity to build your software and understand your business. Perhaps they have built an exclusive reputation and you feel this helps you to trust them or that they have a particularly unusual skill set that you really need. If the daily rate is below £500 it could be worth investigating carefully their business model and the level of profit that they tend to make on software projects. Only work with companies who are making a good profit as those who are scraping by or giving too much to their clients are often the ones who have issues with successful project completion.
ARE THEY FINANCIALLY STABLE?
On the financial note again, it’s worth remembering that there are many software development firms that pop up and disappear within a period of 3 or 4 years. Choosing a financially stable company that has a good financial history will be a clear way of managing risk in your software project. Software development is an expensive business in terms of payroll because of the number of highly skilled professionals required to create software. This means that software companies need to have decent cash reserves in order to be stable and secure. If a fairly small software company has less than £100,000 cash, they are unlikely to have more than a couple of months running time in reserve. Whilst there may be other indicators of stability that you can’t understand without seeing their full accounts, you can at least do some due diligence and a credit check to mitigate the risk somewhat. You may not want to rule out a company on the figures that you find there alone, but it is good to be aware of their financial position during any conversations you have during the commissioning process.
Going back to our previous article, remember that you are paying for the people you work with more than anything. Make sure you get on well with them and trust your gut instincts in this decision. Be thorough in your decision-making process and if you need any specific advice on risk management we can help. Seriously, we’re not talking about a sneaky sales pitch here. We have a lot of experience and we’re happy to offer some tips relating to your particular situation.
Photo credit Lewis Minor