07 December 2009

The DRD

People are much better at extracting information from pictures than from words, which is why diagrams are used in every professional sphere.  IT is especially blessed with diagrams, UML alone providing 13 different types.  Unfortunately, I have found none of these to be much use for defining decisioning requirements.  Use case diagrams are intended for use in requirements definition, but treat the system as a black box rather than exposing the structure of its decisioning .  ERDs can be used for capturing knowledge structure (as Barb von Halle and Larry Goldberg have elegantly shown in their Decision Model) but are more useful at the design stage.  The subject of this posting is the Decision Requirements Diagram (DRD), which I use as a tool for capturing the scope and structure of the required decisioning at the very outset of a rules project, before any rules are discovered.   This diagram, with its associated documentation, is central to the DRA method.

Definition

A DRD is a network diagram (technically speaking, a directed acyclic graph) which shows the information required for one or more decisions. It can be thought of as a decomposition of some decisioning into a set of related decisions and areas of supporting information.  Below is a simple example of a DRD for a decision on how to deal with an application for a secured loan. This example is unrealistically simple for most real applications, but shows all the principal features of a DRD.

An example DRD


It contains three types of nodes: decisions, knowledge and data. These are linked by arrows which indicate requirements: an arrow from A to B indicates that A is required for B. So, for example, the decision What is the risk? requires three pieces of information:  the result of the decision What is the loan to value ratio?, business knowledge expressed as scorecards, and bureau data.  By convention the nodes are arranged so that the arrows point upwards. Note that the diagram is not necessarily a tree: a single piece of information (e.g. the loan to value ratio or the requested loan data) may be required by multiple decisions.

Components

The DRD contains only decision nodes, knowledge nodes, data nodes and arrows.

Decision nodes represent decisions, possibly to be taken by a rule service, but not necessarily:  they might alternatively be made by a human decision-maker or by some other system component.  Each decision uses a set of data to generate a set of data.  The logic used to make the decision is described in one or more knowledge nodes.  Decision nodes are described in increasing detail as the project progresses, but the initial colloquial description will include:
  • Name:  a short noun phrase used as label for the decision, e.g. Application Eligibility
  • Question & Answer:  a natural language question characterizing the decision, e.g. Is the application eligible?, with a defined set of answers, e.g. {ACCEPT, REFER, DECLINE}
  • Description:  a definition of the decision-making logic or process, e.g. Applicant details and bureau data are checked against eligibility rules to confirm that the application is eligible in principle for approval.
Knowledge nodes represent areas of business knowledge required for the decisions. This knowledge may currently exist as human expertise, printed documents etc.  In a decision-making system such knowledge may be represented formally as (for example):
  • Rules:  business policies which must be “discovered” or "harvested"
  • Scorecards:  predictive models which may be generated using analytics
  • Equations or algorithms:  precise definitions of numerical calculations.
Note that it is possible to identify the areas of knowledge required for a project without identifying any specific rules or defining detailed calculations, and it is usually possible to estimate their size and complexity (e.g. numbers of rules or scorecard characteristics).

Data Nodes represent areas of data required by the decisions, which might be:
  • Specific data relating to the case being processed
  • Reference data held externally (e.g. on databases) or internally (e.g. in decision tables).
Again, at this stage we are interested in identifying areas of data, not all the specific data items, but we might be able to say roughly how many items were involved.

Arrows represent the fact that a piece of information is used by a decision. Requirements are not conditional; the arrow must be present if the piece of information is ever required to make the decision.

Uses

The main uses of the DRD will be described in detail in subsequent postings, but here is a taster.

The definitions of the individual nodes are directly useful in themselves:
  • Decision nodes provide a clear definition of the functional requirement
  • Knowledge nodes identify all the areas of knowledge discovery required for the project
  • Data nodes identify all the data to be made available and modelled.
The arrows between the nodes have important implications for the design, including:

  • Data flow:  if the source of some information is external to the system component in which the decision is to be implemented, a data interface is required
  • Ordering of tasks:  if decision A requires the result of decision B, B must be evaluated before A.
Drawing a boundary around a subset of nodes allows a very clear definition of what is inside and what is outside the boundary, and the lines crossing the boundary indicate the interfaces necessary. This allows:
  • Project scoping:  by drawing a boundary around all the nodes to be implemented in the project
  • Division of functionality:  by drawing boundaries between a number of rule services and/or other system components
  • Resource allocation:  by dividing nodes between teams or individuals
  • Iterative development:  by partitioning the functionality of the rule service between a number of increments.
Here is an example of how the DRD may be used to define scope of supply.  This example shows a fairly common scenario:  all the decision and knowledge nodes are inside the boundary (i.e. rule services must implement all the defined decisioning) and all the data nodes are outside (i.e. all the defined data must be provided by the client infrastructure to the rule services).

Scope boundary on the DRD


And here is an example of using DRD to define increments for iterative development.  Here the decisions and knowledge nodes are divided into three increments, each providing a distinct functional benefit.  Decision Requirements Analysis has allowed this division to be planned so that the three increments are “loosely coupled”:  i.e. connected by few arrows.

Increments on the DRD


The DRD is produced using a simple, structured workshop technique called DRAW.

43 comments:

  1. "This is a very powerful model and we at IDIOM can attest to its effectiveness. We take a slightly different, but more or less equivalent approach. Our data nodes are described in schemas, and decisions in 'decision models'. A key difference is that we generate code directly from this structure for an implementation without fingerprints. I think it is important that the primary driver for decision models is business policy, and that this modelling can occur when policy is defined rather than when systems are defined; that is, a decision model is a business policy artifact not a systems design artifact. The implication is that decision models are a new class of system CONTENT, not system component. Have a look at www.idiomsoftware.com for more info; we would be happy to let you have a copy of IDIOM if you want to have a play . . ."
    Mark Norton

    ReplyDelete
  2. I agree wholeheartedly that decision analysis is not a design activity owned by the developer but a requirements activity owned by the business. There is a lot of resonance between DRA and the Decision Modelling approach you describe for IDIOM (although I suspect you are less wedded to the idea of distinct requirements definition than I am, and more to agile development?). And yes, thank you, I would be very interested to take a look at the tool; I'll contact you directly about this.

    ReplyDelete
  3. Alan, I really like what you've done here. I've done this sort of thing in what I called a "brown paper" exercise with sticky notes. Colored note paper denoted the same sorts of entities you have here. I find it very effective.

    ReplyDelete
  4. Thanks. Yes, I expect most consultants will have done something similar at one time or another in the early stages of requirements gathering. What I have tried to do here is add a layer of structure and formality: defining a diagram with a clear semantics, a repeatable method for creating it, and some "best practices" for exploiting the information collected in it. Hopefully I'll have time over the holiday period to write about some of these...

    ReplyDelete
  5. Alan, I to have developed a decision-centric approach to business modeling. I come at it however from a background of organizational consulting with just a bit of IT knowledge; therefore some of the IT jargon and issues are over my head. We seem to share the view of data being the product of one decision and being required by one or more other decisions with the resulting directed graph. However, I don't see the necessity or utility of making your distinction between data and knowledge. I regard all these a data. As such, they too are products of a decision used by yet other decisions.

    I believe I have usefully extended this decision-cenrtic schema by identifying five roles which individuals play in a decision and encoding of the role behaviors in role logic. I'd be happy to share my work with you if you have an interest. I am retired but still interested in these issues, if only to keep my brain functioning.

    Paul Konnersman
    [last-name at]alum.mit.edu

    ReplyDelete
  6. This is a very interesting point, Paul. Yes, at a sufficient level of abstraction knowledge and data are equivalent, since all forms of knowledge may be represented as data structures (at least, all the forms which we will be building into a decision service). I treat them separately in the DRD because it is primarily a tool for use in decision service implementation projects, and in this context knowledge and data have different design implications and call on different project resources. For example knowledge areas are implemented as (e.g.) rulesets and require rule discovery and development tasks, whereas data areas are implemented as objects and require modelling and data integration tasks. The other distinction is that data are used by processes at run-time, whereas knowledge is used at compile time, and combining these in a single dataflow diagram is confusing.

    However, stepping outside this specific domain into the broader sphere of Decision Management it is important to see knowledge as the output of processes, especially with respect to analytics where a modelling process takes data as input and produces knowledge (models) as output. I have used the DRD to show data dependencies where a modelling process intermittently updates the models being used by a decisioning process. I can see that a similar approach could be used to show the human processes involved in updating rule sets which model human expertise, so I’m intrigued by your identification of distinct roles for individuals involved in decisions, especially if these are expressed formally, and would like to see your work.

    ReplyDelete
  7. ​White Board is sturdy with perfect marker writing surface in front and back is laminated to make water-proof surface. Board has attractive anodized aluminium framing and its back is provided with hooks for wall hanging .In this blog is good information.

    ReplyDelete
  8. Qatar is one of the leading shopping destination brings the Hala fashion in western asia's arab state Qatar by means of offering the top class branded .Doha, Qatar encapsulates a huge numbers of shopping options Ladies designer bags Qatar . thanks for Sharing Detail.

    ReplyDelete
  9. Thanks for sharing in detail. Your blog is an inspiration! Apart of really useful tips, it's just really ! This post will be effectively Just about everything looks good displayed. Visit - Black mark credit loans

    ReplyDelete
  10. I truly like and welcome your blog entry, thanks once more. Need some more stuff. New restrictive tune by Music MG, this is a decent tune.

    Metal Rakor

    ReplyDelete
  11. This comment has been removed by the author.

    ReplyDelete
  12. Thanks for the valuable feedback. I think that strategy is sound and can be easily replicable.

    ------------

    Corporate video

    ReplyDelete
  13. Hey, It really is incredibly fantastic and informative website. Good to discover your site Very well article! I’m simply in love with it. Sydney City Tree Management provide Remove tree Sydney and other arborist and tree services throughout the greater Sydney area.

    ReplyDelete
  14. I read this post completely concerning the difference of latest and previous technologies, it’s awesome article.
    Professional photo editing services

    ReplyDelete
  15. A number of viewers are keen to watch comic video clips, but I like to watch terrible videos on YouTube.
    Fluchtplan

    ReplyDelete
  16. Hello! This is my first visit to your blog! We are a team of volunteers and starting a new initiative in a community in the same niche. Your blog provided us useful information to work on. You have done a outstanding job!
    zwangerschapsyoga amsterdam oost

    ReplyDelete
  17. This web diary is contrast interesting Very capably made information. It will be huge to everyone who uses it, including myself. Thankful Hi!This is particularly useful post for everyone. Thankful to you so much this post.Just about everything looks incredible appeared
    Inventory control accounting software

    ReplyDelete
  18. Inconceivably motivational to get some answers concerning some individual searching for after their fantasy and persuading the chance to be capable instead of taking after the standard way. I am basically perplexed by the way you without question out evading on each and every little detail. It really will be genuinely going to help me a heavenly offer. A commitment of thankfulness is all together to share your considerations so evidently.
    Aluminium shutters brisbane

    ReplyDelete
  19. I accept there are numerous more pleasurable open doors ahead for people that took a gander at your site.
    New Jersey Acid Neutralizer

    ReplyDelete
  20. Hi! Somebody in my Facebook bunch imparted this site to us so I came to give it a look. I'm unquestionably appreciating the data. I'm bookmarking and will tweet this to my devotees! Awesome blog and stunning outline and style.
    Scuba diving

    ReplyDelete
  21. Astoundingly energetic online diary, I cherished that an incredible arrangement. Will there be an area 2?

    بحث الكفاءات التنفيذية التوظيف المملكة العربية السعودية

    ReplyDelete
  22. Does your blog have a contact page? I’m having problems locating it but, I’d like to shoot you an email. I’ve got some recommendations for your blog you might be interested in hearing.

    -----------------------
    Business management software

    ReplyDelete
  23. The post is created in especially a not too bad way and it includes much profitable information for me. I am happy to find your perceived strategy for creating the post.This was a really uncommon test and in a perfect world I can go to the accompanying one. It was alot of fun and I genuinely had a great time.
    Money Making Roulette Strategy

    ReplyDelete
  24. This comment has been removed by the author.

    ReplyDelete
  25. These all YouTube gaming video instructional activities are truly in flawless quality, I watched out all these along through my partners.Cheap Adults products

    ReplyDelete
  26. Hey! Would you mind on the off chance that I impart your website to my twitter bunch? There's a great deal of people that I think would truly make the most of your substance. If it's not too much trouble let me know.Essential preparing is the level which should be critical in every country for everyone with the objective that he can read and create a paper while doing any trade. We are indicating understudies all the correspondence terms and forming letters for them easily if they don't have sufficient composed work learning.
    Weird stuff on Amazon

    ReplyDelete
  27. This article is truly captivating consequent to there's such an assortment of important data inside. Express appreciation toward you.We require more information like this frequently. Believe you'll routinely redesign this web in the future.We require more data like this once every day. Believe you'll routinely upgrade this web in the future.This article is truly interesting after there's such countless data inside. Thankful to you.

    Term life insurance quotes

    ReplyDelete
  28. It's a striking article in backing of all the web guests; they will exploit from it I am certain.Communion banners wedding banners

    ReplyDelete
  29. Hi, I essentially expected to tell you, you're dead misguided. Your article doesn't look good.
    Jetski dock

    ReplyDelete
  30. My developer is trying to convince me to move to .net from PHP. I have always disliked the idea because of the expenses. But he’s tryiong none the less. I’ve been using Movable-type on several websites for about a year and am anxious about switching to another platform. I have heard great things about blogengine.net. Is there a way I can transfer all my wordpress posts into it? Any help would be really appreciated!

    Triplay Construccion

    ReplyDelete
  31. Link exchange is nothing else but it is simply placing the other person’s website link on your page at suitable place and other person will also do similar in support of you.
    Pretratamiento Fosfatos de Hierro y Zinc

    ReplyDelete
  32. Hi, just wanted to tell you, I enjoyed this blog post. It was funny. Keep on posting!
    Walkways

    ReplyDelete
  33. Its to a great degree splendid YouTube video as far as elements, quite, its quality is truly apparent.
    The gift of giving

    ReplyDelete
  34. I am John, how are you everybody? This article posted at this site is alright.
    Masonry Palm Desert Ca

    ReplyDelete
  35. This is my first time go to see at here and i am truly pleassant to examine everthing at one spot.
    Paragnost amsterdam

    ReplyDelete
  36. Hurrah! At long last I got a site page from where I have the ability to truly get huge truths regarding my study and learning.
    waarzegster amsterdam

    ReplyDelete
  37. This article was veeery well written. The information was well formatted and easy to absorb. good job! if you're wanting to start company, let the best singapore company incorporation firm help you!

    ReplyDelete
  38. Ahaa, its nice conversation on the topic of this post at this place at this weblog, I have read all that, so at this time me also commenting at this place.

    =========================================
    Best website design and development Company In Kanpur

    ReplyDelete
  39. Sometime few educational blogs become very helpful while getting relevant and new information related to your targeted area. As I found this blog and appreciate the information delivered to my database.
    Cisco SG350

    ReplyDelete
  40. "Insightful" is the perfect word to describe this wonderful writing of yours. The artistic blend of this subject with your tone of writing made this a great read. Much love 😘.
    Diaphragm
    Sternum
    Carpal Bones
    Phalanges
    Ulna
    Radius
    Scapula
    Humerus
    Clavicle

    ReplyDelete
  41. If any one wants to be a successful blogger, after that he/she must read this paragraph, for the reason that it includes al} methods related to that.

    -------------------------------
    Packers and Movers in Pune

    ReplyDelete
  42. Nice post and great examples of using for scoping. I'm a BA and definitely see this technique as Business / problem-space, which may provide a shorted route to implementable artefacts.
    I have seen this in specification form at OMG.org and implemented in Camunda modelling products. I have previously been involved in GSN analysis think it's got a pretty close relative in type of graph notation though for a
    different purpose (arguments versus decisions). http://www.goalstructuringnotation.info/

    ReplyDelete