RSS Feed

Wednesday, July 30, 2008

The Holy Grail - Application Development without Developers

If you've made it this far, I can tell you that the title is tongue-in-cheek. No throwing things at me or unsubscribing (thus cutting my readership in half).

Over the course of my career, I've seen attempts on various projects to eliminate the need for ongoing developer involvement in system maintenance. The argument goes something like this: If we could just build a flexible business rules engine, we wouldn't have to call the developers every time we need to update our FILL IN THE BLANK.

Don't get me wrong... there is definitely a time and a place for application configurability. It's just that business owners (egged on by developers looking for a good challenge) tend to over-extend the concept. For example, they may foster the creation of a new micro-language for defining pricing rules. Something like:

IF ($PRICE$ > 100) $PRICE$ * .90 --> $PRICE$ ELSE $PRICE$

Given that I personally know both people who read my blog, I know you could implement the parser to apply this business rule. And why not? Now my business owners can be in complete control of their pricing rules! We're not just talking a few canned rules... No, I mean autonomous, unbridled, master-of-your-own-universe power!

But there are a few catches. What happens when my business owner misses a closed parentheses? Well, it's back to the drawing board to write a user-friendly syntax checker (a.k.a. compiler). But then, they forget the symbol for manufacturer cost and complain (which is, of course, $MFG_COST$). Well, it's probably time for documentation (language specification) and macro-builder (IDE). The next complaint you get is "My pricing rules are getting really hard to enhance without messing them up." Well, this time (again because I know who my readers are) you realize you'll need to implement a unit testing framework and educate your business owners on Test Driven Development.

By now, however, the gig is up. You don't know how to implement a unit testing framework for your new language, POOP (Pricing Open Operation Protocol). However, you've now spent 20% of your career developing it, its compiler, it's language specification, and its IDE. You're highly invested - it's no time to abandon POOP now!

You forge on... You begin gathering pricing requirements from your business owner (if only you could just program all day), implementing them, and demonstrating them for acceptance. It's just that you're life is harder than it used to be. You used to have a powerful, expressive language (C#), complete documentation (MSDN), whiz-bang development tools (Visual Studio & Resharper), and unit testing framework (NUnit). Now you've just got POOP.

55 comments:

robertsonwc said...

Very nicely put. now only if my boss understood that.

Ayende Rahien said...

Even if you do get a solid DSL going (extremely easy, frankly), it is not going to be easy to manage the system over time for non developers.
What are you going to do when you have 15,000 rules?

Tobin Harris said...

Kevin, you actually have 3 readers :)

Nice post.

Arthur said...

From my experience, after such a system is built the users are reluctant to using it.
Perhaps this comes for lack of confidence in what THEY are doing.
I think for many businesses today that want to unload developers, outsourcing routine tasks will look more lucrative.

Reshef said...

U are talking about home-grown business rules engine. What about embedding a 3rd party business rules engine in your product? What do u think about that?

Kevin Hurwitz said...

@ reshef

I have yet to see a business rules engine that allows non-developers to effectively manage application logic. In my opinion, developers provide more value than just the knowledge of a language syntax. They possess a strong ability to understand, construct, and test logical statements. However, I'm open-minded, also. If the right tool came along for the right situation, I wouldn't hesitate to use it. You just need to be extremely aware of the pitfalls.

Reshef said...

Actually, I share your opinion. I reviewed the ILog rules engine and got the feeling that it "opens up" the the application too much to the business owners and their actions might have unexpected side effects on the system. Just was curious to know if there is an engine that might do the job.

James Taylor said...

Thanks for the post - made me think and blog a response at Believe in business rules (I do).
Enjoy

JT
Author, with Neil Raden, of Smart (Enough) Systems, Prentice Hall 2007

Woil said...

You've got at least one reader you don't know. ;)

I've certainly found this to be true in my work. Shortcuts aren't short, they're just cuts.

John Rudy said...

You now have at least another reader you don't personally know. Insightful, funny, and oh-so-true ...

(This kind of silliness killed one of my projects a few years back ... )

Anonymous said...

This just what the market needs, a new product. Salesmen and Marketers love selling POOP now. This wil be a cake walk for them.
You will be raking it in. Don't forget the glory days, when you were just a programer and you needed to wear robber boots because your boss kept you in the dark and you doing POOP. Now you actually use what you have been taught. Concrats....The WaAmbulanceDriver

Shankar said...

I did give a try for some years but soon realised that business rules are market oriented and everyone wants quick fixes. Essentially you land up with a everchanging program! to address the new bussiness rules (which is a reaction to market)

gcox said...

Do discussants agree that it useful to draw a distinction (at least for the purpose of discussion) between business rules that are independent of any particular process and those that are not (ie can apply to any process)?
The distinction would be between the rules relating to objects, which enable objects to maintain an internally consistent state (eg those that determine the conditions under which that object will provide a service and those that determine updating after an object has been involved in providing a service ), and those
that control service activation.

If considered useful, the simple labelling could be 'object business rules' and 'process business rules'.

My gut feel is that clarity and communication to all, including non-IT, would be improved if the term 'business rules' is only used when the use applies to both kind of rules. Otherwise, writers could be more specific; as suggested.

Fregas said...

Didn't Microsoft try something like this? Oh yes, it was called Windows Workflow Foundation...

Robz said...

@fregas: And SSIS, and ..., and so on...Lather Rinse Repeat.

[ dut ] said...

just a "me too" comment, but --
from what i've experienced, it doesn't matter how well the configuration system works, if its use requires thinking in multi-layered binary logic, you will need a programmer or mathematician to configure it. managers think in english, not in truth tables. giving them nested parens is not equivalent to giving them the ability to use them correctly.

so now i've got an awesome editor for a state machine brancher that i am the only user of... :(

Kevin Hurwitz said...

@dut... truly one of the most intelligent blog comments I've ever read "managers think in english, not in truth tables"

Anonymous said...

Your blog keeps getting better and better! Your older articles are not as good as newer ones you have a lot more creativity and originality now keep it up!

Anonymous said...

in spring pendants [url=http://www.blingforfun.com]hip hop jewelry[/url],[url=http://www.blingforfun.com/pendants/cat_9.html]hip jump pendants[/url],informed short trip watches,[url=http://blingforfun.com/belts/cat_18.html]bling bling[/url] ,onto skip,[url=http://blingforfun.com/chains/cat_7.html]hip caper chains[/url],aware caper bling,[url=http://blingforfun.com/chains/cat_7.html]iced out chains[/url],[url=http://www.blingforfun.com/chains/cat_7.html]wholesale chains[/url]
hip hop jewelry

Paul c said...

Ayende,

Probably when you get 15,000 rules, you get the bean counter boys to do a cost-risk analysis on whether to use the fumbling office junior to configure the rules engine or whether to use the pasty face developer to do the work

Anonymous said...

Howdy,

When ever I surf on web I come to this website[url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips].[/url]khurwitz.blogspot.com is filled with quality info. Frankly speaking we really do not pay attention towards our health. Let me show you one truth. Recent Scientific Research presents that almost 80% of all United States grownups are either fat or weighty[url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips].[/url] So if you're one of these citizens, you're not alone. In fact, most of us need to lose a few pounds once in a while to get sexy and perfect six pack abs. Now the question is how you are planning to have quick weight loss? Quick weight loss can be achived with little effort. If you improve some of your daily diet habbits then, its like piece of cake to quickly lose weight.

About me: I am writer of [url=http://www.weightrapidloss.com/lose-10-pounds-in-2-weeks-quick-weight-loss-tips]Quick weight loss tips[/url]. I am also health trainer who can help you lose weight quickly. If you do not want to go under hard training program than you may also try [url=http://www.weightrapidloss.com/acai-berry-for-quick-weight-loss]Acai Berry[/url] or [url=http://www.weightrapidloss.com/colon-cleanse-for-weight-loss]Colon Cleansing[/url] for effective weight loss.

Anonymous said...

Howdy,

Do you guys watch movies in theater or on internet? I use to rent DVD movies from [b]Netflix.com[/b]. Recently I discovered that we can watch all new movies on internet on day, they are released. So why should I spend money on renting movies??? So, can you guys please tell me where I can [url=http://www.watchhotmoviesfree.com]watch latest movie Killers 2010[/url] for free?? I have searched [url=http://www.watchhotmoviesfree.com]Youtube.com[/url], [url=http://www.watchhotmoviesfree.com]Dailymotion.com[/url], [url=http://www.watchhotmoviesfree.com]Megavideo.com[/url] but, Could not find a good working link. If you know any working link please share it with me.


Thanks

viagra online said...

this kind of topic is good for people to learn more about it, and that people should be every day less ignorant, and medicine for this is the reading of issues like this

Anonymous said...

Lovingly done is better than comfortably said.

Anonymous said...

Lovingly done is better than extravagantly said.

Anonymous said...

Artistically done is richer reconsider than well said.

Anonymous said...

Lovingly done is well-advised b wealthier than spectacularly said.

Anonymous said...

Lovingly done is well-advised b wealthier than extravagantly said.

Anonymous said...

A man who dares to waste anyone hour of one of these days has not discovered the value of life.

[url=http://www.divinepetite.com/apps/profile/profilePage?id=53375468]Jane[/url]


Jane

Anonymous said...

We should be chary and discriminating in all the intelligence we give. We should be strikingly careful in giving guidance that we would not about of following ourselves. Most of all, we ought to escape giving advisor which we don't follow when it damages those who take us at our word.

boring machine

[url=http://boring-machine-11.webs.com/apps/blog/]boring machine[/url]

Anonymous said...

A humankind begins sneering his wisdom teeth the senior chance he bites eccentric more than he can chew.

Anonymous said...

Vex ferments the humors, casts them into their meet channels, throws substandard redundancies, and helps nature in those secretive distributions, without which the solidity cannot subsist in its vigor, nor the incarnation role of with cheerfulness.

Dean said...

greetings to all.
I would first like to thank the writers of this blog by sharing information, a few years ago I read a book called costa rica investment in this book deal with questions like this one.

niz said...

Hello .. firstly I would like to send greetings to all readers. After this, I recognize the content so interesting about this article. For me personally I liked all the information. I would like to know of cases like this more often. In my personal experience I might mention a book called Generic Viagra in this book that I mentioned have very interesting topics, and also you have much to do with the main theme of this article.

Anonymous said...

Hello. And Bye.
[url=#]htyhyhyhhyh [/url]

joseph said...

Hi, probably our entry may be off topic but anyways, I have been surfing around your blog and it looks very professional. It’s obvious you know your topic and you appear fervent about it. I’m developing a fresh blog plus I’m struggling to make it look good, as well as offer the best quality content. I have learned much at your web site and also I anticipate alot more articles and will be coming back soon. Thanks you.

Mobile Applications Development

Careprost said...

Nice post, I would like to request you to one more post about that Keep it up

Generic Viagra said...

Hey, Really great work,I would like to join your blog anyway so please continue sharing with us,

Cialis Online said...

Interesting. I do not agree on all facts but it was a pleasure reading about your thoughts.

careprost said...

Really great post, Thank you for sharing This knowledge.Excellently written article, if only all bloggers offered the same level of content as you, the internet would be a much better place. Please keep it up!

Generic Minipress xl gits said...

Això és realment interessant, ets un blogger molt hàbil. M'he unit a la seva alimentació i esperem que busquen més del seu missatge meravellós. A més, he compartit el seu lloc en els meus xarxes socials !

Mobile Computing said...

Wow, Great post,Nice work, I would like to read your blog every day Thanks

Generic Viagra said...

I think you are right when you say this. Hats off man, what a superlative knowledge you have on this subject…hope to see more work of yours.

Generic Drugs Exporter said...

I have wanted to learn more about particular topics, but not many websites would help me out in informing me the way I expected. This left me with many question, but after reading your article, I got an answer to all my questions. You are too cool dude!!!

Generic Viagra said...

Thanks for sharing these important thoughts with us. Keep it up.

seositeden.blogspot.com said...

This can't work in fact, that is exactly what I consider.

iPhone Application Developers said...

What you're saying is completely true. I know that everybody must say the same thing, but I just think that you put it in a way that everyone can understand. I also love the images you put in here. They fit so well with what you're trying to say. I'm sure you'll reach so many people with what you've got to say.

Generic Viagra said...

I wonder how you got so good. This is really a fascinating blog, lots of stuff that I can get into. One thing I just want to say is that your Blog is so perfect!

Facebook Applications said...

I have no words to express how useful your blog was to me in completing my job work successful. Thanks a lot.

Cheap Logo Design said...

I have wanted to learn more about particular topics, but not many websites would help me out in informing me the way I expected. This left me with many question, but after reading your article, I got an answer to all my questions.

philip said...

I like it very much.
Buy forzest Online

Viagra said...

Nice post..thanks for sharing very interesting information..

Anonymous said...

The first part of starting any new site is picking the niche you want it to be in hotel marrakech. My biggest criteria for this case study was finding a niche that should be fairly easy to get some traction in rapidleech servers, so I went for something pretty obscure pnr status. I don’t know how much money is here, so I’m taking a chance therescrapebox. But all techniques stay the same adwords coupon.

Kamagra said...

Great information you got here. I've been reading about this topic for one week now for my papers in school and thank God I found it here in your blog. I had a great time reading this.

buy viagra said...

Thank you for sharing to us.there are many person searching about that now they will find enough resources by your post.I would like to join your blog anyway so please continue sharing with us