Do you have knowledge about your customizations?

In the early days of my consulting career, customization wasn’t as prevalent. This could have been due to a lack of in-house developers, the kind of clients we worked with, or simply the industry landscape at the time. However, over the past 15 years, there’s been a significant increase in customization and integration, even for smaller projects. Several factors contribute to this trend, including higher client expectations driven by increased sophistication, the availability of user-friendly development tools that simplify the process, and a shift in mindset that recognizes customization as a way to unlock the full potential of software. For whatever reason, customization has become increasingly common.

It’s important to note that when I mention “customization,” I’m also referring to integrations and interfaces between systems.

Based on my experience with clients, both new and long-standing, there’s a tendency to “trust the professionals” when it comes to customization. While I agree that developers should handle the technical aspects, it’s crucial for clients and power users to have a solid understanding of their customizations. This due diligence is essential to ensure that the customization:

  • functions seamlessly within their daily operations
  • is built on technology they comprehend at a fundamental level
  • can adapt and scale alongside their business
  • is well-documented and easily understood by current and future users

Over time, I’ve observed that organizations often lose track of the rationale and functionality of their customizations. After a few years, users might question the purpose of the customization, its specific actions, and how to modify it for evolving needs. Simultaneously, IT administrators might struggle to support the customization effectively or perpetuate misunderstandings about its technical aspects and capabilities.

While these situations aren’t necessarily anyone’s fault, they highlight the importance of due diligence when working with consultants or developers on customizations. It’s also a worthwhile exercise to review existing customizations. To help with this process, here are some key aspects of due diligence I recommend:

  1. Every customization should have a clear specification document. While it doesn’t need to be overly complex, this document should outline the customization’s functionality and the technology used in its development. Including contact information for the developer is also helpful. In my experience, clients are sometimes hesitant about this step, perhaps viewing it as an unnecessary expense. However, a well-defined specification is invaluable for ensuring everyone understands the scope of work, minimizing miscommunication, and managing expectations. If you don’t have specifications for your existing customizations, I strongly encourage you to create them, either internally or with the help of your consultants/developers. Additionally, ensure there’s documentation for using the customization, whether within the specification or as part of broader process documentation. This documentation is crucial for training users effectively.
  2. Develop a high-level understanding of the technology used for the customization. Why is this important? Because you need to know what’s involved in upgrading the customization for new versions or making adjustments and adding functionality. Will it require coding or can it be done more simply? What about source code? Does the customization have source code and who owns it? Keep in mind that in most cases, ownership resides with the developer or company, not the client. What implications does this have if the developer leaves the company or if your company changes hands? Will there be a detailed technical design document available if you need to involve other developers? Is the technology specialized or more common? These are all crucial questions that impact the customization’s long-term viability and flexibility.
  3. Conduct thorough testing and establish a system for gathering internal feedback. This step ensures the customization meets expectations and improves the user experience. It’s not unusual for a customization, even if developed according to specifications, to require adjustments to make it truly practical for users. When this happens, clients sometimes hesitate, concerned about incurring extra costs. However, it’s essential to recognize that investing in these adjustments early on can prevent frustration and potentially higher replacement costs down the road if the customization is abandoned. Throughout this process, ensure that the specification and process documentation are updated to reflect any changes.

What other due diligence measures do you think are important for clients when it comes to customizations? I’d love to hear your thoughts!

Christina Phillips is a Microsoft Certified Trainer and Dynamics GP Certified Professional. She is a director with BKD Technologies, providing training, support, and project management services to new and existing Microsoft Dynamics customers. This blog represents her views only, not those of her employer.

Licensed under CC BY-NC-SA 4.0