In software technology, the “when to launch strategy” has evolved over the years. We have gone from a comprehensive approach (get everything you can dream of done before you launch) to launching software that is in a “test state” e.g. beta or pilot or what has been termed “minimum viable product” or MVP. Google launched Gmail in “beta” and kept that term on it for years!
This evolution is happening because we have come to realize that we can’t possibly know everything about how the software is going to be used, we can’t possibly imagine every feature the user is going to demand and the rate of change in the software ecosystems and our business is accelerating. The comprehensive approach is typically called the waterfall method of building software. You write complete documentation on every single thing you want to build in great detail, and then you hand the instructions off to software developers and wait a couple months or years. There are great risks to using this methodology in our current business and technology environments because so much is changing that it’s virtually impossible to write complete specifications for a future unknown state.
Accepting that you can’t possibly know everything is the best mindset to have when launching any software. Expect to uncover issues post-launch and then have a process for resolving them.
Rather than spending months and sometimes years building on untested assumptions, the consensus is that you should launch software sooner and then have a culture that can effectively deal with issues and resolutions. This is called Agile software development, where you build software in short “sprints” and then you release and continue to iterate. This is not easy. Most business cultures are scared to death to launch anything. This fear is manifested in a form of paralysis around launch. We assume that launching without every single feature the user might want will equate to disaster. Ironically, some of the largest software companies in the world are launching “unfinished” software on us every day.
How does this all relate to print software, whether it be launching web-to-print solutions, new print MIS solutions, or launching custom software solutions for your customers? The launch of new technology to any user community is risky and there is typically a lot of resistance to pulling the trigger on the launch. We detest the idea of finding something post-launch that we missed, we don’t like to feel failure. The culture has to change into one of expecting that we will find issues post-launch, not because we aren’t competent or didn’t work hard enough but because we launched sooner so we could get clarity on what the market is actually demanding.
Untested assumptions do not create positive business results, print software that is launched and then issues are resolved as they appear helps everyone focus on what is really important. Brutal prioritization takes over in a live system. Once you have an order flow from your web-to-print all the way through accounting you then understand where you should focus your attention next.
Transitioning from a legacy system is one of the hardest transitions to make because the default logic is that the new system should do everything the old system did and more. Most legacy systems suffer from feature bloat (more features than are actually useful). For most legacy systems, there is no actual tracking on what features are used and which have never been touched. Many printers are scared to launch a replacement to a legacy system, in the fear that one customer will look for a feature that is missing in the new system.
New solutions solve problems in new way; new solutions typically allow the user to do much more than the legacy systems because they can integrate with other business software and perform well in a browser based, mobile trending ecosystem. Don’t put too much weight on every single feature of your legacy system and don’t underestimate the resiliency of your users. Cloud based solutions are making changes constantly for users – people are getting used to a constantly changing software environment. Communicate clearly, offer help if your users want it, and then push forward without worrying about every last feature. Build a culture that expects issues and then has a process to resolve them without drama, blame, or feel of failure.
Discussion
By Bill Knepper on Jul 22, 2015
The fear is founded!
The expectations almost always overstated. Oversold and underdeveloped are not atypical. Support can be at best marginal and always costly.
Fearless resolve, preemptive planning, human talent, enterprise infrastructure, and the patience of Job can not overcome all obstacles we as printers face across a multitude of software platforms from multiple vendors.
In the end it comes down to each of our organizations having to ultimately solve the issues for ourselves. We're a creative and extremely resolute bunch, but it makes putting ink on paper seem like a cake walk!
By Jennifer Matt on Jul 22, 2015
Bill,
Great points, my favorite statement of your comments "solve the issues for ourselves" that means you are taking ownership of the solution.
You might have to reach out for help but ultimately it is yours to solve. That is a attitude and culture that will allow you to thrive. As you stated waiting on support calls or perfect software is not a viable strategy.
Software does make printing seem easy, remember putting ink on paper used to be a lot tougher. Software is in a rapid evolution which is making it easier. I can't believe how far its come in my lifetime!
Jen
By Steve MacKenzie on Jul 22, 2015
Jennifer,
We have been designing and selling Print Management software for 25 years. Throughout those years many of our Customers have performed deployment from those with little documentation and analysis to those stymied with paralysis analysis due to over thinking their process and needs.
Purchasing Industry standard high-end software systems (virtually impossible to customize, or prohibitory expensive) forces companies when deploying to create "work arounds" (mostly creating excel sheets to help fill the gaps. This looses huge value from those systems they thought were going to improve efficiencies, while in fact forces them to perform double or triple data entry.
Look at how many companies are operating those types of system and have some type of web storefront.
Integration of the web storefront orders with those systems is extremely time consuming, complicated or requires too much order entry.
Most companies I know do not even properly create quotes or jobs in those systems, they usually "trick" the system by simplify the order into a single something to produce a job or layout containing multiple orders, eliminating order entry, but also losing important job details.
The best approach it working with companies that provide flexible, customizable systems. Systems designed to integrate from the beginning. This approach supports the "tuning" of the process during pre-deployment, deployment, and post deployment. Proper systems integration allows for multiple systems to run parallel, testing new functionality, and users can understand where and when those gaps occur. Once gaps are identified, implement a phased-in prioritized approach of how and when those gaps will to be addressed.
The most difficult portion this approach of implementing an integrated, automated solution is to properly predict the systems cost, timeline, and ROI. As much as it seems like a moving target, working with an established organization that sells and supports customizable solution for the Graphic Industry with years of experience and knowledge in developing and deploying tools based upon best industry needs and practices allows for development of optimal project plans while containing scope creep and cost overruns