The frequent need for local enhancements and customizations is an important item that should be considered when adopting a new application. Not only does each jurisdiction have its own needs, but also many of these applications are too generic and will need to be ĎfittedÓ into the jurisdiction-specific environment to work properly. This section discusses the following: the business value of knowing what you need to customize; how to ensure that the selected application will allow local enhancements and customizations to be made; and how to negotiate from the vendor the best possible agreement for enhancements.

Even with an application built to meet your needs, it is likely that significant customizations to make that application fit your exact requirements must be made. Meeting all users' needs and demands may give you satisfied users, but are the costs justified by the problems you are solving? Alternatively, enhancing a product to satisfy core business needs may be necessary regardless of costs. When jurisdictions are searching for a software solution, their decision can have far-reaching costs and consequences. Obviously, the solution is being purchased to meet a specific need, so the quest is to find the application that most closely fits those needs. This will help reduce the post-purchase cost of customizations.

No software application is built to fulfill all requirements for all jurisdictions. Therefore, by necessity, customizations will occur. Some customizations simply manifest themselves as modifying a few system parameters; others are a complete reengineering of the product. To help you decide where your needs land on that continuum, a few critical elements first must be answered: the business drivers behind the customization, its value and complexity, and future additions to the software. When evaluating software products, be sure to discuss system administration capabilities, database administration, and reporting capabilities with vendors to see what capabilities are part of the initial product setup and what might be needed as customizations. Business requirements that are not met by the initial software package must be developed as enhancements.

If you discover that you are about to pay for enhancements that you think would be helpful to other jurisdictions, determine if such an enhancement is coming out in a future release. Depending on the nature of the customization, quite possibly you will find that you are not alone. Many companies make future product direction information available to their customers and business partners for this very purpose. Additionally, beta programs, tradeshows, and online user groups are also great ways for soliciting information. If you find the needed functionality is not coming soon enough, or at all, at least you can confidently plan on a direction that is consistent with the software vendor.

Once you have determined that customizations are necessary, it is important to understand what technologies and building blocks are available for completing your solution. Resources in the form of toolkits, documentation, support, and, on occasion, source code may be available from the vendor. Customizations allow the software to be tailored to your needs, allowing for greater success, either with users or in business processes. As long as they are justified, understood, and developed by the right resources, a product's modification can close the gap between a good product, and one that fits your organization perfectly. We recommend the following steps to prevent incompatibility:

Documentation. The safest method to guard against this is to completely document all integration points between the customization and the product when the customization first occurs. By doing so, a list of Application Programming Interfaces (APIs), connectivity methods, and database alterations is found in a single document that is easily compared to the release notes of the new software version.

Communication. Discuss the changes in the latest version with the vendor, or a business partner. Find out if there are any enhancements to the product that can make your customization better. Most importantly, ascertain if there were any "back-end" changes that will alter the way you have made your customization communicate or alter the base product. This information is not always easy to obtain because a software company's marketing department tends to produce information regarding the new features of a product, and may not necessarily delve into the lower-level details.

Testing. Allow yourself enough time to test the customizations to ensure compatibility. Customers should use the same test scripts they created when the customization was first put in place. If these product enhancements have yielded tremendous results for your jurisdiction, then it is worth a rigorous test.

Skip Navigation | Assessment Guide | How to Get Started | Requirements Definition | Business Models | Support | Data Migration
Local Enhancements and Customizations | Costs | Funding | PHIN Compatibility | Decision Model Tool | Glossary | Results