6 Best Practices for managing software implementation projects
Many software implementation projects failed because they were over budget, overdue, misled, poorly defined, or a combination thereof. IT investment statistics shows that over 80% of software implementation projects are unsuccessful, poorly executed, or canceled before completion. Moreover, 30% of those failed projects have never been even started because of inadequate requirements setting, lack of stakeholder involvement, no change control system in place, poor testing, and other reasons.
Meanwhile, there are several best practices that can help prevent all those failures and fight poor project management. In this article I’m going to write about 6 best practices for managing software implementation projects. The items I describe here will help you keep your IT projects profitable and gain an acceptable ROI.
Here’s my list of 6 best practices for managing software implementation projects:
- Negotiate with software provider
- Define Roles
- Ensure Effective Planning
- Manage Issues
- Conduct Solid Testing
- Have a Training Program
Negotiate with software provider
A system that you’re going to implement into your working environment is provided by some vendor. You must deal with your software provider to clarify the system requirements, functionality, limitations, and typical issues and resolutions as well. For example, the experts at Bespoke Software Development can provide you a best practices approach to help you implement software project of any size and complexity.
The best way to ensure you get and do everything right is to conclude a contract with the vendor. I suggest you consider the following items to be included in your contract:
- System performance criteria
- User documentation
- Training and tech support, which should be provided
- Testing process description, including test systems
- Time escalation policy
- Payment schedule
- Any penalties related to improper system performance and use
When you have all these items defined contractually, your project manager will be able to create a well-defined project plan. Moreover, you can hold your software provider accountable to their deliverables.
Obviously your software implementation project will involve various staff and resources that will take care of the implementation process. Your primary goal is to organize all the personnel in a way that ensures efficiency and reliability of project results.
In other words, you must create an organizational structure that clearly defines the roles and responsibilities of project staff. The major roles should be:
- Sponsor. This person is a representative of the organization that provides funds to your software implementation project. Most likely your company will authorize, sponsor and own the project. Note that the sponsor should not be a member of the project team.
- Steering Committee. This governance body consists of top managers and decision makers who define strategic direction and policy guidance to the team. It is a management group that assists the team in issue resolution, problem solving, staffing, other matters.
- Team. The project team consists of people who will perform the tasks of your software implementation project. The team is responsible for the deliverables and is led by the project manager.
- Manager. The manager of your project takes responsibility for overall planning and also overseeing the status and performance of the work. This person makes sure the system is implemented under budget, on time and as per user requirements.
When you have defined the roles of personnel involved in your software implementation project, you can create an organizational chart that visualizes the duties and responsibilities of the stakeholders.
Ensure Effective Planning
The next best practice for managing software implementation projects is about planning. When you create and share a project management plan, you must be sure that this document is agreed upon with the resources and management.
Here’re essential tips regarding effective project planning:
- Be sure to clearly define the project objectives and explain them to the team
- Document deliverables and assumptions
- Be sure all team members understand the scope
- Create a change management plan that defines how changes will be detected and handled (especially those impacting the scope, schedule, or budget)
- Document how issues and risks will be arranged, managed and escalated
- Develop a project schedule that specifies the duration and dependencies of the tasks and activities
- Have clear instructions regarding how the schedule (incl. milestones) will be managed
- Define all methods of communications you’re going to use when implementing the software
- Be sure the stakeholders of your project actively participate in the project
- Get formal approval from the Steering Committee on the scope prior to starting implementing the software
Logging project issues is a best practice for managing most project including software implementations. An issue log will help you focus on each separate issue and identify the reasons and find resolution options.
Following these tips to reach effective issue management:
- Describe each issue in detail, including name of the issue solver, a due date, status, impact etc.
- Prioritize issues by their impact on software stability and also completion dates of critical tasks
- Keep track of issues and their status daily
- Record new issues and also update the issue log as an issue is resolved
- Never ignore issues that are likely to be easily resolved. Sometimes “easy” issues tend to transform into complex ones
- Share the issue log with the team; team members should know what problems they are likely to face and how to solve those problems
Conduct Solid Testing
Testing will help you understand how the software will perform in the installed environment and whether it will work in accordance with initial expectations. By testing you can identify any problems early before the system is implemented.
The best practice of testing includes these items:
- Select right type of testing (incl. database deployment, system performance, data flows, process flows etc.)
- Write test cases that defines all possible scenarios that might occur
- Involve end-users in testing
- Test standard functionality first; then test other items that occur infrequently
- Conduct user testing with people who are familiar with your business environment and thus who can evaluate how the software solves current problems
- Dedicate sufficient time to testing
- Run re-testing if any changes to the software or setup are applied
Have a Training Program
Adequate and timely training is essential to ensure that end-users are prepared to use the software system. When you have a training program in place, your software implementation project gets greater efficiency.
Follow these best practices to make sure your users know how to use the system properly:
- Identify end-users early on in your project
- Be sure the users are part of the project communication
- Have a training schedule that specifies timing for training sessions
- Let your users access the test system before the live event
- Consider providing best practice scenarios
Along with the listed best practices for managing software implementation projects, there are certainly more tools, options and methods you should follow to make your project effective. Team leadership, risk management, live event preparation, stakeholder management are just a few examples of other best practices. As a great project manager, you must consider all the opportunities that make your software implementation project successful.