Business Decision Making Factors of Implementation

download Business Decision Making Factors of Implementation

of 15

Transcript of Business Decision Making Factors of Implementation

  • 8/7/2019 Business Decision Making Factors of Implementation

    1/15

    Business Decision Making Factors Of

    Implementation by Renedria A. Welton

    To choose only one implementation factor that is most important is a difficult task as multipleimplementation factors are important and valuable. If I had to select just one implementation

    factor, I would choose ethics.

    Ethics seem to be at the core of all solid business decisions. Without ethics, all otherimplementation factors such as time and communication run the risk of being lost. For example,

    if a pharmaceutical organization implements a decision to omit proper testing of a new drug dueto budget rationale and the drug is defective and kills humans. All planning, communication,

    timelines, and all other implementation strategies are null and void due to the failure to considerethics.

    I am keenly aware that this type of example could occur without the proper implementation of

    communication, for example. However, ethical implementations will always avoid unethicaloutcomes. Professional organizations have a duty to perform ethically. To communicate

    effectively or to meet deadlines is not a duty, simply a courtesy.

    While implementing problem solving techniques, I tend to visualize, diagram and use run lists

    such as to do lists. I hold multiple professional titles and I must keep organization at the corein order to be successful. It takes an exhaustive effort for someone to break my schedule. Most

    problems occur when organization is lacking. So organization implementation is vital to thesuccess of a modern day professional. Organizational skills must be at the forefront every

    professionals agenda. So many implementation avenues may be taken, but ethics should alwaysbe at the origination.

  • 8/7/2019 Business Decision Making Factors of Implementation

    2/15

    What Are Factors Affecting Decision Implementation In An

    Organization?

    Before making and implementing a decision, a lot of planning and direction are required so that all the

    aspects of a particular problem get properly covered. Other than that care must be taken that the

    respective departments which implementing the decision have all the resources. It is also important that

    you know exactly what your objective of making the decision is. This will help you make the decision and

    implement it as it would be a step to your goal achievement. The dedication of the leadership,

    management and other employees is also an important factor.

    Implementation of business rules and

    business processes in SOA

    One of the main drivers for using of the Service Oriented Architecture (SOA) is to increase enterprise

    agility and minimize the impact of inevitable changes. This is typically achieved through separating the

    implementation artifacts that change often from the ones that are fairly stable. Common techniques to

    support such separation are decomposition and encapsulation. In the case of SOA decomposition leads

    to the definition of services, representing more stable artifacts, and business processes, representing

    more fluid ones [1]. In a typical SOA implementations, services do not change often, but are composed

    and recomposed fairly often to build/modify enterprise solutions.

  • 8/7/2019 Business Decision Making Factors of Implementation

    3/15

    Such decomposition does not directly address the positioning of the business rules - anotherfrequently changing component of the overall IT implementation. Based on the fact that business

    rules can change fairly often, one of the widely adopted practices is associating them with thebusiness processes - more frequently changing SOA components. The popularity of such an

    approach is additionally backed by the fact that many practitioners consider business rules as part

    of the broader business process management (BPM) picture and tend to bundle business rulesand business processes together1. As a result many consider business rules engines and businessprocess engines as two competing technologies for business processes/business rules

    implementation. This is based on the following popular misconceptions:

    y Business rules and business processes are sharing the same design and implementation model.y Business rules and business processes deliver the same artifacts and can be used the same way.

    In this article we will outline commonalities and differences between business rules and business

    processes and present some guidelines on positioning business rules in SOA implementation andappropriate usage of each technology.

    Business rules

    "Business rules describe the operations, definitions and constraints that apply to an organization

    in achieving its goals. These rules are used to help the organization to better achieve goals,communicate among principals and agents, communicate between the organization and

    interested third parties, demonstrate fulfillment of legal obligations, operate more efficiently,automate operations, perform analysis on current practices, etc" [2]. Business rules can be

    viewed as a collection of business practices, defining the actual implementations - business logic.Implementation of such logic can often be simplified through the usage of specialized tooling -

    business rules languages and business rules engines.

    A rules language is a domain specific language, containing constructs for defining of the

    business rules. These constructs can vary greatly depending on the business requirements. Thescope of possibility ranges from a textual description (using a rule specific language or plain

    English) to the use of decision tables or decision trees. In some cases, it is also possible tographically determine the sequence of execution of those business rules using a rule flow. The

    last one is often the cause of the confusion between business processes and business rules.Although they look similar, business process flows are defining the execution sequence of

    services which may run across many different and heterogeneous systems. On the other hand,business rule flows are limited to the orchestration of the rules execution sequence.

    Sidebar. Domain Specific Programming Languages

    "A domain-specific programming language (DSL) is a programming language designed to be

    useful for a specific set of tasks. This is in contrast to general-purpose programming language(GPL), such as C, Java, C#, etc."[3]. DSLs are typically tailored specifically to a specific

    problem domain. As a result it captures precisely the domain's semantics. In order to furthersimplify their usage, DSLs are usually highly declarative and describe what needs to happen,

  • 8/7/2019 Business Decision Making Factors of Implementation

    4/15

    rather then how it is done (the latter is responsibility of the language implementer). Because ofthis, DSLs often are considered (executable) specification, not programming languages.

    The key advantages of a specific DSL are domain specific abstractions and notations as well a

    restricted (or rather focused) expressive power. There are several reasons that make DSLs more

    attractive than GPLs for some classes of applications [4]:

    Easier programming

    Because it is uses a higher level of abstraction, which is well aligned with a problem domain anddefines what to implement, rather then how to do it, a DSL program is generally more precise

    (due to its alignment with the domain) and easier to implement and understand (not only bydevelopers, but also by domain experts) compared to GPL implementation. This typically leads

    to a shorter development time and less expensive maintenance. Additionally DSLs are comingwith high level debagging support, allowing for to analyzing and debugging code directly on the

    domain concepts level.

    Systematic re-use

    Reuse was always one of the ways of improving implementation of new applications andshortening development cycle. Although GPLs promote reuse through usage of standard anddomain - specific libraries, their actual usage is left to the developer. DSLs, on the other hand,

    enforce reuse of the libraries that are utilized by the DSL implementation. Additionally, becauseDSLs are defined for particular problem domains, they capture and consequently reuse specific

    domain knowledge.

    Easier verification

    With advances in software engineering, formal code verification is playing an important role insuccessful development. While in the case of GPL, such verification only ensures that the codewill execute, in the case of DSLs, due to their compactness and domain alignment, validation can

    often ensure that the code will produce correct results.

    Increased cooperation

    The use of the same business related semantics across the organization facilitates the sharing ofthe information and reduces the risk of mismatch between the business logic actualimplementation and the business users' expectations.

    Business rules engines support evaluation of rules expressed in a corresponding rules language.

    Their main functionality is to manage a collection of facts and to evaluate rule sets comprised ofone of several predicates. Dealing with large numbers of facts and efficiently evaluating

    predicates is one of the key challenges of rule evaluation.

    Based on the business rules definitions, expressed in the business rules language, business rules

    engines typically provide some mapping mechanism to generate lower level execution code -

  • 8/7/2019 Business Decision Making Factors of Implementation

    5/15

    usually general purpose language classes. Those classes can be used as a partial implementationof a larger business component. An immediate consequence of such an approach is that the

    business rules' implementation lifecycle is aligned with the lifecycle of the business componentto which they belong to.

    Flexibility and modifiability of business rules implementations is achieved through the rulesmaintenance support enabling dynamic changes (using the original rules language). Such abilityprovides a convenient way to dynamically modify business rules without rebuilding and

    redeploying implementation to quickly adapt to changing business environments.

    Declarative programming (i.e., prescribing the what) represents the paradigm of choice for rules:something gets triggered (i.e., an action) based on whether a rule evaluates to true or false. The

    control flow (i.e., the sequencing of these invocations) is implicit and emerges as the rules fireoff.

    Business Processes

    "A business process is a set of linked activities that create value by transforming an input into a

    more valuable output. Both input and output can be artifacts and/or information and thetransformation can be performed by human actors, machines, or both" [5]. Activities comprising

    a business process do not include any process-level decision making and are not worth furtherdecomposing

    2.A business process definition can be viewed as a recipe for achieving a specific

    goal. Similar to the case of business rules, implementation of business processes can besignificantly simplified using business processes DSLs and specialized business process engines.

    Business process programming requires specifying the sequence and conditions of execution of

    process activities (control flow) and data exchanges between activities (data flow). Typical

    language constructs allow for defining a process either in the form of extended flowcharts orfinite state machines.

    The business process definition, expressed in a business process language, is typically directly

    executed by a business process engine. (An engine internally can either compile or interpret thebusiness process language. The business process engine supports coordination of process

    activities execution and propagation of data between them. Managing of the simultaneousexecution of multiple asynchronous process instances under resource constraints is one of the

    key challenges of business process engines.

    As a result business process implementation is separated from the implementation of activities,

    orchestrated by a business process. This provides capabilities of introducing changes intobusiness process with no or minimal impact to the underlying activities, thus providing a higherlevel of modifiability to the overall system.

    Imperative programming (i.e., prescribing the how) represents the paradigm of choice for

    business processes implementation: something gets invoked after something else because thebusiness process definition prescribes their sequence. The control flow is explicit.

  • 8/7/2019 Business Decision Making Factors of Implementation

    6/15

    In order to remain competitive a company needs to constantly change and improve its businessprocesses. Factoring business processes out of the applications and using a business process

    language and engine for their implementation allows the simplification of the implementationand modifiability of enterprise business processes.

    Decision considerations

    Determining the right technology becomes critical when it comes to best supporting business

    requirements and achive the optimal architectural qualities. At the end of the day, assuming that

    appropriate DSL and engine are used, the implementation choice between business rules andbusiness process paradigms depends on the two major factors:

    y Capabilities of the appropriate enginey Decomposition of the overall system.

    When it comes to the capabilities of the rules vs. business process engines, the following should

    be considered:

    y Synchronicity. Rules evaluation is synchronous, and Rules Engines are designed to evaluatebusiness rules as quickly as possible. Processes, on another hand, are typically long running and

    asynchronous in nature. The strength of the process engines is the ability to support long-

    running processes, where actions can take a long time to complete. As a result they provide

    mechanism required to deal with asynchronous invocations, such as request/response

    correlation, compensations, etc.

    y Statefulness. Rules engines are stateless; when a rule fires an engine typically pulls its inputseither from the input parameters or the knowledge base, evaluates it, and then either updates

    the knowledge base or propagates results to the output. Business process engines are

    specifically designed to hold the state of each active process instance, hydrate and store it

    between activities invocations and re-hydrate it for the execution of the next activity.

    y Determinism. The Rules Engine fires rules whose conditions evaluate simultaneously. However,their ordering is non-deterministic. Business processes are, for the most part, deterministic

    3,

    and people typically add checks and balances to ensure determinism.

    y Granularity. Although the business rules themselves can be used at the company level, they areusually considered as components. As such, they provide a smaller granularity and offer a higher

    level of flexibility from a maintenance and deployment perspectives. Business processes on the

    other hand can be more viewed as stable assets that are less likely to go through drastic change

    over time.

    As defined in [1], SOA design is based on the top down decomposition of the enterprise business

    model, defined as a collection of the top level business processes. In this approach (Figure 1) toplevel business processes define a set of activities, which constitute high-level business services.These services, in turn, are often considered to be processes, which leads to the recursive

    decomposition. Finally, services are implemented as a coordination of a set of components,which represent leaf elements of this decomposition.

  • 8/7/2019 Business Decision Making Factors of Implementation

    7/15

    Figure 1 Hierarchical decomposition

    Different implementations of business components in this case may include "wrappers" ofexisting enterprise functionality

    4, new implementation using general purpose programming

    languages, business rules based component and orchestration based components.

    Based on this decomposition approach above, the following usage of business process/rules aretypically present in SOA implementations:

    y Business processes implementing business services orchestrationy Business rules implementing business components, which are part of service implementationsy Business components, responsible for orchestration of other components within a given

    services.

    Finally, not reflected in this decomposition is the case of using business rules for implementation

    of decisions in business process execution.

    What is the appropriate technology?

    Based on the above comparison of business processes/ business rules engines capabilities and

    SOA decomposition the following recommendations can be made for technology choice:

  • 8/7/2019 Business Decision Making Factors of Implementation

    8/15

    Service Orchestration

    Service orchestration typically deals with long-running and asynchronous invocation of external

    activities/services. Today's business rules engines do not support these capabilities. Businessprocess language/engine, designed specifically to define and execute long-running coordinations

    with asynchronous invocations is the most appropriate paradigm for the service orchestration.

    Business components implementation

    When it comes to implementation of business components a case of short - lived transactional

    implementations with only synchronous interactions - the line between business rules/business

    processes becomes blurry. Often the same problem can be defined and consequently solved witheither technology.

    Let's consider the example of claim handling charge calculation5.The claim can be either subject

    to the flat handling charge, or loss conversion factor (LCF). In the first case the flat charge can

    apply to either claim as a whole or each suffix of the claim separately. The combination of thesedifferent options creates three distinct claim handling charge calculation rules. This rules set can

    be represented either as a set of rules (Figure 2) or as a process (Figure 3).

    Figure 2 Representation of claim handling charge calculation using rules

  • 8/7/2019 Business Decision Making Factors of Implementation

    9/15

    Figure 3 Representation of claim handling charge calculation using process

    As a result, based on the design-time paradigm, one might consider using either a rule set or a

    business process approach for solving the same problem.

    y The advantage of using business process approach in this case is simplified support forinvocation of external activities (services).

    y The advantage of using business rules approach in this case is the ability to change rules withoutrecompiling and redeploy of the business rules components and to reuse the implemented

    business logic at the component level (as opposed to the service level when dealing with

    business processes).

    Implementation of business rules controlling business process execution

    In the case when rules define the execution of business process itself, it is necessary to consider

    their complexity and change frequency.

    Modern business process engines usually provide capabilities for evaluating simple rules, either

    built in the business process language or by invocation of general purpose languages. Thus it isentirely feasible to implement "simple" business rules in the business process engine. In this case

    however, any change in the rules will require a full testing and deployment of the businessprocess. As for complex business rules, they typically need to be extracted from the process and

    implemented as a separate service, using a rules engine.

    Another typical scenario is the one when the business process itself (process structure) is fairly

    stable, but the rules, governing activity transitions, although fairly simple, can change fairlyoften (see Figure 4). In this case externalizing rules implementation as separate services,

    implemented using a rules engine can significantly improve overall solution maintainability. The

  • 8/7/2019 Business Decision Making Factors of Implementation

    10/15

    ability of business rules to support dynamic changes in business rules, allow, in this case, tomodify business process implementation without changing and redeploying it.

    Figure 4 Typical change of rate for services, processes and rules

    Overall SOA implementation

    Figure 5 shows typical usage of business process and rules engines in the SOA implementation.

    Figure 5 Typical usage of business process and rules engines in SOA

  • 8/7/2019 Business Decision Making Factors of Implementation

    11/15

    As we can see from the figure above a prevalent pattern in SOA implementation is employmentof rules engine as part of service implementation and the use of business process engines for

    service orchestration. In cases when rules control activities whose coordination is complexenough, or change much faster the process itself, so that they require usage of the rules engines,

    these rules are usually externalized as a special rules service, invoked by business process

    engine. Because this service invocation can be potentially expensive (network calls) some of thebusiness process engines, for example Biztalk 2004 from Microsoft, WebSphere Process Serverfrom IBM, Smart BPM Suite from PegaSystems and others incorporate both business process

    and rules engine in a single application.

    Conclusion

    Business process and business rules should not be treated as competing but rather as

    complementary technologies. Business processes define a set of activities that need to beperformed in order to perform a business functions. Business rules provide a value add approach

    to implement those activities by offering a superior level of flexibility and configurability to

    adapt to rapidly changing business environments.

    References

    1. B. Lublinsky.Defining SOA as an architectural style.IBM Developworks, January 2007

    2.Wikipedia, the free encyclopedia.Business rules.

    3. Wikipedia, the free encyclopedia.Domain-specific programming language.

    4. Jocelyn.Frechot. Domain-Specific Languages - An Overview.

    5. Wikipedia, the free encyclopedia. Business process.

    6. Business Process Definition Metamodel. Revised Submission to BEI RFP bei/2003-01-06.

    1 For example, a Business ProcessDefinition Meta Model [6] developed by IBM, Adaptive and BEA,

    combines both business processes and business rules into a single model.2Decomposition requirements, in this case, are discussed from the point of view of the process itself,

    not implementation. For the purposes of implementation an activity can be further decomposed using

    either lower level processes or components.3

    A notable exception from deterministic execution is the case of parallel activities execution. In this

    case, the order of activities execution is non deterministic in most implementations.4

    Those are typically EAI-based integrations of some of the functionality of existing enterprise

    applications5This example was provided by SadasivanKrishnamoorthy

  • 8/7/2019 Business Decision Making Factors of Implementation

    12/15

    What is Decision Implementation?

    byV S Rama Rao on January 3, 2010

    Putting a decision into action includes conveying the decisions to the persons who will beaffected by it and getting their commitment to it.

    What determines the best choices?

    The critical act of choosing the best alternative from among those enumerated and assessed.

    Since we determined all the pertinent factors in the decision, weighted them appropriately andidentified the viable alternatives, we merely have to choose the alternatives that generated the

    highest score. In one case the decision maker would choose the Skoda Octavia Car. On the basisof the criteria identified, the weights given to the criteria and the decisions makers assessments

    of each vehicles achievement on the criteria, the Skoda scored highest (224 points) and, thus

    became the best alternative.

    Although the choice process is completed in the previous step, the decision may still fail if it is

    not implemented properly. Therefore, this step is concerned with putting the decision into action.Decision implementation includes conveying the decision to those affected and getting their

    commitment to it. Groups or committees can help a manager achieve commitment. The peoplewho must carry out a decision are most likely to enthusiastically endorse the outcome if they

    participate in the decision making process.

    What is the last step in the decision process?

    The last step in the decision making process (step 8) appraises the result of the decision to seewhether it has corrected the problem. Did the alternative chosen in step 6 and implemented instep 7 accomplish the desired result?

    Making Decisions: The Rational Model

    Rational: Describes choices that are consistent and value maximizing within specifiedconstraints.

    Managerial decision making is assumed to be rational in that managers make consistent, value

    maximizing choices within specified constraints. In this article, we take a close look at the

    underlying assumptions of rationality that determine how valid those assumptions actually areand then review the role of creativity in decision making.

    A decision maker who was perfectly rational would be fully objective and logical. He or shewould define a problem carefully and would have a clear and specific goal. Moreover, this step

    in the decision making process would consistently lead toward selecting the alternative thatmaximizes that goal. Exhibit summarizes the assumptions of rationality.

  • 8/7/2019 Business Decision Making Factors of Implementation

    13/15

    Assumptions ofRationality:

    Rational Decision Making leads to,

    1) The problem is clear and unambiguous

    2) A single well defined goal is to be achieved3) All alternatives and consequences are known4) Preferences are clear

    5) Preferences are constant an stable6) No time or cost constraints exist

    7) Final choice will maximize economic payoff

    Certainty: The implication that, in making a decision, the decision maker knows the outcome of

    every possible alternative.

    Risk: The probability that a particular outcome will result from a given decision.

    Remember that the assumptions of rationality often do not hold true, because the level ofcertainty that the rational model demands rarely exists. That is, certainly implies that a manager

    can take an accurate decision because the outcome of every alternative is known. In the realworld, however, most managers must try to assign probabilities to outcomes that may result. We

    call this process dealing with risk. When decision makers do not have full knowledge of theproblem and cannot determine even a reasonable probability of alternative outcomes, they must

    make their decisions under a condition of uncertainty.

    Rather than depending on other retailers to sell apple products, apple CEO Steve Jobs envisioned

    a buying experience as good as our products when deciding to launch Apple retail stores. Jobs

    creativity store design and service includes offering customers an interactive buying experienceand the Genius Bar, where a technical support staff provides tips and advice on product usage,answers customers and repairs products when necessary.

  • 8/7/2019 Business Decision Making Factors of Implementation

    14/15

    Six factors of success for supply chain software implementation

    I recently came across a Tompkins Associates article entitled Seven Best Practices for SupplyChain Execution Implementations and it got me thinking about my experiences in implementing

    supply chain software and what has made one customer more successful than another.

    I believe it boils down to 6 factors:

    1. Priorities2. Decision criteria3. Ownership4. Resources5. Flexibility6. Testing

    1. PrioritiesMost companies have many different supply chain business problems they need to solve to run

    their supply chain more efficiently. Sometimes picking one to work on is very easy, as theproblem is so time consuming and causing so much pain that it is the obvious choice. Therefore,

    one might assume that just by focusing on one problem that the project scope is limited enoughto ensure success. However, my experience has been that even within that one problem there

    may be many ways to solve it, some easy and some so complex that it would be difficult tomaintain and/or would require a significant amount of business process change.

    My advice is for customers to walk before they run, try as much as possible to implement the

    simple, elegant solution rather than the complex solution. Typically, this still provides significantimprovement over the customers as is business process. Once customers find success with the

    simple solution, then it becomes easier to implement additional functionality as the customerresources are more knowledgeable on the solution and better able to support it.

    2. Decision CriteriaOnce a customer has decided they have an urgent business problem to solve, the decision tomove forward typically comes down to one factor: money. While money is an important gating

    factor, it should not be the only factor in what gets implemented. Most successful customershave determined that implementing complex supply chain solutions is a journey and not a one-

    stop trip. Many times, the scope of the customers desired solution is too big for their budget, sothey scrap the project altogether because the total solution doesnt fit in their dollar amount.Rather, reduce the scope to fit the budget until customer resources are proficient with the

    technology and then implement additional functionality over time. In fact, many customersrealize they didnt need all the functionality they initially thought they did.

    3. OwnershipEvery successful project will be supported by a strong Executive Sponsor who can makedecisions quickly and remove any roadblocks for success. This sounds like standard boilerplate

    for successful projects, however if the Executive Sponsor does not instill the concept of

  • 8/7/2019 Business Decision Making Factors of Implementation

    15/15

    Ownership, the project still may fail. The Executive Sponsor needs to ensure that everyone atthe customer realizes that the solution is not a vendor solution, but rather their solution.

    Everyone needs to feel ownership of the solution and drive that down to the user level, so theusers will adopt the new system as a new way of doing business rather than feeling like they are

    forced to use a new tool.

    4. ResourcesThis is another common factor in the success of projects, but it deserves to be restated. If a

    customer cannot commit the appropriate level of subject matter expertise (SMEs) to the project,the project will either die during implementation or fail during user adoption. It can be difficult

    to get time from key resources, which is why it is important to ensure the scope of the initialproject matches the time commitment allocated by key SMEs.

    5. FlexibilityGiven the complex nature of a companys supply chain and its ever changing needs, it isimportant for customers to be flexible when implementing a solution to a business process or

    processes. As mentioned, a customer decides on the scope of the solution prior to implementingany technology to solve it; however, once a customer begins to design the solution with the

    technology, they may find the scope should be changed. This can be due to the fact they are moreknowledgeable on the technology or that the customer had a change in their business.

    Customers should have the courage to go back to their Executive Sponsor and tell them that they

    may have found a better way to do things than was originally planned. Many times, customersfear the Change Request and view it just as a way for whomever is implementing the solution

    to get more money. Change Requests on these types of projects should be related to the customerdetermining there might be a better solution. Customers who are flexible often times find

    themselves with a better solution than was originally planned.

    6. TestingTesting is extremely critical. All use cases of the solution should be defined by the key users and

    the test plan should be executed by the key users of the solution. This enables those key users tofeel ownership of the solution and really understand how the solution will work in production.

    Too many times Ive seen customers not thoroughly document all use cases and expectwhomever is implementing the solution to execute the test plan, which typically leads to poor

    user adoption.

    Monique Rupertis vice president, professional services forKinaxis, provider of the on-demand

    RapidResponse service that empowers multi-enterprise manufacturers with collaborative and

    integrated demand-supply planning, monitoring, and response capabilities.