This morning, I got a call from a past client who needed help with a custom eConnect integration and batch posting automation using Post Master Enterprise. Their in-house Dynamics GP developer, with whom I had previously collaborated, was hospitalized with a grave health concern.
This company has been using Dynamics GP since at least version 8.0 and manages over 300 active Dynamics GP companies. Over the past five years, they’ve implemented several custom integrations to automate various system connections. While everything seems to be functioning for now, they’re starting to encounter failing integrations without their developer, leaving them unsure of where to begin troubleshooting.
Currently, they are reconstructing business processes, integrations, data sources, and other responsibilities the developer handled. They have a general idea of his tasks, but lack specific details about source data file origins, transformations, storage locations, or integration processes. While most integrations are automated, they are discovering some that seemingly require manual intervention.
I spent two hours remotely investigating their system, analyzing logs and files on their terminal server. The goal was to gather information about the integrations, locate source code, and understand the mechanics. During this process, I couldn’t find any indication of source code control or documentation.
Although we made progress understanding some integrations, we couldn’t locate anything related to their pressing issue: a monthly AP invoice import into 200 company databases.
Their current hope is to retrieve the developer’s laptop and try accessing its files for clues about this monthly AP invoice process.
This situation highlights a common problem. While ideally, every critical task would have a backup employee ready to take over, many small to mid-sized businesses lack the resources for such redundancy.
IT tasks are sometimes broad enough for a system administrator to handle some SQL or GP-related issues. However, understanding custom code is atypical for the average GP user, let alone having multiple in-house GP developers. Even with external consultants like myself, clients often only possess the provided documentation, lacking the deep contextual knowledge of the project’s intricacies.
There are several lessons to be learned from this. Some critical takeaways include:
- Centralized source code control is non-negotiable.
- Documentation is crucial, regardless of the aversion to creating, maintaining, or reading it.
- Organization is paramount, especially when anticipating the loss of a key employee.
- Having a “Hit by a bus” plan is a necessary precaution.
Source code control is arguably the easiest practice to implement. Visual Studio seamlessly integrates with platforms like Team Foundation Server, Git, and SVN. Beyond the initial learning curve of these tools, using them is as simple as an extra button click within Visual Studio. There’s simply no excuse for developers to neglect source control and ensure accessibility for others in emergencies.
Documentation is unfortunately uncommon, especially for internal IT projects or custom development work. Even when documentation exists, it rarely encompasses the multitude of details someone might require in the developer’s absence.
Maintaining organization can be difficult. While some possess inherent organizational skills and habits, others struggle. Even projects initiated with meticulous organization can become convoluted after years of development, making the code challenging to decipher without refactoring or reorganization.
This brings us to what I call a “Hit by a bus” plan. It begs the question: if something were to happen to me, what information would minimize disruption for my family, colleagues, and clients? Perhaps a gentler term would be an “Extended vacation plan.”
Personally, I deliver documentation with every project and host all source code online. Partners receive access to their code repositories, ensuring that someone can step in and update the code if I become unavailable. Even with these measures, I acknowledge the inevitable existence of missing details and unanswered questions. However, all critical information is readily accessible for continued progress.
Contemplating these scenarios is unpleasant, but it’s a critical aspect of business continuity that every company should address.
Steve Endow is a Microsoft MVP for Dynamics GP and a Dynamics GP Certified IT Professional in Los Angeles. He is the owner of Precipio Services, which provides Dynamics GP integrations, customizations, and automation solutions.
You can also find him onGoogle+andTwitter
