Topics In Demand
Notification
New

No notification found.

Techniques and Methods to Improve quality and efficiency, reduce the level of customization and maximize the level of maintainability
Techniques and Methods to Improve quality and efficiency, reduce the level of customization and maximize the level of maintainability

228

0

 

Companies have always provided highly adaptable solutions by allowing customization. Most ISV vendors claim that it’s easy to customize their solutions. However, there are two different options. One option involves the need to program or code (customization), and the other involves using a configuration that non-programmers can set up.

While custom coding offers the potential of doing virtually anything you may want to do, it typically comes with a high cost. This option will need to employ large IT teams to change the application whenever business requirements change. Many a times, the application is “customizable” to an extent that you can’t make the software do much of anything without lots of coding. This highly coded solutions end-up in scope creep, longer implementations, and increased budgets.

There are a tons of frameworks and solutions, with the ability to configure quickly and easily without having to learn to code. When leveraging these new solutions, it’s important to know about the configurability of the application so one can determine the level of effort and technical expertise required to do so.

Solution configurability and lower total cost of ownership

Applications designed to allow quick configuration via an intuitive user interface enables the ability to add users, approval routings, security privileges and page layouts. Configurable solutions are fully supported whenever new iteration of solutions are rolled-out. This means that software vendors have ensured backward compatibility without breaking the application.

The solutions and frameworks with a code-based approach to customization is very different. Each instance of the application is customized in such a way that the vendor cannot guarantee compatibility for new versions or at least not without significant additional coding. At times, customers become locked into an existing version because the effort to bring the customization forward with the new integration is too high or deemed to be risky. From a cost standpoint, configurable solutions cost less to implement than customized counterparts.

Scalability and ease of administration

Solutions customized via coding require more resources to modify and maintain systems whenever business requirements change. With configurable applications, the software provider develops with ease of administration as a prime goal.

Configurable solutions are easier to integrate into, specifically if the software provider offers application programming interfaces - APIs. With APIs, IT team can write their integrations, but often, software vendors create an ecosystem of partners willing to create API-based integrations to downstream and upstream applications. Hence, configurable solutions with APIs offer the simplest way to support business requirements that span more than a one application. The use of APIs will ensure that future integrations will be designed so that integrations will work as the primary software solution evolves. When it comes to customized application, there will be no guarantee that the application will be easily upgradable or that integrations based on customized code will also work in future.

To be able to move fast, collaborate with large, distributed teams as business processes evolve rapidly, configuration provides the best option to meet business requirements, control costs, and ensure the long-term viability of software solutions.

 

 

Strategies to reduce software customization

  • Emphasis should be leveraging the OOTB functionality of the new system, than on automating current processes and will ensure that it will un-likely run into a high customization scenario.
  • Establish the project governance and controls for the software implementation An software development can lead to high customization without the right controls in place. When developing your project plan and charter, it is important to establish the process and approval mechanisms for reviewing and approving customization.
  • Establish a change management process framework: Invest in organizational change management processes. Organizational resistance typically leads to more customization, and the desire for less customization leads to more organizational resistance. In other words, if the company don’t invest enough in organizational change management, the odds of over-customizing the software increases exponentially. A well-planned and executed change management process, will help mitigate this risk immensely.
  • Leverage software configuration tools. It is important to understand that customization of the software’s source code isn’t the only option when trying to tailor the software for busines needs. Most ERP vendors provide fairly robust configuration and personalization tools that allow you to change the software to fit the needs without changing the code. Looking for ways to make less invasive changes to the system is a good way to minimize the need for customization.

This makes vital to recognize when and where it is appropriate to leverage the new OOTB system versus leveraging a third-party bolt-on. Each option has its own costs, risks and benefits, so it is important to take an objective and technology-agnostic view of the trade-offs. Customization isn’t necessarily a bad thing, unless you pursue too much of it. Minimizing customization and focusing on business processes that are critical to preserving the competitive advantage will ensure higher likely-hood of success.


That the contents of third-party articles/blogs published here on the website, and the interpretation of all information in the article/blogs such as data, maps, numbers, opinions etc. displayed in the article/blogs and views or the opinions expressed within the content are solely of the author's; and do not reflect the opinions and beliefs of NASSCOM or its affiliates in any manner. NASSCOM does not take any liability w.r.t. content in any manner and will not be liable in any manner whatsoever for any kind of liability arising out of any act, error or omission. The contents of third-party article/blogs published, are provided solely as convenience; and the presence of these articles/blogs should not, under any circumstances, be considered as an endorsement of the contents by NASSCOM in any manner; and if you chose to access these articles/blogs , you do so at your own risk.


images
Sameer Paradkar
Enterprise Architect - Modernization Domain

Software Architect, Author & Speaker

© Copyright nasscom. All Rights Reserved.