Over Tailoring Software

Man in suit

Software development is a complex and dynamic process that requires finding the right balance between tailoring the software to the specific needs of the business and avoiding unnecessary complexity and customization.

Tailoring software to business process is how we improve the efficiency and effectiveness of the business operations. We facilitate workflow, automate tasks, optimize performance, thereby increasing the productivity. For example, software that is tailored to the business process of a restaurant can help the staff manage the orders, inventory, menu, and delivery more easily and accurately. This can also enhance user satisfaction and engagement, as the software can provide a more personalized and intuitive experience for the users.

Tailoring is the whole point of writing software.  But there is a major drawback:  Every line of code costs a fortune to write and even more to maintain.  Every additional line of code makes the other code harder to deal with, therefore it’s important to keep programs small.

Graph showing exponentially increasing costs as lines of code go up.

The more tailored the software, the more lines of code.  Therefore, it is important to avoid over tailoring or under tailoring software to the business process. Over tailoring means customizing the software too much, beyond what is truly necessary for the business. Under tailoring means leaving the software too generic, without addressing the specific needs of the process. To find the optimal level of tailoring, some factors to consider are:

  • the nature and complexity of the business process
  • the availability and quality of existing software solutions
  • the budget and timeline of the project
  • the skills and expertise of the development team
  • expectations of the users and stakeholders

Usually the best approach tailoring software to business process is by following an iterative methodology, where the software is developed and delivered in small increments, based on the user feedback and testing. This way, the software can be continuously improved and adjusted to meet the changing needs and preferences of the business.  At some point the next iteration will have more cost than benefit and IT management will probably have to fight to avoid over tailoring.

Tagged

Leave a comment