Treats for Software Implementations and Development
Configuration over Customization and Modification: Design and Approach
Hello Everyone!
Last week, my dear friend and good colleague, Girish Prabhu, shared the scares of software implementation. Today, I would like to share the treats that will help you to deal with those scares effectively.
It is a fact that customizations and modifications are the biggest scares for any software implementation, especially when it is an enterprise software and integrated package. With proper software development designs and strategies, however, you can make it effective, expandable, affordable, and easily configurable.
Today, I am going to share some valuable tips that can make your life comfortable as a technical or functional person. These best practices have been learned from my personal software development and implementation experiences. I hope sharing these will help you in your software implementation or development as well!
My Philosophy for Customization and Modification: Configuration over Customization
Let me explain this philosophy a bit more. You might have come across a situation where making only a slight change in a program could take hours, and even days, to get implemented in the production system due to technical difficulties (e.g. hard coded values, testing new changes). “Configuration over Customization” means you should look into developing an admin configuration page, configuration file, or database record, where possible, to set dynamic or changing values via an admin interface instead of hard coding any values.
Example: You are asked to develop a program that applies a 30% discount to a product for a specific month.
I would recommend the creation of a configuration file, page, or record where two fields are defined, one for discount and one for month. These values would be read by your program at run-time and identify the month and product discount. This allows the flexibility to change the discount value and the month in the future without changing any code. If there is a configuration page for this functionality, it will provide an admin interface to your functional users to modify the values on the front end without knowing or asking to make any technical changes.
The following identifies some tips to keep in mind while developing the solution:
* Configuration Page
* No Hard Coded Values
* Data Stored in Tables or Files
* Configuration File Setup
* Component-Based Design
* Object-Oriented Approach (for extensibility and flexibility)
Mapping or Cross Walk Table
Another best practice when loading data into the system or interfacing your application with an external or third party system is to create a mapping, or cross walk, table that consists of primary and/or secondary key values from both systems.
Example: An external file with personal bio demo data of a customer is loaded into your CRM application.
A mapping table should be defined that identifies both the record information loaded in the system and the ID assigned to that record in CRM upon success. It allows you to easily report on successes and failures and also prevents duplicates. For future loads, it also helps filter data based on defined fields.
Documentation, Documentation, Documentation
Last but not least, I highly recommend good documentation for all your work. It does not have to be pretty, but it will always help keep track of any changes and the maintenance of those changes.
Thanks
Kashi (Kashif Ahmed)
Email: kahmed@kashifahmed.com
Web: http://www.kashifahmed.com
![]()
![]()


nice a day CRMakaan , i review your blog , be a nice blog and greatly. Best for everyone. useful and CRM Functional content. i will plan to read and review your website.
Great blog and an enjoyable read, came accross it on bingwhile doing some research in to this topic. i lookforward to reading a few more posts from you.
interesting blog and an enjoyable read, came accross it on googlewhile doing some research in to this topic. i lookforward to reading some more posts from you.
hello CRMakaan , i read your blog , that a nice blog and greatly. Good for me. useful and PeopleSoft CRM content. i will visit to read and review your site.
Great approach Kashi! Nice post as it does help you think again about expensive mods or customizations