Evaluating a Business Platform
A business platform, as far as I care, is an application that I develop on top of. SAP, Oracle Applications, CRM, ERP, etc.
Those big applications are usually sold with a hefty price tag, and a promise that if can be modified to the specific organization needs as required. That is often true, actually, but the question is how. This often requires development, and that is where this post comes in. I am a developer, and I evaluate such things with an eye to best practices I use for "normal" development. In a word, I care for Maintainability.
Breaking it down, I care for (no particular order):
- Source Control - should be easy, simple and painless.
- Ease of deployment
- Debuggable - easily
- Testable - easily
- Automation of deployment
- Separation of Concerns
- Don't Repeat Yourself
- Doesn't shoot me in the foot
- Make sense - that is hard to explain, but it should be obvious what is going on there
- Possible to extend - hacks are not something that I enjoy doing
A certain ERP system is extended by writing SQL code that concat strings in order to produce HTML. That fails on all counts, I am due to start working with a directly with a Platform (so far I was always interfacing with Platforms, never working with them directly) in the near future, and I intend to watch closely for those issue, if it pains me, it is time for the old "wrap and abstract" trick...