Skip to main content

Notes on complex business “illogic” that makes business software so difficult

Even if a company unifies the technology for integration, they run into problems with differences in business process and conceptual dissonance with the

data. One division of the company may think a customer is someone with

whom it has a current agreement; another division also counts those that had a

contract but don’t any longer; another counts product sales but not service

sales. That may sound easy to sort out, but when you have hundreds of records

in which every field can have a subtly different meaning, the sheer size of the

problem becomes a challenge—even if the only person who knows what the

field really means is still with the company. (And, of course, all of this changes

without warning.) As a result, data has to be constantly read, munged, and

written in all sorts of different syntactic and semantic formats.

Then there’s the matter of what comes under the term “business logic.” I

find this a curious term because there are few things that are less logical than

business logic. When you build an operating system you strive to keep the

whole thing logical. But business rules are just given to you, and without major

political effort there’s nothing you can do to change them. You have to deal

with a haphazard array of strange conditions that often interact with each

other in surprising ways. Of course, they got that way for a reason: Some

salesman negotiated to have a certain yearly payment two days later than

usual because that fit with his customer’s accounting cycle and thus won a couple of million dollars in business. A few thousand of these one-off special cases

is what leads to the complex business “illogic” that makes business software so

difficult. In this situation you have to organize the business logic as effectively

as you can, because the only certain thing is that the logic will change over

time

Comments

Popular posts from this blog

Rand mm 10

https://stackoverflow.com/questions/2447791/define-vs-const Oh const vs define, many time I got unexpected interview question. As this one, I do not know much or try to study this. My work flow, and I believe of many programmer is that search topic only when we have task or job to tackle. We ignore many 'basic', 'fundamental' documents, RTFM is boring. So I think it is a trade off between the two way of study language. And I think there are a bridge or balanced way to extract both advantage of two method. There are some huge issue with programmer like me that prevent we master some technique that take only little time if doing properly. For example, some Red Hat certificate program, lesson, course that I have learned during Collage gave our exceptional useful when it cover almost all topic while working with Linux. I remember it called something like RHEL (RedHat Enterprise Linux) Certificate... I think there are many tons of documents, guide n books about Linux bu

Martin Fowler - Software Architecture - Making Architecture matter

  https://martinfowler.com/architecture/ One can appreciate the point of this presentation when one's sense of code smell is trained, functional and utilized. Those controlling the budget as well as developer leads should understand the design stamina hypothesis, so that the appropriate focus and priority is given to internal quality - otherwise pay a high price soon. Andrew Farrell 8 months ago I love that he was able to give an important lesson on the “How?” of software architecture at the very end: delegate decisions to those with the time to focus on them. Very nice and straight-forward talk about the value of software architecture For me, architecture is the distribution of complexity in a system. And also, how subsystems communicate with each other. A battle between craftmanship and the economics and economics always win... https://hackernoon.com/applying-clean-architecture-on-web-application-with-modular-pattern-7b11f1b89011 1. Independent of Frameworks 2. Testable 3. Indepe