“If you are not embarrassed by the first version of your product, you’ve launched too late” – Reid Hoffman, Founder, LinkedIn
As agile software development and business process methodologies migrate from the offices of Silicon Valley to the industrial parks of Hauppauge and Raritan Center, mid-market executives are beginning to reshape their thinking regarding goals and execution for implementing enterprise software at their businesses. Where legacy enterprise applications- specifically on-premise Enterprise Resource Planning (ERP) & Customer Relationship Management (CRM) systems, rely on a “rip-and-replace” mentality to fit a “round-peg” business process into a “square-hole” technology, today’s cloud applications provide surgical precision in deployment, mitigating the risk of disruption while providing greater sophistication in capability to meet your exact requirements.
A Minimum Viable Implementation (MVI) is an ERP & CRM deployment approach, with a rapid, iterative execution of a very specific project scope or business objective. Implementers put in place the core requirements for a specific process, and then incorporate user feedback to consistently modify and improve the environment until a functioning system exists. The benefit of this approach is that an executive deploys capital on a process that generates ROI while also gaining acceptance amongst end-users. This post provides some guidelines on a Minimum Viable Implementation so you can use this mindset in your next enterprise software implementation project.
Do: Define a clear scope – “Eliminate All that is Waste”
You’ve got a problem. Your company is slow to fulfill orders, you cannot turn around quotes fast enough, your sales team is not generating enough new leads, your customers take too long to pay, you are constantly out of stock, you cannot access the data you need to make informed decisions. If you decide an ERP or CRM solutions makes sense to solve one of these problems, wonderful! (Feel free to hit the contact us button at the top of the page). Regardless, you need to scope out your project. The platforms we work with come with thousands of features, many of which you do not need. Do not lose sight of your need.
If it takes you 4 hours to get a quote out to a customer because your sales team cannot access inventory levels for an item, and your competitors are winning business by getting them out in an hour or less, then your software implementation should focus on one goal: reduce the time it takes to generate quotes. Sure, your fancy new ERP comes with customer commitment priorities, advanced demand planning, marketing campaign emails, vendor bill variance posting, even a web content management system. While these things are great for you to use eventually, the important thing is to keep sight of your goal, reducing the time to turn around a quote. You can build a rocket ship to keep in your garage, but at the end of the day your car is the best way to get to work.
Do: Build bridges, not walls, between enterprise applications
A business is a humans-machines system that converts cash outlays into cash inflows. Notice both words are plural: as of this writing, no application exists for you to press a button and make money. You need people to enter data, manipulate information, structure knowledge, and even provide wisdom to help your business succeed. Likewise, you need multiple machines, whether it be physical capital (trucks, printers, scanners), or computer hardware, or software systems, to aid in this conversion process.
A common pitfall in enterprise software implementations is a disregard for an ERP or CRMs interaction with either other applications or end-users. Too often, companies want “a single source” of information, or for a single system to handle as many processes as possible, without considering that multiple applications might in fact handle a process more effectively.
A basic example is using NetSuite’s unified ERP, CRM and eCommerce platform in conjunction with Excel. Customers often want a metric calculated in NetSuite, even though exporting saved search results and building a pivot table in Excel might provide a more information-rich analysis. Likewise, a customer might try to use a CRM tool to track email opens and web visits, when a marketing automation or web analytics application might be a better fit.
Cloud applications come with a host of features making integrations and interactions between applications easier than ever. For example, NetSuite offers a CSV import tool to import data from external applications, and an export to Excel tool, which, when used in conjunction with a saved search, can allow you to export data to import into other applications. Likewise, for deeper integration, a full featured API is available, using REST or JSON interchange frameworks, allowing your ERP or CRM to speak with a range of applications.
Enterprise applications exist for every type of function, from marketing automation and web analytics to warehouse management and field service management to treasury controls and expense management. As humans bake more structured knowledge into their software applications, they are free to allocate time evaluating ever more applications to manage ever more processes and build bridges between systems. In a minimum viable implementation, you should evaluate whether it makes sense to migrate a process into your new ERP/CRM system, or to leave it in a legacy system and build a bridge.
Don’t: Import data all at once – Instead, import it in waves
As outlined above, a core tenant of this approach is a strict focus on scope. Often, data import projects eat up enormous amounts of budget. Executives need to cut away data that is not necessary to meeting the particular requirements.
In NetSuite, for example, to configure an item record, the only field that you need to get started is Name/Number. When working with the CSV import tool, start your project by importing Name/Number, and perhaps External ID (which is an id from an external application you want to exist in NetSuite). The CSV import tools allows you to update existing data. In an iterative approach, we recommend you work through one field at a time. Work through a process, and determine if you need a field.
A good example is Item Weight. You do not need item weight for every item you sell in your NetSuite instance to be loaded at the same time. You do need a handful of test items to run through core processes as your team gets a feel for the application and learn where this data point plays a role (such as estimated shipping cost with NetSuite’s built in FedEx and UPS integrations).
We also recommend you build and isolate some entity and transaction maintenance saved searches early in your implementation (See screenshot – we are happy to help you with this).
You use these searches to add fields to each record that you will need to meet your processing requirements. In addition, you can export to Excel and filter for results that contain blanks, so you know which records you need to cleanup.
By importing in waves, you build your records and data strategy as you work through a process, spending to import only the data you need to transact, instead of planning your data strategy all up front and drowning your team in oceans of erroneous data.
Really Don’t: Ignore feedback from your end users
You’ve invested time, energy, and capital in building an application, thinking through every detail, and then you go-live, and boom, the users reject your solution like a host body rejects a virus. In the agile, minimum viable approach, the key to keep in mind is to incorporate user feedback early and often. See the opening quote to this post: if your initial UAT is not embarrassing, then you spent too much time architecting and building and not enough time letting users provide you with the feedback of what they actual do with the application. We’ve seen customers invest hundreds of thousands of dollars on a project, only to abandon it on go-live because they never incorporated user feedback. Let your users at it, see how they use it, see what they do, and incorporate that into another iteration of your build. This will increase the odds of your user acceptance, and leads to a more nuanced, intricate system.
As you evaluate enterprise applications and potential partners, we hope you find some of these guidelines useful in cultivating an approach which allows you to build a complex system, mitigate user acceptance risks, and minimize your spend, all within a rapid deployment timeframe. If you are interested in learning more, please reach out to us today.