System Implementations

The Pitfalls of a Bad Software Implementation: How to Avoid These 10 Common Mistakes

I’ve been implementing accounting software since the late 90s, and despite all the technological changes, the fundamentals of a successful implementation haven’t changed. Through the years, I’ve seen countless projects go off track—not because the software was flawed, but because companies made avoidable mistakes during the process.

Implementing new software is a major challenge for any organization. It requires detailed planning, clear communication, and careful execution. Yet, even with the best intentions, many projects still exceed their budgets, timelines, or fail to deliver key business goals.

"Roughly 14% of IT projects fail completely, and the majority of projects—43%—go over budget, while 49% experience scope changes during their implementation. - Project Management Institute (PMI)"

These numbers are a stark reminder of the difficulties many organizations face, and why understanding the common pitfalls is crucial to avoid failure.

In this blog, I’ll explore 10 of the biggest mistakes I’ve seen companies make over the years when implementing new software systems. These mistakes aren’t limited to any specific size of business—they’re prevalent across the board, and by recognizing them, you can greatly improve your chances of a smooth and successful implementation.


Implementation Pitfalls

1.  Underestimating Complexity

One of the most significant pitfalls in any software implementation is underestimating the complexity involved. The system you're implementing may be more intricate than anticipated, or you may oversimplify the process, overlooking critical details. Misjudging complexity often leads to rushed implementations, putting the entire project at risk.

Example: A large construction firm underestimated the complexity of integrating its existing project management tools with a new construction-specific ERP system like CMiC. The firm assumed that the transition would be straightforward but overlooked the need to customize the ERP system to handle their complex subcontractor billing processes and multi-company structure. This oversight led to extended project delays and substantial cost overruns, as the team had to pause and reconfigure the system mid-implementation.

Recommendations:

  • Thorough Assessment: Thoroughly evaluate the software's capabilities and your business processes before starting the implementation.
  • Phased Approach: Break down the project into manageable phases, allowing for detailed planning and adjustments as needed.
  • Expert Consultation: Engage subject matter experts to assess and understand the full scope of the project.

2.  Insufficient Project Planning

Inadequate project planning is another common pitfall that can severely impact the success of a software implementation. Without a well-defined plan that outlines project goals, timelines, and resource allocation, the implementation process can quickly become chaotic.

Example: A regional construction company attempted to implement Sage 300 CRE without a detailed project plan. The lack of structured planning led to missed deadlines and a budget overrun of 30%. They also failed to account for the unique needs of their remote job sites, leading to inefficiencies in data entry and project tracking. The result was a system that didn’t fully align with the company’s operations, necessitating expensive post-implementation modifications.

Recommendations:

  • Comprehensive Planning: Develop a comprehensive project plan that addresses all aspects of the implementation, including initial setup, testing, and post-go-live support.
  • Clear Accountability and Communication: Assign clear roles and responsibilities to ensure accountability and communication throughout the project.
  • Regular Reviews: Regularly review and adjust the plan to stay aligned with project goals and timelines.

3.  Failing to Capitalize on a New Beginning

Overlooking the chance to reset key elements, such as your Chart of Accounts and Cost Codes, is a missed opportunity to enhance your financial and operational reporting. Implementing new software is the perfect time to clean up and reorganize these components to better reflect your current business needs.

Example: A construction firm transitioning from QuickBooks Desktop to Viewpoint Spectrum chose to transfer its outdated and overly complex Chart of Accounts without modification. This decision perpetuated inefficiencies and made it difficult to generate meaningful financial reports tailored to their evolving project types. They eventually had to undergo a costly reconfiguration process after realizing their mistake, which delayed the full utilization of the new software’s capabilities.

Recommendations:

  • Evaluate Existing Structures: Take the time to evaluate your existing financial structures and identify areas for improvement before migrating to the new system.
  • Consult Financial Experts: Consult with financial experts to design a Chart of Accounts and Cost Codes that align with your current and future business goals.
  • Validate Needs of All Stakeholders: Ensure the needs of all stakeholders—such as construction, accounting, estimation, and project management—are considered and validated, as these functions are closely aligned.

4.  Not Identifying Reporting Requirements Early

Failing to identify reporting requirements at the beginning of the project is a major pitfall. Without a clear understanding of the necessary reports, the system configuration may not support your business’s needs, leading to costly adjustments later.

Example: A general contractor implemented Procore’s financial management module without clearly defining its reporting needs. After go-live, the company realized that the system's standard reports did not meet their requirements for tracking job costs and profitability by phase. The lack of upfront reporting specifications required significant reconfiguration and the development of custom reports, which delayed financial close processes and frustrated project managers.

Recommendations:

  • Conduct Needs Assessment: Conduct a thorough needs assessment to identify all reporting requirements before configuring the system.
  • User Collaboration: Collaborate with end-users to ensure the system will deliver the insights they need.
  • Flexibility in Reporting: Incorporate flexibility in the reporting structure to accommodate future business changes.
  • Consult Experts: Consult with experts to understand and review standard reports to ensure they meet your business needs.

5.  Relying on the Vendors

Relying solely on the software vendor to set up and test the system can be risky. While vendors know their products, they may not fully understand your business processes or unique operational requirements. Vendors often focus on delivering a generalized solution that works for a broad range of clients but may not align with your specific needs. This misalignment can result in a system that doesn’t fully support your processes, leading to the need for costly post-implementation customizations.

Example: A specialty contractor implemented Foundation Software for their accounting and project management needs. They relied exclusively on the vendor to configure the system, without considering how their specific processes, such as detailed union payroll reporting and certified payroll compliance, would integrate with the system. The vendor's lack of understanding of these specialized requirements led to significant delays and compliance issues, forcing the contractor to bring in additional consultants to rectify the problems.

Recommendations:

  • Active Involvement: Take an active role in the setup and testing phases to ensure the system is tailored to your specific needs.
  • Cross-Functional Team: Establish a cross-functional team within your organization to oversee the implementation and testing.
  • Continuous Communication: Continuously communicate with the vendor to align their efforts with your business goals.

6.  Not Understanding Your Contracts

Not thoroughly reading and understanding your contract with your vendor is a common pitfall. Software vendors and service integrators typically include baseline services in their contracts, with any additional work often handled through change orders, which can increase costs.

Example: A mid-sized construction company signed a contract with a service integrator for implementing JD Edwards EnterpriseOne. They assumed that data conversion and comprehensive user training were included, but these were actually listed as additional services, leading to unexpected change orders. The additional costs nearly doubled the initial budget, causing significant financial strain on the company.

Recommendations:

  • Careful Contract Review: Carefully review the contract, paying close attention to the scope of work and any additional fees.
  • Consult Legal and Professional Experts: Consult with legal and professional experts who not only understand the legality but also have experience with software implementations. This ensures that the contract terms align with the complexities of the project.

7.  Insufficient Training

Insufficient training can result in underutilization of the software’s capabilities and may lead users to revert to old processes, which can limit the effectiveness of the new system.

Example: A construction management company implemented Deltek ComputerEase but only provided minimal training to its project managers and accounting staff. As a result, many team members continued to use manual processes or older systems they were comfortable with, leading to data inconsistencies and underutilization of the new software’s features. This gap in training ultimately forced the company to invest in additional training sessions, delaying the full integration of the system.

Recommendations:

  • Detailed Training Plan: Develop a detailed training plan that covers all user roles and system functionalities.
  • Continuous Training Opportunities: Provide continuous training opportunities, including refresher courses and advanced training sessions.
  • Supportive Learning Environment: Encourage a culture of learning, where users feel supported in mastering the new system.

8.  Not Prioritizing Data Migration

Data migration is a critical step that, if not done properly, can cripple a new system. Poorly managed data migration can result in inaccurate or incomplete data, leading to significant problems in daily operations and decision-making.

Example: A construction company transitioning to Sage 100 Contractor rushed the data migration process, resulting in corrupted vendor records and inaccurate job cost data. This error led to incorrect billing, delayed payments to subcontractors, and significant issues with financial reporting. The company had to hire an external consultant to manually correct the data, which delayed the project by several months and added unplanned costs.

Recommendations:

  • Early Prioritization: Prioritize data migration early in the project, allocating sufficient time and resources for this task.
  • Data Validation Tools: Use data validation tools to ensure accuracy and completeness before going live. Convert master data early and do a test run of critical transactions to ensure the system behaves as expected.
  • Develop and Execute a Robust Data Migration Strategy: Develop a comprehensive data migration strategy. Understand the tools available to determine how transactions will be brought into the system, ensuring data integrity and consistency across all modules.

9.  Overlooking Post Go-Live Support

Failing to plan or budget for post-go-live support can significantly undermine your software’s long-term success. Even the most robust systems require regular maintenance, updates, and troubleshooting.

Example: A large general contractor went live with CMiC but did not budget for adequate post-go-live support. When issues arose, such as integration problems with their existing project management tools and unexpected bugs, they lacked the resources to address them promptly. This led to extended system downtime, project delays, and frustration among users, ultimately requiring the contractor to invest in expensive emergency support services.

Recommendations:

  • Include in Initial Budget: Include post-go-live support in your initial project plan and budget.
  • Establish Support Team: Establish a support team or contract with external providers to handle ongoing maintenance and updates.
  • Regular System Audits: Plan for regular system audits to identify and address any issues early on.

10.  Poor Change Management

Poor change management can derail a software implementation. People often resist change, especially when it disrupts established workflows. Without a structured approach to managing change, adoption of the new system may suffer, resulting in underutilization or reversion to old processes.

Example: A large construction firm implemented Viewpoint Vista without adequately preparing their staff for the change. Employees were not properly informed about the benefits of the new system, leading to resistance and confusion. Key stakeholders were not involved in the decision-making process, which resulted in a lack of buy-in from the team. As a result, the new system was underutilized, and the firm did not see the expected benefits from the implementation.

Recommendations:

  • Clear Communication: Communicate the reasons for the change clearly and consistently to all stakeholders.
  • Stakeholder Involvement: Involve key stakeholders in the decision-making process to build buy-in and reduce resistance.
  • Ongoing Support: Provide ongoing support and resources to help users adjust to the new system.

What RedHammer Can Do for You

At RedHammer, we understand the complexities of software implementations in the construction industry. Our team of experts ensures that your software investment aligns with your business goals, delivering results on time and within budget.

Here’s how RedHammer can assist your business:

  • Software Selections: We help you choose the right software tailored to your business needs and future growth. Our team ensures that the selected software supports your operations without over-customization. Discover our process for software selection on the RedHammer Software Selection page.
  • Software Remediations: If your current software system is falling short of expectations, RedHammer can help assess and remediate the system to meet your needs. We realign the software with your processes, improving functionality and efficiency. Learn more about our remediation services on the RedHammer Software Remediation page.
  • Software Implementations: Our team leads the implementation process from planning through to post-go-live support. We focus on minimizing risks, keeping the project on budget, and ensuring your system is fully integrated. Discover how we handle implementations on the RedHammer Software Implementations page.
  • Financial Resets: RedHammer can help realign your Chart of Accounts, cost codes, and financial reporting structures during system transitions, ensuring that your financial setup supports both current and future operations.

By partnering with RedHammer, you ensure that your software implementation is efficient, aligned with your goals, and fully optimized for your business operations. We provide the expertise needed to avoid common pitfalls and deliver a system that meets your business needs.


Frequently Asked Questions About Software Implementation Pitfalls

What are the most common software implementation mistakes that lead to project failure?

The most common mistakes include underestimating the complexity of the system and business processes, insufficient project planning that leads to missed deadlines and budget overruns, failing to capitalize on the fresh start opportunity to reset Chart of Accounts and cost codes, not identifying reporting requirements early in the process, relying too heavily on vendors without taking an active role in setup and testing, not understanding contract terms and scope of work, providing insufficient training to end users, not prioritizing data migration properly, overlooking post-go-live support needs, and poor change management that leads to user resistance. According to the Project Management Institute, roughly 14% of IT projects fail completely, while 43% go over budget and 49% experience scope changes during implementation.

How can companies avoid underestimating the complexity of software implementations?

Companies can avoid underestimating complexity by conducting thorough assessments of both the software's capabilities and existing business processes before starting implementation, breaking down the project into manageable phases that allow for detailed planning and adjustments, engaging subject matter experts to assess the full scope of the project, especially for complex systems like CMiC or Sage 300 CRE, and recognizing that construction-specific software often requires customization for unique processes like subcontractor billing and multi-company structures. A phased approach allows teams to address unexpected complexities without jeopardizing the entire project timeline and budget.

Why is proper project planning so critical for software implementation success?

Proper project planning is critical because it provides the framework for successful execution, including clear project goals, realistic timelines, and appropriate resource allocation. Without structured planning, implementations become chaotic and prone to failure. Effective planning involves developing comprehensive project plans that address initial setup, testing, and post-go-live support; assigning clear roles and responsibilities to ensure accountability and communication; conducting regular reviews and adjustments to stay aligned with goals; and considering unique operational needs like remote job sites or specialized reporting requirements. Poor planning often leads to budget overruns of 30% or more and systems that don't align with business operations.

What should companies consider when working with software vendors during implementation?

Companies should take an active role rather than relying solely on vendors because while vendors know their products, they may not fully understand specific business processes or unique operational requirements. Key considerations include establishing a cross-functional internal team to oversee implementation and testing, maintaining continuous communication with vendors to align their efforts with business goals, understanding that vendors often provide generalized solutions that may not meet specific needs, planning for potential customizations required for specialized processes like union payroll reporting or certified payroll compliance, and recognizing that vendor-led implementations may require additional consultants to address industry-specific requirements. Active involvement ensures the system is properly tailored to specific business needs.

How important is data migration in software implementation and what can go wrong?

Data migration is critical because poorly managed migration can cripple a new system through inaccurate or incomplete data transfer, leading to significant operational and decision-making problems. Common issues include corrupted records, inaccurate job cost data, incorrect billing information, and delayed payments to subcontractors. To avoid these problems, companies should prioritize data migration early with sufficient time and resources, use data validation tools to ensure accuracy and completeness, develop comprehensive data migration strategies that understand available tools and transaction processes, convert master data early and conduct test runs of critical transactions, and plan for data integrity and consistency across all modules. Rushed data migration often requires expensive external consultants to manually correct errors.

What are the consequences of insufficient user training during software implementation?

Insufficient training leads to underutilization of software capabilities, causes users to revert to old processes and systems, creates data inconsistencies and workflow inefficiencies, results in resistance to change and poor user adoption, and ultimately forces companies to invest in additional training sessions that delay full system integration. Effective training should include detailed plans covering all user roles and system functionalities, continuous opportunities including refresher courses and advanced sessions, and a supportive learning environment where users feel comfortable mastering the new system. Without proper training, even the most robust software implementations fail to deliver expected benefits and return on investment.

Why do many companies fail to plan for post-go-live support and what are the risks?

Many companies fail to plan for post-go-live support because they focus primarily on the implementation itself without considering ongoing maintenance, updates, and troubleshooting needs. The risks include extended system downtime when issues arise, project delays due to unresolved technical problems, user frustration leading to decreased adoption, expensive emergency support services that weren't budgeted, and integration problems with existing systems that remain unresolved. Proper planning should include post-go-live support in initial budgets, establish internal support teams or external provider contracts, plan for regular system audits to identify issues early, and recognize that even robust systems require ongoing maintenance and updates for optimal performance.

How can companies effectively manage change during software implementation?

Effective change management requires clear and consistent communication about the reasons for change and benefits of the new system, involving key stakeholders in decision-making processes to build buy-in and reduce resistance, providing ongoing support and resources to help users adjust to new workflows, creating a supportive learning environment that encourages adaptation, addressing concerns and resistance proactively rather than reactively, and establishing champions within the organization who can advocate for the new system. Poor change management often leads to underutilization of new systems and failure to achieve expected benefits, as users may resist adoption or continue using old processes despite the new system being available.