Organizations have been using large enterprise systems for decades to improve business intelligence and processes. These systems—when correctly designed and implemented—provide organizations with important strategic advantages, including improved efficiency and reduced costs. However, implementing the wrong system or implementing it the wrong way can have the opposite effect—making an organization less efficient and ultimately more expensive to operate.
According to a recent report, 70 percent of large-scale government software projects fail to achieve their stated business objectives, are delivered late, or are substantially over budget. In August of this year, White House officials identified 26 high-risk programs within the federal government that are experiencing significant cost increases and schedule delays. These projects, which span 15 departments and would cost $30 billion for completion, are all mission-critical programs that are being put through a fast-paced reassessment process to move them forward, possibly in modified forms.
Below are three strategies organizations can take to avoid these pitfalls. These proposed strategies are based on nearly two decades of research, experience, and lessons learned by Partnet in developing and implementing large-scale Government web applications.
Strategy 1: Use Custom Code and Open Standard Technologies to Increase Interoperability of COTS Products
When introducing a new enterprise system, it is important to recognize COTS products can be difficult to integrate. While COTS products normally work fine independently, combining them together so that they function seamlessly is the real challenge.
One key to interoperability is understanding when to use custom code as a means to more tightly integrate COTS components. It is important to determine when custom code is called for, and when an existing tool will work best. Using open commercial standards like XML helps to balance the costs and risks associated with the long-term development and support of COTS products.
These standards make COTS product evolution and substitutability more manageable. Partnet has combined a variety of EAI technologies with custom code to enable diverse systems and applications to share data and business processes. This includes application servers like WebLogic, databases and reporting tools like Oracle and Business Objects, and EAI tools like WebMethods and Partnet ePort™. Since the glue that ties these all together is custom-coded to the specific business processes for the target organization, it always satisfies the requirements.
Strategy 2: Use Agile Software Development Methodology
Another strategy is to follow iterative software development processes, like the Agile methodology. The nature of large-scale enterprise software projects makes it difficult for managers to determine where a project really stands. This is largely due to the inability of project managers to visually inspect software code and accurately identify critical benchmarks in the development process. Failing to confront delays early on—even minor ones—can lead to cost and schedule overruns.
To avoid delays and keep projects on schedule, Partnet follows proven Agile software development methodologies that don’t require the completion of all requirements prior to the start of design. It also shortens the time between builds or new releases. Shortening the amount of time between builds of the software allows project managers to more frequently examine the quality of code and verify against the customer requirements—keeping the project on schedule.
Another key factor is following Capability Maturity Model Integration (CMMI). CMMI is a process improvement approach that helps optimize task execution, service delivery, and project performance.
Strategy 3: Use Pilot Project as an Effective Risk Mitigation Strategy
Developing and running a pilot project is an excellent risk mitigation strategy for new large-scale systems. A pilot project is an initial rollout of a limited production system designed to test functional components, validate requirements, and ensure the system works as designed. Even a brief pilot period can greatly reduce the odds of a large-scale project failing.
For large, robust systems, Partnet recommends a three-to-six month pilot demonstration to observe and verify system capabilities in a more controlled manner and on a smaller scale.
The pilot phase will highlight any integration deficiencies or requirement gaps. These issues can then be remedied during the validation and demonstration phase, so that larger problems are avoided during full system implementation.
Although large system modernization will always be challenging, taking a few precautions will put you on the right track for success.