Sunday, February 7, 2010

Why Business Apps Are Difficult, and What to Do About It

There are lots of questions and misunderstandings about the nature of business applications, and why Apache OFBiz is the way it is, and why it isn't go to hold your hand and guide to just what you want for your business. Sometimes people make comparisons to operating systems or other lower level tools, but there are some key differences that make all the difference and...

There are a few reasons why the business side of OFBiz (the applications) are a lot more complicated and difficult to learn than the technical side of OFBiz. The basic problem is the size of each, but that's over-simplifying things.

Read Before You Write: It's not really human nature to do this, and it takes a lot of patience. This is made worse because if individuals have a hard time with patience, organizations are simply incapable of it. The PHBs want results... and reading sure doesn't look like it's producing any. What's worse is if the individual manages to produce a result with a couple of dozen lines of configuration and bits of code instead of a couple of thousand lines of raw, meaty, manly Java then a semi-technical PHB may find it really unsatisfying to have paid for so much time to get so little, not realizing that the individual just saved him 10-100 times what the alternative would have cost initially and over its useful lifetime. Unfortunately some individuals DO realize this and build large, profitable businesses based on exploiting it (but that's another topic altogether).

Scratching the Surface: A business application is not like an operating system, or even a framework for building business applications (which is like an operating system, except the interfaces are tuned to a different type of input, a less technical and more business-oriented type of input). The difference is by nature there is no way to design an interface adequate to represent a business application, and that is what both operating systems and application frameworks are all about. Unfortunately business people don't like being told that an interface with a few little parameters is supposed to represent the entirety of options for ANY process in their business, even "standard" ones like billing or shipping. Business people don't like not be able to change and tune any part of their business that they want, and if the systems can't keep up then they don't get used. SAP and most ERPs out there are great examples of this. They are proprietary software works and you don't get all of the source code (and/or permission to change it), and can only change what they've decided it's okay to change (unless you want to rewrite something, usually more than you think). Those sorts of systems don't let you get below the surface, which is unfortunate because then you don't even have an option to Read Before You Write.

In other words, the way you go about adding value (via easy of reuse) in a business application is very different from how you go about adding value in an operating system or a business application framework. With the OFBiz framework you can learn the "interface" to it, but with the applications you pretty much have to deal with it all. On the other hand, there are more concise "interfaces" to it, like the data model and browsing things related to data model elements, which is made easier with the Artifact Info and other related tools in the OFBiz WebTools application.

And how do you apply that in your business? The basic answer is you don't. OFBiz is meant to adapted to businesses, not businesses to OFBiz. You can certainly run it OOTB, but that's not how it's meant to be used and you'll find that a painful experience. It's not going to hold your hand because it was never designed to run your business. Frankly, how could it be? Some systems claim they are in their marketing, but that marketing isn't honest because how do they know how you want to run your business? When you start trying to use those systems in your business you find out pretty quick that they really don't know.

So, your best bet is to define your business and then do a gap/overlap analysis with OFBiz to see what you can use, what needs to be adapted, and what needs to be built to fill gaps. If you really want a tuned system, like for a larger company or for a derivative work (like a commercial application targeted at a certain type of company) then you can define the business, design the application, and build it, and save resources building it by reusing as much as possible from something like OFBiz (which gets back to why OFBiz is organized like it is). To do these things effectively takes some experience, and to shorten the path certain tools are helpful like the HEMP approach (http://www.dejc.com/home/HEMP.html).

Stepping back a little... there is a bigger trick... and that is how many people believe what I wrote above Read Before You Write and Scratching the Surface? Well, not many (that I've had the pleasure to meet anyway). For those that do understand and agree OFBiz is great (could be better, lots better, because even many people involved with OFBiz don't believe or don't understand those two ideas and as the number of contributors increases that painful fact becomes more apparent). For those who don't understand or don't agree, they are destined to a life of making things painful for them and others they work with, whether they attempt to use OFBiz (probably won't last long) or whether they choose a likely painful commercial route filled with reasons to spend more and more money on more and more different software.

27 comments:

ofbizsupport said...

Nice post David. I completely agree. First think before you write/create.

I did a training in the US where at the end the slogan was, that when somebody wanted to create something new, others would already say: is already there, do not need to create...

This implies however that you need this knowledge in order to re-use the existing application functionality and that can take some time.

Other point: I have an idea what PHB's are but what is does the abbreviation stands for?

Regards,
Hans
antwebsystems.com

Jacques Le Roux said...

Hans,

http://en.wikipedia.org/wiki/Pointy-Haired_Boss

Jacques

佳穎 said...
This comment has been removed by a blog administrator.
Fe024lixV_Ferrari1 said...

Variety is the very spice of life.......................................................

ShilaL_Kappler said...

一個人的價值,應該看他貢獻了什麼,而不是他取得了什麼..................................................

07_TeddyF_Silvey0 said...

死亡是悲哀的,但活得不快樂更悲哀。...........................................................................

玉龍玉龍 said...

you did a good job..................................................

俊偉 said...

要照顧身體歐~保重......................................................................

婉婷 said...

死亡是悲哀的,但活得不快樂更悲哀。......................................................................

郁雨郁雨 said...

一定要保持最佳狀況呦,加油!!!期待你發表的新文章!....................................................................

文辰文辰 said...

一個人的價值,應該看他貢獻了什麼,而不是他取得了什麼............................................................

王名仁 said...

人有兩眼一舌,是為了觀察倍於說話的緣故。............................................................

佩璇佩璇 said...

嗨!很喜歡來這欣賞你的作品,幫你推推推當上人氣王唷..................................................................

芳容222許林堅林芳容儀 said...

文章是心情的反應~~祝妳天天寫的都是讓人開心的好文章哦!!............................................................

文郭ss華賴ss添卉顏俊s任 said...

一棵樹除非在春天開了花,否則難望在秋天結果。..................................................

王美妹 said...

當最困難的時候,也就是離成功不遠的時候。..................................................

陳水卉陳水卉 said...

Quietude is the crown of life.............................................................

洪瑋婷洪瑋婷 said...

愛情是盲目的,但婚姻恢復了它的視力。......................................................................

lowe施cole鈺man駿 said...

喜歡自己的另一層意義是「接納自己」。..................................................

家唐銘 said...

要在憂患恥辱的環境裡,創造我們自力更生的新生活。..................................................

家唐銘 said...

良好的開端,已是成功的一半。..................................................

文王廷 said...

感動 + 感恩 + 感謝(。-ˍ-。 )............................................................

偉曹琬 said...

這麼好的部落格,以後看不到怎麼辦啊!!!............................................................

于庭吳 said...

累死了…來去看看文章轉換心情~............................................................

柔于真于真于真林姍 said...

獲益不少,謝謝分享!............................................................

dissertation said...

I found this blog very informative.

Marketing Dissertation Proposal

tenax_technologies said...

Thanks for sharing.

Tenax Technologies is a Belarussian software development company delivering complex web solutions. We provide comprehensive Java development of complex internet systems.
software company