One of the most famous <a href="http://www.cs.yale.edu/quotes.html" target="_blank">epigrams of programming</a> collectd by Alan J. Perlis is:<br><br><i>When someone says &quot;I  want  a  programming  language  in
which  I  need  only  say  what  I  wish  done,&quot;  give him a
lollipop.
</i><br><br>I&#39;m reminded of this in any discussion where this sales-pitch-black notion of Business Analysts writing  rules by themselves is peddled with the assumption that some cleverly designed non-trivial DSL will magically provide a blue sky and smooth sailing.  Of course the BAs will still have to have a clear understanding of the object model, and of course they will still have to know the basics of rule programming. They&#39;ll need good training, and (although I have never seen this) I think that they&#39;ll need a lot of baby-sitting when they start.<br>
<br>When you write that &quot;DSL ... gets built up over time&quot; I think I know what you are referring to, but this is more a hint on the way a DSL might be developed, well before it is released for writing rules for production. Changing a DSL - even by just adding new phrases - is tricky due to the way DSL parsing works.<br>
<br>All of this does not mean that it cannot be done or that you cannot do it. Mostly, it is the result of developing a DSL with the intent of demonstrating that rules can be written in a language that can be read and understood by domain experts. (Note what the experts are <i>not</i> expected to do.) According to this, I have the following checklist for a DSL developer:<br>
<ol><li>Design a simple object model with clean linkage between related objects.</li><li>Know about all rule condition and consequence patterns that will need to be written.</li><li>Make sure that you fully understand the way DSL parsing works.</li>
<li>Decide about the way the BAs will write the rules (GUI editor or text editor).<br></li></ol>After (2), you still have the option of using spreadsheets or template-based rule authoring. If 80-90% of your prospective rules can be written by BAs that way, you may still decide to have the rest written by programmers.<br>
<br>IMHO, none of the aforesaid is specific for Drools.<br><br>Cheers<br>Wolfgang<br><br><br><br><br><div class="gmail_quote">On 1 February 2011 17:08, cclark01 <span dir="ltr">&lt;<a href="mailto:chris.clark@teranet.ca" target="_blank">chris.clark@teranet.ca</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
My company is looking to use Guvnor in a new application we&#39;re writing.  Part<br>
of the appeal is the idea that Business Analysts will be able to go and<br>
write rules by themselves.  However, in doing a small proof-of-concept, it<br>
appears that you need intimate knowledge of the object model in order to<br>
write any meaningful rules.<br>
<br>
I&#39;ve read up on DSL and it looks like that might help things, but it also<br>
sounds like DSL is the kind of thing that gets built up over time.<br>
<br>
So... what&#39;s your experience?  Do BA&#39;s or Developers write the rules in your<br>
applications?  Does the complexity of the object model play a role in who<br>
can write rules, or is it just a matter of training?<br>
If you&#39;ve created a DSL, how easy/quick was it?  If not, any particular<br>
reason why not?<br>
<br>
I&#39;m looking for some &quot;real life&quot; experiences so that we can have appropriate<br>
expectations going into the project.<br>
<br>
Thanks,<br>
Chris<br>
<font color="#888888">--<br>
View this message in context: <a href="http://drools-java-rules-engine.46999.n3.nabble.com/Who-writes-your-rules-Dev-vs-BA-tp2398166p2398166.html" target="_blank">http://drools-java-rules-engine.46999.n3.nabble.com/Who-writes-your-rules-Dev-vs-BA-tp2398166p2398166.html</a><br>


Sent from the Drools - User mailing list archive at Nabble.com.<br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">https://lists.jboss.org/mailman/listinfo/rules-users</a><br>
</font></blockquote></div><br>