Perhaps it’s the frustrated calls from internal teams, or partners crying out for greater connectivity to data – cases for implementing new software are easy to find. So much so that many projects get no further than a footnote in a meeting, while others fail after years of investment and effort.
So how do you start well and improve chances of success, particularly in organisations where internal knowledge and experience may be limited?
Begin at the End
It’s easy to get up in current challenges, the latest tech trends, project plans and budgetary constraints when really the initial focus should be a simple one; where are we trying to get to?
The answers can (and should) at this point be straightforward, and small enough that they encapsulate the requirement and nothing more.
For example: -
- Customers would be better informed if our sales representatives had live data when out on visits.
- We would surpass most competitors if it took half the time to process new sales orders.
- A stable database would allow teams to focus on more productive activities.
- An effective CRM would reduce oversight and increase retention amongst our customer base.
All these indicate challenges but also allude to an end goal. There is no consideration on technology, costs, timescales or the minutia of solution at this point however, simply what is trying to be achieved. Sometimes, summarising a requirement may be difficult in itself; if you are struggling with this aspect then keeping the benefits to the customer in mind is always a good strategy.
The Importance of Good Advisory
Once the overarching requirement is identified you can start to break down the steps required to reach the end-goal. There are of course a lot of unknowns between this point and a working software implementation. The path will vary depending on the nature of the project but one thing that in common is the importance of getting good advice.
This advice may come from internal resource or a trusted external partner, but it is essential to getting a green light and the decision-making process moving forward. Mistakes are almost inevitable where complex software is involved, however critical issues can be mitigated by having experienced people around. They can help both highlight and weigh-up considerations for the project moving forward, which might include: -
- Requirement Gathering; breaking down the top-level need into smaller chunks, or "stories" will stand you in good stead. A well considered, user-focused set of requirements aids prioritising, planning and all decision making as the project progresses.
- To Buy or to Build; the market for go-to software solutions is enormous, with many CRM, ERP and database offerings available. Most of these now allow for a degree of customisation but there are also times when building a home-grown solution from scratch is the right way to go.
- Choosing Solution Partners; alongside big players such as Salesforce and Microsoft are a wealth of smaller providers as well as software houses who can help with bespoke implementations. Functionality, security, infrastructure, interface are all factors in this decision.
- Technical Unknowns; breaking the back of difficult technical challenges early is often a great way to go. Spending considerable time realising a deployment only to fall or find delay at the last hurdle is a misstep that can be avoided.
- On-Boarding; it’s surprising how often significant effort will go into a new software project only for the users to be the last consideration. A smooth transition, particularly when replacing an existing system, will help the software have a happy existence from get-go and encourage positivity amongst your teams.
- Budgeting; managing cost and timescale is a skill in itself, particularly when there can be so many unanswered questions. An unrealistic budget might result in a valuable project not getting off the ground or frustration from all involved. Of course, ill-advised spend can also have a negative effect so spend should be targeted throughout. An “MVP” approach can help focus the mind with respect to costs and timescales (see later point) and deliver true value at an early stage.
A single person with deep knowledge of all the possible areas you may need is hard to find but having a stakeholder who is familiar with, or has experience in delivering software implementations is a valuable asset. They can talk openly with other members of the team, help prioritise requirements.
Implementation - The Power of MVP
Once you're ready to get underway, it's is worth considering an
MVP approach. MVP means a “Minimum Viable Product”, it’s a clever way of saying the least effort required to deliver something that can be used.
Many software projects fail (or are harder than they should be) due to overreach. Software implementation should be an iterative process. Recognising that the fewer features that are targeted initially will not just result in faster delivery but a better product in the longer term is a hard but valuable lesson to learn.
There are many methods to implement a software project. The skills required will vary based on some of the outputs identified during your initial requirement gathering. For example, DIY software projects require technical teams, designers and an understanding of software approach (Agile, Waterfall) etc. A packaged CRM installation for 10 users is far simpler, but still has necessary steps to success and can also benefit from an MVP installation.
The End has No End
At the outset of this article I suggested how the end is a good place to begin. A bit of a spoiler but it’s worth noting at this point that what you think is the end, is highly unlikely to be the end. In fact, it’s reasonable to state there is no end!
The most important takeaway from this is to plan for ongoing learning and enhancement. This doesn’t mean adding features to your software for necessities sake. It would be prudent to remember that many software projects come about to replace a system that has been poorly over-developed. Rather to ask the right questions, refine and ensure that you continue to get the most possible value.