Upgrading Dynamics SL Custom programs – How T&T reduces time while increasing quality

Demand for Dynamics SL custom program upgrades surged in 2015 Q1 and Q2!

The surge in demand for services to upgrade Dynamic SL custom programs really started picking up in the first and second quarter of 2015 and T&T has been in the forefront of the wave.

With several clients and VARs all deciding that it was time to upgrade at the same time, T&T was faced with the challenge to find a way to upgrade several hundred Dynamics SL SDK custom programs from version 6.5, 7.0 and 2011 of Dynamics SL to version 2015 all within a few weeks while maintaining our reputation for quality!

Some upfront investment is paying off big for T&T

Faced with upgrading potentially hundreds of custom programs from different VARs, client and 3rd party vendors, each on different version of SL and with their own standards (or unfortunately all to often, lack of standards) for how their source code was structured and managed, T&T decided that if we were going to deliver on or before deadline, with quality we could be proud of, we’d have to make some serious investments in our internal practices.

Doing standard tasks manually for a few upgrades is fine

The steps and processes required to upgrade a Dynamics SL custom program to the latest version of Dynamics SL are reasonably well documented and not necessarily difficult.  However, there are quite a few steps involved which are identical for each program to be upgraded but it can be very easy to miss a step or fail to perform a step exactly correctly.

Developing automated ways to perform these steps may take exponential more hours than it takes to actually perform those steps on a single EXE.  So, it is not cost effective to invest that kind of time if you have only a few programs to upgrade.

Automation and documented standards add efficiency and quality control in high volume environment

At T&T we pride ourselves on delivering high quality products and services on time and on budget.  To achieve that goal for the volume of custom program upgrade work we were faced with, we decided investing in automation and strict standardization of processes was a must.  We invested several man weeks in developing source code management standards and detailed documentation for procedures and automation scripts as well as a half a dozen different custom build tools specifically for making sure Dynamics SL SDK upgrades could be done efficiently and to a high level of quality.

We could have probably upgraded 80% to 90% of the programs we were initially contracted to deliver in the time it took us to develop these practices and procedures and it was tempting to do just that.  However, the investment is paying off if nothing else, then in quality.  By standardizing our practices and procedures, we can efficiently and effective confirm and test that all things that need to be done to ensure that a program upgrades successfully have been done and done correctly.

Upfront work is paying dividends for us and our customers

With the standard practices and procedures in place and the automation scripts and custom tools we developed available to us, we are now able to very effectively and efficiently meet the upgrade needs of Dynamics SL VAR’s, end users and 3rd party developers.  Some of the benefits of this investment have been:

  • Drastically reduced turn around time (week or weeks instead of months)
    Projects that we previously had to scope at 1 or 2 months for delivery time and several man-weeks of billable time, we now can complete in drastically reduced time frames. We routinely upgrade entire modules with 20, 30 or even 50 or more custom programs in under a week!
  • Improved quality through consistency
    The application and adherence to standard practices means far few things are missed, forgotten or incorrectly completed. We and are clients spend far less time dealing with avoidable mistakes during the upgrade process.
  • More manageability going forward
    Frequently projects we are asked to upgrade do not have consistent and well structured source code and/or the developers that originally wrote the projects are not available and left little or no documentation about their source code and source code management practices.
    We have developed standardized source code management procedures that provide and level of logic and consistency to the upgraded source code that makes the project far more efficient to manage going forward.
  • Real Versioned Source Code Control
    Formal source code control, in a tool that supports complete version/revision history SHOULD be an absolute requirement for any custom software project that is critical to any company.  All too often we find that it simply is not being used.
    As part of our upgrade procedures, ALL projects get safely stored and managed in a standardized, professional quality source code management system.  As a result, at any point in time we and our clients can access any version of their source code and efficient compare versions and/or revert to prior version.
  • Visibility into source code versions from any compiled EXE
    An optional feature that we add to most of our upgrade projects is to add functionality to every compiled EXE that allows any user to generate a complete list of the name, last revised date and version control system revision number of every source code file that was used to build that EXE.
    Along with this, the “Version Number” of the compiled EXE is always stamped with the version control system revision number of the specific build of the given EXE.  The result of this, in combination with our use of a professional version  control repository is that at any point in time we can identify and retrieve the exact source code that was used to  make THE specific EXE that is a client is using.
Posted in Uncategorized.