Mike Gualtieri is always interesting over at the Forrester Blog For Application Development & Program Management Professionals. This week he has a post called Do Application Developers Need To Change Their Ways? In the post he asks developers to look at the person in the mirror (he's been listening to Michael Jackson's song "Man in the Mirror") and suggests four ways for them to change.
If you read this blog regularly you will know that I often spend time trying to get application developers to adopt business rules and to focus on how business rules technology and a decision management approach can help develop smarter, simpler, more agile processes and systems. With this in mind I thought I would comment on how my recommendations would support Mike's four changes:
- Understand the business in your bones
First, understand in particular the business decisions that matter to the systems you are building. These decisions are critical flex points in the system because they rely on both business know-how and external regulation and because decision making changes constantly, making decisions a critical point for agility. Secondly make sure to adopt business rules and a business rules management system (BRMS) because that will let you bring the business folks who already understand the business into the development process. If the business is writing rules that you and they can both read, the system will be more accurate and you will gain understanding.
- Be a developer not a coder
The use of business rules, a higher level abstraction for business logic, is a key enabler for being a developer not a coder. Writing atomic, declarative business rules instead of wads of code reduces the time to market for your ideas and reduces the maintenance they will need later. Business rules and other decision management technologies let you develop the logic your business needs.
- Use new technologies, but only when they make a difference
And use old technologies that you have been neglecting, especially if the performance or reliability of those technologies was a reason for neglecting them. Business rules have been around a while. Many developers saw expert systems years ago and rejected them for perfectly valid reasons at the time. But times change, technologies evolve and business rules have become a robust, proven, reliable technology for managing the decision making logic in your systems.
Meanwhile analytics and optimization technologies are ready for use even in transactional and real-time systems. And while the algorithms are not always new, the performance and scalability of modern implementations is very different.
- Become architects again
Focus on the kinds of things your systems must do - execute processes, make decisions, manage information - and use the right technology and approach for each aspect. SOA makes it reasonable to use the right tool/approach for each element and then assemble a composite application. Take advantage of this to use the right kinds of technology for each kind of service. And Decision Services need to be built on declarative, atomic business rules and decision models.
Another great post from Mike. Adopting decision management technologies like business rules are not the only change application developers need to make but they are one such change.