How to create business-aligned software

We all know the old adage “failing to plan is planning to fail”. But while most organisations spend a lot of time planning various areas of their business, surprisingly many companies don’t expect to spend much time aligning their outsourced software development projects with commercial objectives.

Know your objectives

When you start working with a developer on a software project such as a bespoke CRM or ERP system, it’s crucial that you know exactly what you want the application to achieve in order to support the business. There should be a clear connection between the software functionality and the commercial requirements of the organisation.

On its highest level, business-aligned software should ideally achieve all of the following things:

  • Improve productivity
  • Improve profitability
  • Reduce cost or wastage

Of course, not every single functional aspect of a software application will support the business as explicitly as this, but there should be an overarching application ‘purpose’ that is aligned with the commercial objectives of the organisation.

Defining success criteria

When you are managing an outsourced software development project, you will need to balance a number of constraints in terms of time, scope and budget. But often the most critical part is defining what success will look like, and ensuring that the results can be matched to the business requirements.

Getting buy-in

As project owner, you will be responsible for securing buy-in from all the key stakeholders within the business. These could be department heads, budget holders, team leaders and IT support – any part of the operation which will be directly impacted by the new software. Of course, not everyone will need to sign off on functionality or timescales, but many of these stakeholders will want to be kept informed about any updates or project changes. Transparency is often the most successful strategy here; so the more you can disclose, the better.

Turning objectives into specifications

Once the objectives and success criteria are clear, it’s time to translate them into a functional specification. We have covered a step-by-step approach to creating a system requirement specification (SRS) previously in this blog, as it’s a key process in itself. However, the specification is just one step of a business-aligned software project. It’s the spine of the development, and will provide a constant reference of what’s been agreed, but the final product will only be successful by planning and managing the project and its stakeholders carefully.

Once the project is underway, you will be able to review the software iterations with the developer on an ongoing basis. Towards the end of the development, you will also be invited to take part in User Acceptance Testing to ensure the functionality meets your users’ expectations.

The developer’s accountability

As a project owner, you should not only hold the developer accountable for the actual software delivery itself, but any surrounding deliverables as well. If for example the scope covers areas like delivery of user manuals and training, these will also need to be evaluated in terms of efficiency. (As the owner of a project, you don’t want to launch a new application only for the training to be so poor that users don’t understand how to use it!)

Working in partnership with your developer

While there will be strong commercial drivers for certain features and functions, it is also important that you acknowledge a genuine partnership with the development team. As experts in their field, your development partner will be able to interpret your requirements in ways that may be different to what you visualised. They will read your functional requirements from a technical perspective that draws on their skills and experience. As a result, you may be faced with suggested shifts in scope or dropped features in order to create a more cost-effective overall solution.

With an open mind, you will be able to collaborate with your developer from both a commercial and a technical standpoint to deliver a product that works best for the business.