Three Indispensable Aspects of a Successful Software Implementation

Each year, Community IT Innovators helps a variety of non-profits assess their business needs and select information systems to support those needs. We frequently find that though clients give a good deal of attention to what the software selection process will entail, they give very little attention (by comparison) to what the software implementation process will entail.
Orchestrating a successful software implementation requires developing and managing a number of moving parts and organizational qualities. In this post I focus on three fundamental aspects of a successful implementation: talent, time, and tenacity.


Many organizations under-budget software implementations from the standpoint of obtaining and/or developing the necessary talent to get across the finish line. Generally, at least three types of talent are needed:

  1. Software implementation project management
  2. Technical assistance specific to the product being implemented
  3. End-user ability to properly leverage software capabilities

Other talents may be required, but these are the three you cannot do without. We frequently find that clients have budgeted for one (more often the technical assistance) and not the others. Experienced project management is necessary to successfully navigate the implementation roadmap. (Yes, there should be a formal roadmap.) Product knowledge and hands-on technical assistance makes implementations more effective and brief. The road to ROI is much more straight and broad when end-users receive effective training.


Many organizations undertaking software implementations do not consider the amount of time necessary to effect a successful implementation. I think of “time in implementation” two different ways:

  1. The time necessary to perform all of the activities taking place during the implementation itself—from the point when the software is selected to the point when it is “live” or “in production.”
  2. The time taken to perform tasks in the new system relative to the time taken to perform tasks according to the previous method.

Underestimating time in either respect can sap energy away from an implementation process. When time according to the first definition is not properly projected, participants are gradually pulled away to other priorities or get burned out from schedule overload. During an implementation project, it is important to maintain process continuity and momentum, so certain types of work stoppage and delays can be hazardous.
The second definition of time is relevant to Community IT’s many clients who are using the implementation process as an opportunity of introducing new and necessary formality/complexity to the organization’s business process. Significant resistance can emerge when internal resources realize that they will be required to “do more” in the same amount of time, particularly if this realization comes during end-user training and not as part of a conversation taking place much earlier in the implementation process.


Organizations need tenacity to successfully complete software implementation projects. The bigger and more significant the project, the greater the level of tenacity. Jim Collins (author of the bestselling From Good to Great) wrote that in order to be great, organizations must first have disciplined people acting in disciplined ways. Disciplined organizations consider the talent and time considerations referenced earlier in this article, but they also have tenacity as part of their mindset. “When we do this, we are going to do it with a high level of tenacity. At some point we are likely going to face roadblocks, both anticipated and not. As a team, we’ll push through those roadblocks and accomplish our goals.”
Another aspect of tenacity is the willingness to understand that implementation is never complete. Never. Software is dynamic (particularly cloud software with an iterative release cycle). Your workforce is dynamic. The environment in which your organization operates is dynamic. So “going live” with your new software is just the first step of a successful implementation. A full implementation lifecycle assesses adoption levels, captures feedback, looks for new opportunities, and plans for the future.