COTS or CRHMS? Understanding Full Stack of a Core Enterprise Software.

Commercial Off-the-shelf Software, or COTS, seems as, although expensive, a way to avoid risks and challenges associated with development of core enterprise software. At the same time it appears that some of the most bizarre IT failures, those that make it into newspapers due to ridiculous losses, are related to COTS.

The secret is, those were CRHMS rather than COTS solutions. However as the term CRHMS hasn't been known until this article, they were seen as COTS and unjustifiably trusted as such. 

CRHMS (pronounced /?kre?ms/) stands for Commercial Rather Heavily Modified System. As far as the reputation goes, CRHMS should be at the top of your list of anti-patterns - massive costs, costs blow-outs, ridiculously expensive support and therefore a real obstacle to business agility. There is no need to suffer all that, as CRHMS can be easily distinguished from COTS if you understand the full stack of a software system. 

When people hear "full stack" they usually think about DBMS, an Application Server, User Interface and other technical details - however those do not make a successful product. Before you write the first line of code in a system that should pay salaries or social benefits, deliver cargo to retailers, collect custom duties or bus fare, you secure some business expertise. 

Such business expertise makes the top layer of every core enterprise application. UI, internal workflows, database schema - all flows from the understanding of the business, which become embedded in every part of the solution.

If you agree with that vision, you are in the COTS territory. When the way the system does things is different from your existing practices, you should be prepared to change your practices. If you do that because you trust the vendor's expertise that is followed without modifications by many similar enterprises, you are fine. If you agree to change your practices grudgingly, for the sake of saving customisation costs, you are also fine, at least from IT perspective. However if your requirements are quite different and you need to engage several of several dozen of Business Analysts to capture your requirements and pass them to the vendor, you are in the CRHMS territory.

It is no secret that 90% of testing is done by end-users in production. It doesn't matter if the salesperson swears that their COTS solution can do what you need it to do. If it is off the beaten track, it hasn't been tested in such configuration. Nobody knows how well it would work, or whether it would work at all.

You are effectively buying developers of unknown expertise with massive libraries they are not necessarily familiar with. The rates will be per COTS customisation standards, the documentation of the solution internals would be per COTS customisation standards, the sophistication of your development processes would be by COTS customisation standards, yet the volume of work would be comparable with full-on development.

It has been drilled into us that the customer should talk, and the vendor should listen. That is what creates CRHMS - customer says what they need, and a sales person promises to deliver that. In reality it should be the other way around - the vendor should describe what kind of business can be naturally supported by their platform, and the customer should decide whether they want to be that kind of business. If "yes", take it off-the shelf, install and use. 

And "customer" in that case should include the stakeholders. If you are implementing a payroll system in an enterprise with unionised workforce, you cannot implement any change to the existing arrangement without the Unions. If you are implementing a welfare system, there would be political implications of following the practices assumed by a COTS solution, so their should be a channel set up from the beginning to suggest such changes.

Or you can run a CRHMS implementation project. We all know how well they turn out. 

Allen Furnas

The intersection of software, people, process and economics | CIO | Retail | FMCG | Banking | Media | Government | Angular | GraphQL | AWS | SaaS | Analytics | Legacy | Agile | AS400 | Synon CA2E | Project Management

8 年

The ongoing cost of ownership far surpasses the initial costs of going the CRHMS route. Not just in terms of maintenance, but in opportunity costs because the organisation is held back or prevented from implementing a strategy because their systems "cannot do that." And far too often, I have seen the sunk costs of the CRHMS continue to overshadow these opportunity costs.

要查看或添加评论,请登录

Alex Jouravlev的更多文章

  • You have your Business Architecture. Do you use it?

    You have your Business Architecture. Do you use it?

    As a Consultant, I often ask prospective clients about Business Architecture. The usual answer is that someone already…

  • The True Face of Level 4 Process Mapping

    The True Face of Level 4 Process Mapping

    We need to have a serious conversation about Process Centricity vs Data Centricity in the face of Digital…

  • Agile, Simplified

    Agile, Simplified

    It doesn’t look like there is a good working definition of what constitutes Agile. The Agile Manifesto is supposed to…

    6 条评论
  • As-is Modelling, the Sweet Wasteland of Enterprise Architecture

    As-is Modelling, the Sweet Wasteland of Enterprise Architecture

    Enterprise Architecture is under attack. On one side, the Service Design people are “planning and organizing people…

    81 条评论
  • Agile Expectations Board

    Agile Expectations Board

    An Agile Expectations Board seeks to prevent an Agile project from successfully delivering Iterations on the way to…

  • Understanding Semantic and Property Graphs

    Understanding Semantic and Property Graphs

    Executive Summary As enterprises increasingly adopt Graph Databases, to better reflect the nature of the data, or as…

  • The Cost of the Right to be Different

    The Cost of the Right to be Different

    It is a high season for IT contracts here in Canberra, so the “Let the Hundred Flowers Bloom” anti-pattern is in full…

  • Some Inconvenient Thoughts about Architecture

    Some Inconvenient Thoughts about Architecture

    Enterprise Architecture should include Diagrams understood by the highest executive level to be useful. If you don’t…

  • Enterprise is the Data: Are Processes Overrated?

    Enterprise is the Data: Are Processes Overrated?

    The first thing I noticed when started to transition some of my clients from UML to OWL Ontology Modelling was that…

    6 条评论
  • Expect More Sparse Data

    Expect More Sparse Data

    One of the arguments for NoSQL Databases, along their ability to handle Big Data, is their ability to handle sparse…

    1 条评论

社区洞察

其他会员也浏览了