Sunday, March 29, 2009

Hidden Architecture Syndrome: Definition & Longterm Effects

Software architecture as archeological dig (when engineers have no voice)

A common criticism of Open Source software vendors (most often made by our proprietary brethren) is that Open Source vendors are founded by engineers and technologists who do not understand commercial business, and the importance of the sales and marketing functions. I will let that generalization stand for now (of course, commercial success requires a proper balance across the disciplines!), and focus my first series of posts on the "flip side", namely:

  • what generally happens over time in "sales-driven" software companies?
Note: My comments are focused on the mid-market ERP space, with which I am very familiar.


Context
First, some context. As a relative newbie to the world of Open Source ERP, I was immediately struck by how transparent and "out in the open" everything is, at least here at Openbravo--not just the source code, but complete documentation, release status, virtually everything! My iGoogle now has a graphical widget that shows me the number of open bugs in the new Openbravo 2.50 release, by severity. Take a look at Openbravo's public wiki: as a new employee, I can be told "just read the wiki, and you will be pretty much up to speed re: what we are up to". Wow, all there on the web, linked together, searchable, easy to consume (even from an iPhone!) .

And once you start reading, you see topics like "Concepts for Openbravo ERP Redesign". Yowza, "Redesign"?, why do we need a redesign? That makes it sound like what we have now is no good. Did I take the right job? And then you step back and realize that in the proprietary world, you were used to spending a lot of cycles on perception (so time is spent by high-priced marketing staff "sanitizing" such politically incorrect verbiage). Here in opensource land, we are doing real Collaborative User Experience Design (complete with UI mockups) out in the open with partners and clients!

And as I am reading and learning more, it occurs to me that this transparency is not just a "difference", it is a hugely valuable differentiator. The first area I want to talk about related to transparency is Software Architecture, which in my experience is a mission-critical Software Engineering discipline that requires ongoing investment to deliver sustainable, adaptable business systems that will last over the course of decades. Open Source vendors tend to be very strong in this area, simply because the Darwinian nature of the overall open source ecosystem demands it--architectural weaknesses are quickly exposed publicly, and, if not addressed, your open source project will die due to lack of interest on the part of developers. So, the transparency assures that only the best architectures will actually be built upon, and that they will be updated with worthy new technologies that inevitably arise in the future (recent past examples include RESTful Web Services and AJAX).

So what happens over time when a system's architecture is allowed to evolve in a non-transparent, "hidden" manner, as is often the case with sales-driven, proprietary mid-market ERP vendors?


Hidden Architecture Syndrome
Well, the short answer is that "Hidden Architecture Syndrome" (HAS) sets in. And, depending on where the proprietary product is in its lifecycle, the symptoms of this syndrome do not bode well for its users, longterm.

I have identified 5 phases of HAS, based on my experiences working in the mid-market ERP space:

  1. Life is Good: We have a product that fits a niche!
  2. Bulk Up: Our success has attracted competition
  3. Attrition & Contraction: Initial effects of technological obsolescence
  4. Pump up the Marketing: This stuff is still good, just need more focused marketing for new deals
  5. Keep Milking the Base / Get Acquired: (aka, "Decision time for customers")

One final thought at this point: Why is the "common wisdom", as espoused by the analyst firms (Gartner, AMR, etc.), that the shelf life (or customer buying cycle) for an ERP system is 7-10 years? I think that much of the answer is that Hidden Architecture Syndrome is prevalent industry-wide, and a decade is about how long a vendor can profitably "ride" any given architecture (before dramatically reducing the R&D investment on that "legacy" system).

But it doesn't have to be that way, does it? What if your ERP vendor actually invested in a rock solid, modern architecture, and then invested incrementally to refine and improve it at every release? From an economic perspective, nobody actually wants to "rip and replace" every decade (conceptually, that's like planning to get a divorce once per decade). Doesn't it make a lot more sense to find that perfect partner, one who shares your goals and openly commits to making the necessary investments? Think that perfect partner doesn't exist? Think you can't have "ERP for Life"? Perhaps you haven't been looking in the right places! :)


4 comments:

  1. Thank you John for this great article. A good number of arguments to use in the sales process.

    I have faced a lot of times these questions in some of the customers, which demonstrates that most of them have already "bought" that critic you mention at the begining from the propietary vendors.

    If you don't mind, I will make a small mention of it in my blog, in spanish.

    ReplyDelete
  2. Openbravo does what it says on the tin; we even clearly state the ingredients!
    The problem with proprietary solutions is that the tin is in a flashy box covered in a plastic wrapper....you don't know what you are really getting until you have bought it and opened it up. Sometimes even that doesn't help....!
    Opensource is the way to go if you really want to avoid that embarrassing explanation of why you blew the ERP budget in a bad decision based on proprietary marketing hype! Proprietary marketing frequently amounts to smoke and mirrors to hide the reality of poor solutions. So where is the real risk?

    ReplyDelete
  3. Nice blog thanks for the information. really helping. online business software

    ReplyDelete
  4. If you are looking for a Software Development Company in Delhi you can check this site http://www.acetechindia.com/

    ReplyDelete