Avoiding the custom code car crash
Configurable content management brings the functionality you need out-of-the-box
Organizations often heavily customize purchased software without thinking about the Total Cost of Ownership (TCO) in order to complete every business feature request. TCO needs to be considered when evaluating the initial purchase, the implementation and any customization or integration i.e. the cost associated to upgrading to future releases, the ease of maintenance, compatibility with existing software infrastructure and more.
IT departments and developers are already overworked and under staffed with the current workload in today’s IT world. Most IT departments have a backlog of software change requests from the business. This coupled with the global shortage of ICT skilled resources means that the features provided via custom code may not meet business requirements fully or on time. Another way to develop Applications to meet the increasing requirements from the business was required.
Low code Applications were born out of the necessity of responding to ever increasing demands on IT departments.
Customized Application – an Application developed with custom code to ensure the purchased software meets the business user’s, often complex, requirements. Customization requires more effort and highly skilled developers to make off the shelf software do something that it wasn’t originally designed to do.
Configured (low code) Application – use built-in tools to add to or modify features and behaviour of the out of the box software to help meet the user’s requirements. Business users with no coding experience can ‘develop’ these Applications. Gartner recently coined the phrase ‘Citizen Developer’ as a term to describe these business users.
Advantages of Customized Applications
Customized solutions offer extreme flexibility to meet organizations’ specific and complex requirements. The end users are able to get software that is very specific to their needs.
Disadvantages of Customized Application
Is what the business wants, what the business needs? – How often are business requirements based on what they do in a legacy system because they don’t want to change how they work?
More Risk and Effort – an approach using heavy customization can often lead to scope creep, long implementations and broken budgets while still not meeting the business requirements.
Difficult to Maintain or Make Changes – additional features, or modifications to existing features, can take time and require developer resources. The more custom code and iterations of the code the more costly the maintenance. In many cases the original developer can have left the organization without any knowledge transfer, not to mention detailed documentation.
Difficult to Upgrade – custom code will always ‘break’ when the vendor provides an upgrade to the off the shelf platform. Upgrading is difficult due to there being no guarantee of compatibility with new versions resulting in customers getting locked in to a legacy, unsupported versions.
Integration Difficulties – often custom code can take extensive time and resources to integrate to other enterprise software solutions which result in them being used as standalone applications. This is particularly significant when any one solution within the infrastructure needs to be upgraded.
Technical Resources Required – Applications that have been developed with customized coding require more technical resources to modify and maintain. It can be difficult to resource a project when the business requires a change due to resourcing issues or a lack of knowledge on the custom code. There is currently a global shortage in ICT resources and as digital transformation rises this shortage will further increase.
Total Cost of Ownership – Typically the TCO is far greater due to the time required to maintain custom software. In house resources are required to perform any upgrades and maintenance activities which are costly technical resources. Further development work is always required to upgrade. Scope creep is a common feature when using custom code.
Invalidate Support – when it comes to support it is difficult to find who ‘owns’ the problem. The original vendor will often pass it off as an issue with the developers of the custom code. This just leaves a dissatisfied customer.
CHANGE IS EASY
Change is inevitable. A low code development platform simplifies business requirements and makes Application modifications easier and faster. Modifications are all through configuration and so there is no need for complex coding at any stage of the process. Most development and modifications can usually be performed by a ‘Citizen Developer’.
Advantages of Configured Applications
Fast Application Development – with a Low Code development approach Applications can be created significantly faster to address critical challenges and automate business processes.
Easy to Maintain – Low Code Applications are designed using easy configuration via an intuitive UI and provide the ability to easily add or change features, users, security privileges, approval routings, fields, page layouts and more.
Ease of Administration – with minimal training, users can quickly learn how to configure software to meet their everchanging business requirements.
Low Risk – low code development allows end users to meet complex business requirements without the risks that often come with customized Applications and less effort. TCO is minimized.
Ensures IT / Business Alignment – a Business owner can define the process and work with IT to ensure the Application aligns with existing IT infrastructure, other configured Applications and follows defined best practice processes.
Automatic Upgrades - configured, low code Applications are typically fully supported whenever new versions of the software they are integrated with are released.
Free Up Developer Resources – configured, low code Applications can be developed by business users (Citizen Developers) with no coding experience. This frees up valuable IT resources and saves time waiting for developer availability.
Total Cost of Ownership – configurable, low code solutions cost less to implement and deploy than customised Applications. Scope creep is easier to control as typically Agile Project Management is used and new features/configuration is added incrementally.
Disadvantages of Configured Application
Flexibility - configured Applications may not always be able to meet the exact requirements of the organization due to the tools available. Many low code tools will allow for additional extensions to be made by utilizing API’s & code hooks to extend the features without editing the core software code itself.
KineMatik is an OpenText Solution Extension Partner developing solutions for OpenText Content Suite, one of the leading content management platforms. The KineMatik solutions help Content Suite customers to accelerate their digital transformation and simplify their IT environment while future proofing their Content Suite investment.
The KineMatik Business Process Applications for Content Suite offer out of the box adaptable and configurable business process utilizing best practises. There are also API’s that allow for using custom code that does not modify the base application and ensuring smooth upgrades while providing that extra level of flexibility.
About the Author
Kevin Keenan is one of the original founders of KineMatik. He has been instrumental in all product development strategies as the Chief Architect for product development. Kevin has over 20 years’ experience in new product development for technology companies. He has been responsible for developing innovative Knowledge Management, Telecommunication, and Banking solutions throughout his career for various sectors.
For more information from KineMatik see www.kinematik.com or contact us on firstname.lastname@example.org