My job is all about complexity.
Designing and developing an enterprise application for a big bank, is a huge challenge. It’s all about understanding and solving concrete problems that are complex by nature, since they mix the human habits and needs with the rigidity of a software system. You can’t miss a word, neither when you write the code nor when you talk with customers and users. You have to deeply understand both.
It happens that people requirements collide with developers’ experience and habits.
In these cases, project managers, developers and architects brainstorms. Such brainstorm are really similar to political talk-shows: many people talk, fews listen.
I’m actually both a developer and an architect, so I’m often required in such brainstorms.
During the last years I noticed that there are two different approaches to problems:
The two always conflict.
Compromises are easier and faster to obtain: you only need to negotiate.
Synthesis are by far harder to achieve: everyone have to listen and understand the reasons of the others and to propose solution that others can endorse.
Compromises don’t solve problems, but seem cheaper in the short term. Synthesis avoid the problems, solving the human errors that lead to them, but are harder to get.
Recently we have a problem that has been approached with compromises: the agreement was taken in an hour by a project manager and an architect.
After 97 man/days of hard work we had to throw it all.
Than we tried to search a syntesis. It took 5 day for 5 people to understand the problem, the errors we did before and so on.
5 people brainstormed for 5 days.
After that 2 developers built the solution we defined. In a week.
It was an emblematic experience.
Most italian politics search compromises.
Compromises are cheaper: all they need is to keep their voter’s consensus.
Moreover with compromises you can focus to ensure a practice of favouritism. They forgot (when they know) our wonderful Constitution that states:
Each Member of Parliament represents the Nation and carries out his duties without a binding mandate. Art.67 of the Constitution of the Italian Republic
They should avoid compromises. They should always search synthesis. They should work for all italians, not only for their voters.
Political compromises clean your garden while your home burns. May be you are looking the garden and vote them again, but you’ll eventually have to go home.
On the other hand synthesis is always possible: we all have legitimate needs and egoistic pretensions. By mortifing such pretensions you don’t win elections but you find compatible needs. But how to find politics that avoid compromises? How to find men that works only for the common good?
A first step: don’t allow anyone to run for parliament twice.