Having recently experienced my first software rollout on a large scale (in this case it was division-wide), I came to the conclusion that there are several categories of tasks that need to be addressed in any software rollout. So, whether you are rolling out client software for a business application, a web authoring tool, or a document management system, the following roadmap should help you out.
Essentially there are things that your customers care about, things that IS cares about, and a few gray areas that you both care about at some level. The important key to communicating and working with your customers is to tell them about the things that impact them and that they care about rather than overwhelm them with irrelevant (from their perspective) details. Truly, your customers don't care much about the bang up job you did on the back end migration. They only care that you completed this step bringing the project closer to the milestones that impact them.
After plowing through several projects plans, consolidating, and generalizing, I arrived at the following top-level tasks that need to be considered in any software rollout project. Since detailed tasks in each of these categories naturally overlap, I present them in no specific order.
Requirements Gathering
Every project whether it's software rollout, application development, or infrastructure must encompass this phase. Even though IS people can occasionally lose sight of the following core belief, it still holds true. Technology is an enabler for the business. Therefore, the customer is king and their requirements drive the project. The most effective way to gather requirements involves actively including customers at various levels within the organization hierarchy. After all, what is important to the vice president in a particular tool is not the same functionality that matters to an administrative assistant. Educate your users as part of the requirements gathering process, and ensure they review the actual requirement documentation for their areas. This will help to ensure that everyone is on the same page before you build or deploy the tool.
Design Documentation
I can never say it enough. Well-written and thorough documentation is critical and is what will save you and your team from being up a creek without a paddle some day in the future. Whether you write it yourself or hire a talented technical writer, make sure you take the time to do it right. A verbose Word document listing a pile of system configurations is not an effective design document. Consider a little plain English and a workable format when you start typing away. A little time spent organizing this up front will pay many dividends along the road.
Procedures
Procedures are an often-overlooked area in the same class as documentation. Yes, I agree some people can get procedure happy and lose the battle of form over function. However, clear procedures both for customers to follow once the tool is rolled out as well as procedures to define how your rollout team functions during the project are crucial to drive consistent and acceptable behavior.
System Administration
Who will be responsible for system administration responsibilities? Will basic responsibilities be decentralized with the users? Will a central support team or the project team handle these tasks once the rollout is complete? Assigning "power users" in the customer base to handle basic administration tasks is often preferable in order to free up IS resources and empower the customers to take ownership.
Environment Setup
Depending on the tool and the scenario, environment setup and configuration can be a small task or a behemoth of a task. If you are dealing with a standalone client only based tool, you should have limited environment configuration responsibilities (assuming you have a standard desktop model in your company of course). If you are dealing with something more complex like rolling out a client application for a document management system and you are also upgrading the backend system as well, the environment configuration requirements can be significant. Although necessary, these tasks can be hopelessly tedious and brain numbing to your rollout team speaking from personal experience; so, be sure to split these amongst your team members.
Testing
The project's world will not spin freely on its axis without a good dose of Quality Assurance Testing. Although no amount of testing will protect you 100% from things that go bump in the night, a thorough amount of testing by both the technical team and customers is necessary for a successful rollout. Whether it's an internally developed application or a 3rd party piece of software, no doubt there will be bugs and unadvertised "features". Pound on the tool as much as you can and use a combination of automated testing tools, regression testing, and good old-fashioned user testing. Resolve as many issues as you can up front by either fixing the problem and/or creating a known issues list depending on your degree of control over the resolution.
Vendor/Consultant Relations
Oftentimes you are rolling out a 3rd party software product. Therefore, your relationship with the vendor is crucial to getting issues resolved and receiving the support you need in order to work with and deploy their product(s). Sometimes, in addition to managing the vendor relationship, you must also manage consultant relationships. Whether you are dealing with a consultant for team augmentation, training resources, or some other facet of your plan, effective relationships are a must.
Communication
In my opinion communication is the most overlooked ugly stepchild in many projects. Unfortunately, it often comes as an afterthought. The time is now to wake up, smell the coffee, and realize that communication not only within your team but also with your customers is one of the primary keys to success. Plan your communications as you would any critical path technical task. It is that important. This does not mean to overload your customers with communications (that is analogous to and begs the same result as crying wolf). Instead, you must deliver concise, effective, and timely communications. Keep it short, keep it simple, and tell them only what they need to know. Whichever pneumonic or school of thought you want to follow is fine, just do it and do it well.
Rollout
You need to consider how you want to rollout the tool. Determine whether you plan on conducting pilot rollouts, phased rollouts, or a combination of the two. When I refer to a pilot rollout, I am referring to a focus group type scenario. You rollout the software to a select group of people, have them work with the tool, and then gather feedback to determine if the product is ready to consider deploying on a wider scale. In the pilot rollout your focus is on the tool and its usability, functionality, etc. With a phased rollout, you deploy the software to one or more groups to determine if the deployment plan and tool is working as expected. You may start with a small group (perhaps using IS as a guinea pig in case the plan falls flat) and then expand to larger groups before deploying to your entire customer base. In a phased rollout you are focusing your test less on the product itself (though you want to obtain feedback and possible trouble spots) and more on your deployment plan.
Support
Who will support the new tool? Will it be the project team or will it be the regular desktop and help desk organization? It is important to make it clear to the customer that they need to direct their support requests to the correct group from the start. Otherwise, it will be hard to change their behavior later. Make it easy for customers to get support and make sure the support staff will handle requests correctly and consistently. If it is a totally new tool to your organization, consider training the support staff so they can benefit from the lessons you have learned during your evaluation and testing process.
Training
If it's new, they must be trained. Any new software whether it is an upgrade or an entirely new tool requires that you provide a certain degree of training to users. Keep in mind that users have different styles of learning and try to offer training that speaks to these different styles. Some users like to learn on their own using CBT, web based training, videos, or printed materials while others will only feel comfortable if taught by an instructor. Consider partnering with internal or external resources that specialize in training and development. These professionals know the ins and outs of instructing users and how to most effectively present training information.
It all sounds so simple, doesn't it? The reality of it is that each of these categories of rollout tasks can take on a life of their own once you drill down into the details. However, if you at least start with a broad roadmap for success it makes the project ahead more manageable.
Once you've successfully rolled out your software, the journey does not end. Do not forget to address the following:
Measuring Success
How do you know if your rollout was successful? Do you consider successful installation the barometer? Customer usage? A hard dollar cost reduction? Sometimes you not only have to evaluate success based on tangible measures but also behavior modification. Although how you measure success will depend on your situation, make sure you allocate some time and thought to this topic. In this way you can provide feedback to your customers as well as measure your performance against stated objectives (after all, you're hoping your bang up job on this project gets you noticed by the boss and results in a raise or promotion, right?).
Follow Up with Customers
Follow up with customers to ensure their requirements were met. Whether you choose to do focus groups, surveys, or face-to-face meetings, get your customers' feedback. This will not only help you to measure success but also take appropriate action regarding support of and future releases of the software.
As always, comments, complaints, and suggestions are welcome at paulag@enter.net.