Custom Fit, Upgrade Safe, Software at Off-the-shelf Prices

The title of this post seems so obvious, yet also seems like the Holy Grail.  Why should it be so hard for a customer to get software that aligns with the way that he runs his business without paying a fortune for it?  And if he was so fortunate to get what he wanted, why should he have to pay through the nose just to get an upgrade?

This is the dilemma of the typical Enterpise Resource Planning (ERP) customer.  And it’s the dilemma that my Dynamics Tools Customization team faces as we lay the groundwork to enable the customization experience for future releases of the Dynamics product line.  

The challenge is that there is a fundamental trade-off between customization development flexibility and product upgradeability.  For example, a highly flexible approach that several ERP vendors have taken is to simply provide source code.  Once he understand the code base, the Independent Software Vendor (ISV) has all the tools to do whatever he wants to change or extend the base ERP product for a particular customer or customer group’s needs.  It seems like the ultimate in delivering custom fit at (nearly) off-the-shelf prices, right?

Well, it may be the ultimate for the first delivery of the software.  But what happens when the base ERP product upgrades and the customer wants some of the new features?  That source code that the ISV modified now has been changed by the ERP vendor.  The ISV changes have to be merged with the ERP vendor changes.  How hard can that be?  Well, it could be hard enough that the ISV upgrade cost might approach the original cost for the customization.  This isn’t looking so good anymore…

That’s why the words “Upgrade Safe” appear in the title of the post.  It addresses the trade-off between flexibility and upgradeability.   Can software be both flexible / easy to customize AND easy to upgrade? 

That’s the challenge that we’re trying to solve.  If you have experience with a product – any product, not necessarily an ERP product – that does a good job of balancing the flexibility / upgradeability trade-off, I would love to hear about it.