A Django site.
May 27, 2007
» The best solution is not always the best solution

It has been a hard week last week. Being involved in a large process change process for a software organization, I have been foreseeing a great deal of problems that are now materializing in reality. We are on the go for several months now, preparing new process definitions, changing software architecture, changing software archive structure, changing build processes, changing supportive tools and scripts, training people, etcetera.

One of the issues I have expected is that the people are just continuing their old habits, their old ways of working, in the new environment. But the new environment has far more flexibility on one side, and more control mechanisms on the other side. So what happens is that the new flexibility is not used, or it is used in an inefficient way and the new control mechanisms are more and more getting in the way. The result is that process are becoming less efficient and less effective, even though the objective was (and is) to gain development speed, to gain management ability to steer in the right direction and to gain visibility of the process.

Now I am wondering: Should I have taken action earlier? In fact I did, but nobody listened. Why did nobody listen? Because they did not have a problem yet. One of the hardest things for a (change) consultant is to change something that is not a problem for those who have to change. They simply are not open for change, even though they may want to. Resistence is not a matter of attitude (although it often is), but it is a natural byproduct of being inexperienced in changing. Even worse, many of the quality programs aim for reproducibility, predictability and repeatability, not for change in spite of the term Process Improvement".

But now they know! Now they are confronted with many different things that do actually go wrong, and that have to be corrected immediately because the project is suffering delays. Of course they blame the new process! And they know it should be address right now, a solution must be ready by yesterday. In other words, time is right for change now, although we do not really have enough time and opportunity to make the change because the project is delaying by every day. And in the past, when we had the opportunity to change things, it was simply impossible to do so.

For many, many years I have fought against these windmills, trying to change people, processes and the organization to prevent them from running into problems, before the time was right. It was a hard and endless struggle and in many occasions my evaluation and my carreer suffered from it. Now I have learned that knowing the best solution is a handicap sometimes, since it is not always the best solution at the time. I have learned not to try to convince people too hard to do something about it, but just to prepare them that it will go wrong. And then, I have learned to be patient until time is right. Act too early, and you will spoil the opportunity to make the difference.

» Unconcious thinking

Have you ever tried to look at a very faint light, a star or so? And did discover that you can see it better by looking next to it?

In a science edition of the NRC (Dutch newspaper) I read an article about unconcious thinking. In the article it was claimed that the concious mind is only suitable for simple decision, like buying toothpaste. But when it comes to really significant decisions, the complexity is too large for the concious mind. The unconcious mind is able to think much quicker and take much more complex thinking patterns than the concious mind. Decisions like buying a car or a house, changing your job or starting your own company are best left to the unconcious mind.

According to the experiment, a number of people were asked to listen to a large amount of unrelated information. Two groups were asked questions about the information after half an hour to verify what they remembered of it. One group was left to memorize the information and the other group conducted a numbering game that required them to use their rational abilities. It appeared that the second group was able to answer more questions correctly than the first group.

I was amazed by it, but it concurs with my own way of learning. If I absorb an amount of information and go do something else that takes my mind off the subject (playing on the piano or even studying a piece, for example), it is much easier to remember and see all kind of relationships in what I learned than when I try to stay concentrated and focussed. Sleep on it!

Technorati tags: , ,

» Succeed by giving up

Everybody knows a project running a death march. The deadline is nearing quickly but the product is not ready by far. New problems pop-up every day, every change seems to make things worse, developers are doing overtime against their will, budgets have exceeded, requirements are slipping rapidly to make up for requirements that could not be finished in time.

This reminded me of what my daughter did when she was facing her final exams at high school. It was math that was troubling her -- or better, it was troubling us --because results were quite low. So she needed a good point for her final for Math to pass.

If I were in her shoes, I would start studying hard, really hard, to catch up with all the stuff that I had missed in the past months. The easy parts are easy to succeed, so I would not give them much attention, just look through it to refresh my memory. But the difficult parts, I would study -- for hours. But... my daughter did precisely the opposite.

"This, this and this I do not understand, so lets skip it", she said, "I will fail on those parts anyway so why waste more time on it." And then she started studying on the subjects she was already good at, paying no attention to her weaknesses. Why? "Because I'll mess up most of it anyway, so those parts are going to save me". And she passed her exams... not with straight 'A'-s, but she passed! And she was focussed and did not worry for a minute.

I admire her for this...

» It ain't as simple as it seems

What is perfection? Perfection is when it seems simple but it is complicated. At least, that's what I consider perfection when I play the piano. Famous pianists and other musical artists get a lot of compliments when they near perfection, when they play something complicated and seem to do it without much difficulty. Why? Because those people knowing about making music know that it is actually very difficult to do. They recognize the skills of the artist and know that it takes a lot of practicing and a lot of effort to get to that level of perfection.

Now if we extrapolate that to running software projects, it often worked the other way around.
A project manager that is able to run a very complicated project that almost everybody screws up completely, and stay within reasonable budget and time overshoots and within reasonable limits of functionality and quality, gets a lot of respect for it. The next project he will probably have less difficulty to convince management to grant the budget and timing constraints that he estimates.
But a project manager that is able to run the same project within budget, within time and still providing the functionality and quality that was committed, what happens to him? He will probably have more difficulty to defend his estimates on budget and timing, next time. In other words, he reached a higher level of perfection but he is punished for it.

So why this difference between software and music? One obvious reason may be that music is composed. A music composition is an accurate -- and often not so accurate -- recipe about how the music should be performed. Key, notes and rest, tempi, forte and piano, accelerando and ritenuto, punctuations, etc. are all written down by the composer. And still, in spite of all the prescriptions there is plenty of room for interpretation differences. Many performers are even recognized for their style, their signature of sound.
Now if we look at software projects within a particular organization, a particular business, a particular product domain, a particular market segment, we seem a lot of similar projects with similar kind of people. One similarity that surprises me every time is that "we are different", so the quality system or other organizational systems does not completely apply. In other words, even though the projects are composed in the same way (like a music composition), we do not follow the composition (quality system, portfolio and project management system, configuration mangement system, and other systems of processes, procedures, stuctures, guidelines, conventions, standards, methods and tools). We argue that "we are different" and the system does not apply. We not only apply our own interpretation within the prescribed recipe of the composition, we also change -- tailor -- the composition itself.

The most common argument is that business goes first. If we can save costs or increase benefits by violating the (management) systems, then project management is often easily convinced. After all, we are not spending to money to satisfy our own systems but to earn money, or add business value. If we would alter the 5th piano concerto by Rachmaninov to make it simpler on the musicians so that they would be able to play with perfection, few customers would consider it an added value.

Perfection is to overcome the challenges and to make it seem simple, not to reduce them until only the simple things remain -- that's called degradation or devaluation.

April 14, 2007
» Excellent or famous?

For a long time I though that being present on discussion forums and weblogs, being able to be a though leader on a particular subject, being able to write great articles, give excellent presentations, being involved in everything that is important to the business and to my profession, and also being excellent in your day-to-day work and life,

is necessary to be successful.

Well, it is not. It is fun to do it all, but being excellent in your day-to-day life is hard enough and sufficient. All the rest is the cream on the pudding.