James Taylor's Decision Management

James Taylor

Change Time in Software Development

user-pic
Vote 0 Votes

I saw an interesting piece over on Keith's blog today - Dealing with change during software development - talking about change and how to cope. Keith makes some good points and I just wanted to add my 2 cents. I have blogged about Ch-ch-changing applications before and discussed how teams today should consider systemt to be built to change not built to last. I recommend using business rules as an approach and a technology as it is both a great fit for agile devleopment (see this article on agile and business rules) and a key enabler for agility. I also think it can help business and IT collaborate and become more change tolerant.

No TrackBacks

TrackBack URL: http://www.ebizq.net/MT4/mt-tb.cgi/13094

2 Comments

| Leave a comment

Hi James

Yes, definitely! When creating a system design, I always take care to document the high-level constraints on the system - i.e., the business rules that apply to its objects and processes.

There are then some interesting choices to make, aren't there, depending on the technologies you intend to employ to construct the system.

For example, I have been writing recently about how it is possible to automate business processes without use of a BPM Suite. This argument can be summarized as BPM Suite = Tactical, Model-Driven Design = Strategic.

So if you decide to take what I would call the Strategic route, and build processes using Model-Driven Design, you have a number of choices regarding business rule implementation. At a minimum, the following options should be evaluated as part of technical planning:

  • Employ software design patterns that cleanly separate business logic from other elements of the code;

  • Use a lightweight code library such as JBoss Rules;

  • Employ a validation framework customized to your technology (e.g., Eclipse EMF Validation);

  • Create a business rules layer, either using a rules-specific engine or a more general-purpose engine that incorporates rules support.

Whatever route you choose, the key thing is to make the rules independent of the code, isn't it - the argument you promote, of course, and that I entirely agree with.

--
All the best
Keith

Hi James

Yes. When creating a system design, I always take care to document the high-level constraints on the system - i.e., the business rules that apply to its objects and processes.

There are then some interesting choices to make, aren't there, depending on the technologies you intend to employ to construct the system.

For example, I have been writing recently about how it is possible to automate business processes without use of a BPM Suite. This argument can be summarized as BPM Suite = Tactical, Model-Driven Design = Strategic.

So if you decide to take what I would call the Strategic route, and build processes using Model-Driven Design, you have a number of choices regarding business rule implementation. At a minimum, the following options should be evaluated as part of technical planning:

  • Employ software design patterns that cleanly separate business logic from other elements of the code;

  • Use a lightweight code library such as JBoss Rules;

  • Employ a validation framework customized to your technology (e.g., Eclipse EMF Validation);

  • Create a business rules layer, either using a rules-specific engine or a more general-purpose engine that incorporates rules support.

Whatever route you choose, the key thing is to make the rules independent of the code, isn't it - the argument you promote, of course, and that I entirely agree with.

--
All the best
Keith

Leave a comment

A blog about the use of decision management technologies like predictive analytics and business rules to deliver agility, improve business processes and bring intelligent automation to SOA.

James Taylor

James Taylor blogs on decision management for ebizQ, and is an independent consultant on decision management, predictive analytics, business rules, and related topics.

Sponsored Links

Fico

Subscribe

 Subscribe to this blog by RSS
Subscribe by email:

Recently Commented On

Recent Webinars

    Tag Cloud

    action, adaptive control, agile, agility, alignment, analytics, application development, BDM, bi, BI, bpm, BPM, bpms, BRE, bre, BRMS, brms, busines rules, business agility, business alignment, business analyst, business analytics, business intelligence, business process, business process management, business rules, business rules engine, business rules forum, business rules management, business rules management system, business user, case management, CEP, change, collaboration, competency center, complex event processing, compliance, consumer, context, customer experience, customer-centric, data, data mining, decision, decision agent, decision automation, decision engine, decision making, Decision Management, decision management, decision model, decision service, decision support, decision table, decision tree, decision-centric, decisioning, declarative, development, domain specific language, drools, dsl, eda, EDM, enterprise applications, event processing, extreme personalization, financial services, gartner, hard coding, IASA, In Database Analytics, inferencing, insurance, intelligence, intelligent agent, interaction, jboss, kpi, legacy, legacy modernization, location, mainframe, marketing, MDE, metrics, micro decision, mobile, model-driven, modl, multi-channel, operational BI, operational decision, optimization, pattern, performance management, personalization, Pervasive BI, predictive analytics, predictive enterprise, predictive model, process, programmer, programming, real-time, recommendation engine, report, requirements, retail, rete, rule set, rule sheet, SAP, scenario, semantics, Sensor, service, simulation, smart (enough) systems, smartenoughsystems, smarter systems, SME, soa, software development, statistics, strategic decision, tactical decision, Teradata, traceability, transparency, use case, visualization,

    Monthly Archives

    Blogs

    ADVERTISEMENT