Home
POV
Music
Paradigms
Contact
     
 



By definition, a paradigm is a way to describe the world. Well, I will constrain myself to those parts of the world, where the balance of worthiness is maintained between what is described and who describes it. That excludes almost everything, except - software development. In software development, you never find out which ideas are good and which are bad; thus I will try to stick with the just practical ones.


Software developement takes place in two worlds - people involved in a project live either in one or the other. There is the world of users, of business, where there is lunch and love and fermentation, where people talk to each other and judge reality by other people's opinions. And then there is the world of developers, of class models, aspects, poorly handled exceptions and big endianess - no lunch but cigarette butts in cold coffee at midnight and no love except with inflatable persons. Each of these worlds is the real one to it's inhabitants, each of these worlds has advantages beyond discussion (e.g. in the user world you have freedom, whereas in the developer world you have power). There would be no problem with that, if the two worlds were independent.

They are not.

The developer world cannot exist without hardware, electric power and project budget from the user world. The user world cannot exist without software support of everyday work and heavy weapons against that fiercest of enemies of life itself - boredom; bored people tend to kill each other, and that applies for both worlds.

Thus, failing in software projects is trivial, if not inevitable. But against all odds, some projects succeed. What are the keys to their success?

  • the budget is reinforced indefinitely, even after hope is lost
  • the same man is the only developer and the only user
  • 295th identical project - learning curve matches learning ability
  • budget dump: project results are not an issue

To make a long story unbearable: whenever matching of both worlds never happens, the project is successful. Don't get me started about bold redefinitions of "success" - success simply means the result meets expectations. So eliminate any of the three: Results, expectations, or the meeting of both, and success won't be a problem.

In fact, elimination of expectations will do the bulk of problem solving. Most people think, that, in a software project, expectations come from the user world and are shaped in what is known as the target triangle; they tend to ignore that the developers have expectations, too: their software will conquer the minds and habits of people by sheer ingenuity and asthetic beauty - the power over persistent objects in databases may reach out into the lives of users who got money instead of brains. Be grateful developers develop software, or else they'd be steering aeroplanes into office blocks.

If you meet the expectations from the target triangle plus the developer's dream, there is a chance of success in spite of a result/expectations meeting. But that means motivating people from different worlds for a common effort - a task harder than walking on water. It is impossible unless users are prepared to make a step toward the developer instead of expecting the developer to just convert the requirement book into code.

Now that I mentioned it... requirement books are often written by developers, because if users were clear enough thinkers to describe what they want, they probably could code it themselves. Of course, the requirement book is supposed to be the place where both worlds communicate and clarify misunderstandings; but when it really comes to conflicting expectations, the confrontation is avoided and smoothed out in a paragraph that sounds to both worlds like what they like it to be saying, thereby postponing the confrontation until the final system test - I have seen it.

Developers and users should be more like builders of instruments and musicians - they work together for a common goal of success on stage (this is even more complicated here, because there is a third party - the audience), and everyone feels the part he has contributed and gets credit for it, not just money.

Or they could be more like James Bond and "Q" - same thing here.

This is the main reason, why Open Source development yields better quality for less money - everyone gets what he deserves. And this, in turn, could be a good and simple definition for justice. No success without justice.

Of course, the above musician example has a flaw: musicians have much more expertise about their instrument than a software user can ever hope to achieve. After all, most musicians have invested years of learning. A software user, however, expects instant, intuitive usage and forgets that intuition is every person's individual property and, implicitly, demands a "tool that does what I want - just use your common sense!", again forgetting that common sense would completely disable a developer from being the specialist needed for this task. Applied to music, the demand would go like this: musician: "build me a guitar that can play Country Road!"  builder: "why don't you go buying a bloody karaoke machine?" musician: "I would, but I can't find one that looks like a guitar!"


Just as airlines abbreviate "Passenger" with "Pax", I would like to abbreviate "Manager" with "Max" for the remainder of this section. Max belongs to none of the two worlds mentioned above, Max lives in a world of his own. Many people from the other two worlds are both envious and angry about this, because Max apparently lives a luxury life while ruining everybody else's with grotesquely wrong decisions, based on a grotesquely simplified view of reality. But imagine a job where you have to make decisions about complex problems a single person has no chance to grasp, where the load of responsibility makes you pee your pants before every meeting - thus making you pay a fortune for dry-cleaning your Rolls Royce back seat, and where the loneliness of command makes you talk to the rubberduck in your bathtub. Would you do that job?

Only two types of people can do it. For instance, you could be a genius with both the complexity of your business and the mental and economical needs of your employees in mind, with the ability to see the future and the good looks that make everybody trust you.

OK, that's not you? Then you could be a completely irresponsible person who never imagines the possible consequences nor sees the real consequences of any decision. Just like mountaineers never look down, you'd never think too much. Still, you have to look good, but that's no problem with state-of-the-art surgery.

Oh - you could do that, but is it ethical, you ask? Ethics don't matter: there is a job to do, and there's not enough people who can really do it; not doing this job at all would be an even worse option than to just let somebody pretend he is doing it. The important point is: everybody involved must be aware which type Max really is and play his or her own part accordingly. If Max is a real genious leader, just do what he tells you. If Max is an irresponsible pretender, steer him in your direction by passing the right information to him, so he can convert that into decisions; you cannot make these decisions yourself because you are ugly and nobody trusts you.

But how do you know, which type Max really is? You could judge him by his decisions, but that may work out too late; after all, you never know if you are too dumb to realize the master plan or if there really is no master plan. There is no simple recipe. Trust your heart. Ask yourself "can I work with this Max?" If the answer is no, turn and run, and it does not matter which one is the idiot, because it wouldn't work either way. If the answer is yes, you could still both be idiots leading each other into disaster, but then that's what both of you deserved. You cannot escape justice, and it might make you feel better that Max has the same problem about which of his underlings he should trust.


When you start to analyze a customer's process, they tell you it's easy. Just put the domain expert's words into classes, attributes and operations and pass it off to programming. Then you find out, that what you hear depends on which expert you ask and that this does not matter because none of what they say makes sense. There are two possible strategies to deal with that:

Strategy 1 - ask as many experts as possible and hope that their expressed views of the real process converge into the big picture you need to comprehend what is really going on. This works fine in industrial production processes, where all the experts have seen a common reality and formed individual virtual pictures about it. However, when it comes to analyzing a purely organizational paper chase as in civil service, banking or health care, also the process itself is virtual, you cannot go and actually see it, because it exists only in the heads of users and experts. Therefore, the views often do not converge to a big picture of reality because there is no reality to converge to. This is when strategy 2 comes into play.

Stragtegy 2 - ask just one expert and fulfill his dream of the process or, even better, ask no expert and fulfill your own dream of the process. This is not as bold as it may seem, because the virtual image an expert has of the process ist often shaped by the tools and systems he or she has worked with so far: the system does not support the process, the system is the process. When an expert tells you about his process, his wording is typically polluted with IT technology expressions, showing that other analysts before you have influenced this expert's perception, so why should you not be allowed to do the same?

Business rules and normalization - what's that? Ok, everybody thinks he knows  what business rules are: it's something a domain expert tells you along the line of "when this happens, then we do that" and you just transform it into "if this happens, then we do that"? Dead wrong. What the expert really means is "mostly, when this happens, we do that, except something else happens...". Rules with exceptions are not rules. Rules of thumb are not rules.
It does not matter if you have a rule engine to have your rules changed flexibly by the expert, or if you have your rules hacked into the code. Garbage in, garbage out. No, real business rules are rules that always apply, independently of circumstances. One of the preconditions of real business rules is real wording, because that's where chaos comes from: many of the expressions in your expert's language are used in several different meanings, depending on context. Context-dependent expressions are a feature of natural languages, they help economize the amount of words by assuming that a listener remembers what has been said before, thus avoiding the neccessity to say it again. IT logic does not work like that. What you need here is a normalized system of context-free expressions whose meaning is always clear, no matter what context they are used in. And the expert should agree to this language and learn to use it - ideally it helps him to better understand his own business.


This is quite a personal view, but you may find truth in it to use for yourself. In the U.S., it used to be a common scene that cons were forced to do roadworks, standing in a row and shovelling away, chained together by their ankles. They were not chained to enforce better teamwork or for motivational reasons - it was just to prevent them from running away.
Today, companies try to enforce a corporate culture where everybody talk to each other as their buddies, using the respective language features available. In English, this is normally done by calling someone by his first name. In German, the convivial "Du" is proliferated, all to break the ice, to blaze a trail for better teamwork and an "easier" communication.

I do not approve of that.

I am just too honest for treating anybody as my buddy who isn't. This "close contact" language creates a soul bond between the people who use it, if they like it or not. There it is again: the chaingang. These chains are invisible, but the rest is just the same. This enforced soul bonding does not ease communication, because only free people can really be at ease. It is also not neccessary nor helpful for teamwork - if you hate your teammates, you will hate them more intensively with the soul bond on. And as for breaking the ice - walking on the water is easier when it's frozen.

Be professional, be yourself, be your own buddy. That provided, everybody will be able to relax and go on with business. (Ok, this is an adaptation of Victor Stone's motto: Don't belong, never join, think for yourself, peace.)


So many of our profession dream of making this world a better place, only to find themselves outnumbered by induhviduals (a word coined by Scott Adams). They fight a hopeless little fight against insuperable odds and, at last, give up on the world and think that after all it is not so bad they have to leave it some day.

However, their desperation is unjust, as is their cause. They are powerless to save the world with their ideas, simply because the world is not built the way it has to be saved by ideas at all (and looking at ideas in general, I think that is good news). The world looks after itself, one way or the other. What it does not look after is people. This the core of responsibility: each single person is supposed to look after himself. If everybody saves himself, all are saved - mission complete, no ideas required.

By "saving yourself" I mean your real, spiritual Self, not your face or your assets (if "starlet" means "little star", what would "asset" mean?) With a healthy Self, these things become unimportant, and unimportant things are easy to get.

Those dreamers might lament being denied a global purpose for their intelligence, only left to save themselves. But saving yourself is a task of highest priority, not to be underestimated, requiring all the abilities and talents you can muster. Saving yourself, you can win or lose, but it is important to note that you don't play against each other, one does not win because others lose; instead, one wins because he did his best.

So each of you has the most important purpose he could possibly imagine. Stop sulking.


Intellectual property means someone claims ownership of an idea. This is partly based on the concept that ideas are products of somebody's mind that can be sold for money like products of his hand.

Frankly, I think the only real human product is what we leave in the toilet, and nobody makes money with that. Ideas are not produced, they are found, discovered. And what's more important: an idea is not a unique entity that exists only once – many people can discover the same idea simultaneously, and who would be the rightful owner? Did the Egyptians sue the Aztecs for product falsification because they built pyramids without paying license fees?

Intellectual property, in my eyes, is like claiming ownership of wind and sunshine. And trying to catch the wind is what most people experience if they try to hold on to economical exploitation of an idea they happened to trip over. Most happy well-known inventors ended up very unhappy, bitter and poor when they stopped doing what they were good at (i.e. finding new ideas), doing what they were not good at instead (i.e. frantically holding on to one of their ideas, fighting intellectual thieves and competing ideas) for the rest of their days.
For what? For the even more volatile and questionable concept of fame (which they usually get to find out what crap it is)?
To save the world (see paragraph above)?
To chase the end of the rainbow and get rich (which they usually don't) but unhappy (see above)?

Look at Thomas A. Edison riveted to his direct current concept, with Tesla rushing past (only to be riveted to his own wireless power transmission ideas later) – pity on them.

The only thing intellectual you can rightfully sell is work,  by the hour or by results. Be thankful if you have the knack of finding ideas, but only to enable you to sell unique work most others cannot sell. It's like a wind turbine: you can sell the electric power generated, but you can't sell the wind. You can own the wind turbine, but you cannot own the wind. You are the turbine, but ideas are just wind. Wind is free, wind is for everybody, and so are ideas.

Give your ideas freely – if they are good, others might make good use of them, maybe even better use than you imagined. They also might make worse use of them than you imagined, and then, once again, it turns out to be better not to be personally attached to your ideas – they were never truly „yours“ anyway. Remember: fame is crap. You don't own an idea, and you better not let any idea own you.

Arsonists

The typical project has three parties - the customer, the project team and sales. The project is a fire started by the customer, sales poured the gasoline, and the project team is the fire squad trying to keep everything under control when it's too late. It is not easy to see why projects are started in the first place: the customer started something he cannot control himself (which is irresponsible), sales people hijack the situation (which is evil), the project team are last to be consulted but get the blame (which is pathetic). Nothing good can come from starting a project.

Now it is not unusual market behavior to provide customers with a problem first and sell them a solution afterwards. There have been firemen who were caught starting a fire to be able to extinguish it and pose as heroes.

What do you learn from this: Whenever someone tries to sell you a solution, he probably already has sold you the matching problem.

Conspiracies

For a conspiracy, we need two components:
a - a dark secret
b - a circle of persons that are unanimous about everything connected with the dark secret

Conspiracies divide into two completely different types:

Type A: a small group of intelligent masterminds forge an intricate (and therefore vulnerable) plan, lesser participants are recruited on a hierarchical basis. Type A conspiracies are inherently unstable, they heavily depend on the masterminds' wellbeing and keeping the secret and therefore disintegrate after a short time, because life is dangerous to masterminds and there is always an information leak the press will pounce on.

Type B: a dumb person talks and another dumb person thinks "hey, that's exactly what I think - I can't be all wrong", and so the circle of conspirators begins to grow. Recruiting goes on in corporate meetings and in front of TV cameras. This type of conspiracy is very stable, because it survives without masterminds or plan, and there's no way of leaking the dark secret out because no-one, including the conspirators, knows it. Because of this stability, type B conspiracies are much more dangerous. Throughout history, wars and economical crises were mostly caused by type B conspiracies.

All in all, both types can simply be distinguished by their objectives: Type A conspiracies are made to do evil things, type B conspiracies are made to do dumb things. Those objectives are not so different after all, since evil and dumb are just two noises out of the same darkness.

Crazy Crisis

They all talk about the financial crisis today. The markets get nervous, they say. Who? The markets. Let's find out who these allegedly existing markets are. And while were at it, we solve the mystery about Santa and the Tooth Fairy as well.

What is happening: The A bank is borrowing money from the B bank; the B bank don't actually have that money, they borrow it from the C bank. The C bank don't have it either, they are borrowing from - you guessed it - the A bank.

Nobody has the money, the money does not even exist. But all of them expect to have it later when they are supposed to pay it back - plus interest, which should be less than the interest they get, or else they wouldn't be doing it.
They are playing "musical chairs", and nobody has noticed that in fact there are no chairs. The music is still playing, but the moment draws near when it will stop and everybody will try to sit down. All the measures taken today to avert the crisis only aim at playing the music a little longer. There's nothing for it, because chairs are not available. It is a bit like the music once played on the increasingly tilted rear deck of an ocean liner.

The markets are dancers around imagined chairs. Whoever uses imagined money he does not own to imagine more money he does not own either is part of the markets. Too many hope for what they will have in the future. But the light at the end of the tunnel will be switched off for budget reasons.

Mojo

I am convinced that all of us have certain abilities that are outside the control of our intellect. But since most of us are trained to trust our intellect more than ourselves, we cannot use these abilities unless we use some pseudo-logic to fool that intellect into believing it can be done. Such pseudo-logic is known as mojo.

Example 1: medical placebos - if pills without any chemical agent work because the patient believes they work, why can't the patient just do it on his own, without any pills? It's because his intellect has a mechanical view of the world where something must be done to make a real repair job. Placebos are mojo.

Example 2: a child's teddy bear. A child needs physical contact to maintain trust and safe feeling; it won't help to tell the child that mom and dad are just downstairs and everything is fine. The teddy bear is mojo. Even adults need teddy bears: people in distress often raise their hands to their head to create that physical contact.

Example 3: in Terry Pratchett's The Long Earth, a new invented home-built device called a "stepper" can transport people to neighboring parallel universes. Curiously, there are people who can do this without the device (so-called natural steppers), there are people who cannot do this, even with the device, and the most important core component of the device is a potato. This is Mr Pratchett's way of telling exactly how mojo works. There's an incredible number of real-world mojo devices that "work" exactly like this, and you find them all at esoteric trade fairs but better refrain from buying anything (the best mojo comes from your own circle of experience, just like the "stepper" that has to be home-built by everybody themselves in order to work).

Botton line: there is a lot of mumbo-jumbo without real physical function, but with the important purpose to attract the intellect's attention away from blocking the bigger reality behind it all: that there is much more than the physical world going on, and that it can be used for our good because it belongs to levels our soul comes from. It can be used for our bad, too, btw., so careless playing with it is not recommended (if it don't feel like home, leave it alone).