Deny your beliefs - develop quick and dirty

Lately, I have been denying my beliefs.

I have been kicking around with a rugby ball. It bounces everywhere. Hopeless, but that is just the point. The physiotherapist wanted me to do this as part of my rehabilitation of my knee. It's all about the constant sideways movements. At least my son had to laugh. Though he's a little football (soccer) genius (we like to belief so), he kicks around with any type of ball and follows Aussie Rules (AFL) and the rugby codes as well.

image Wikimedia Commons
Because I have been less active, I tried to abstain from my chocolate sprinkles (hagelslag) on bread for breakfast. These are not the horrible tiny bits you get normally in Australia, but the real original Dutch ones. Luckily the supermarket around the corner sells them and that's why I survived for so long here in Australia. General health advise is not to have something sweet for breakfast. So I thought it might be time for me to listen to good advice.

But even worse, lately I have been toying with the thought that quick and dirty development of websites and applications might be a good strategy as long as you have the discipline to use this only for throw away solutions.

Specifically in these day and age where technology platforms and devices come and ago with rapid speed, you need to redo you work for the different platform within no time. If you have to throw it away anyway, why bother to put proper architectures and designs in place?

Today it is the iPhone, tomorrow the iPad and next with will be iDroidBerry(*) or whatever it is that integrates with the latest social networking service. You need to respond quickly not to miss the boat.

The problem with this is that if you don't throw the solution away within a year or so, you end up doing maintenance on the solution which then becomes expensive. I found that usually you hardly put a solution aside within a year. And if you do, usually you do this only partly.

For the cases that I ever ran into these temporary intended solutions, it always turned out that we needed to maintain and enhance it for at least a few years. Some of those were done quick and dirty or we inherited those from others. But we always regretted the quick and dirty approach.

We found also quite often that when development was outsourced the vendor tried to do this within the given time frames sacrificing sound design and architecture. In order to beat competition they quoted low but that meant they could only stay profitable by doing it quick and dirty. Ongoing support usually then became expensive. (One of the reasons, you should be very careful when outsourcing development).

Now when I think about it, quick and dirty might not be such a good solution and I better stick to my belief to deliver well thought through and well designed solutions.

Once my rehabilitation is over I will put the rugby ball to the side and use a proper ball again. This morning I had my hagelslag for breakfast.

(*) Soon to be trade marked by Shane O' Neill.

Green IT does not exist

Though we can do our best to reduce unnecessary use of energy in our data centers, I don't belief that "green IT" exists.

Each time when I hear the term "green IT", I see around me simply more consumption of IT equipment, gadgets and more energy consumption. I just bought a refill pack for soap and had to pour it in the bottle. The idea around those refill packs is that it saves on packaging material. But I wonder how much greener this all actually is. When I was pouring the soap into the bottle I was a bit clumsy and the first lot did not really go into the bottle. That was wasted soap. Then you have the situation that it is difficult to squeeze all of the last bit of the soap out of the refill pack. In total there was quite a bit of waste of the soap. Quite often I feel that packing is made such that it is difficult to get the last bit of material out, resulting in waste but increased sales for the manufacturer.

With IT it is not much different. Buying MS Windows forces you to buy more software such as anti virus software. And you need to upgrade to the latest versions which make your computer run slower which in return will stimulate you to buy a new computer.

I work here on a 10 year old computer. With this I am pretty green, I think. I haven't participated in the race of ongoing production of new computers. When I bought this one, I picked the most powerful that I could find at that time. Over time I did need to upgrade a bit and downgrade some of the software. Turn off and uninstall some unwanted features and software and use it for its original purpose. It means that I don't use it for gaming.

To resolve the gaming needs for my kids, I bought a dedicated game console. Now we have two machines turned on the whole day consuming energy. So how green am I really?

In the corporate environment it is not much different. We are a bit late on replacing PC's in our office. You could say that saves on computer consumption. But because it takes more time to boot your computer in the morning, nearly everybody leaves the computer on overnight.

Our constant need for more IT exceeds any of our attempts to reduce energy consumption and make more energy efficient technology. Our "green" awareness has its limits. When the annual Earth Hour is on, our kids are very energy aware. But a few days later, I have to chase them to turn off the lights in their bedroom before they go to school. The same applies to us as employees. We all think Earth Hour and reduction of energy consumption is good, but as long as it does not mean that we need to turn our computer off a the end of the day.

Saving energy is the responsibility of the guys in the data centre and we don't want to be held responsible for turning off the lights at the end of the day either.

We better be damned good in improving energy efficient technology, because I don't think we have reached our hunger for more technology yet. To be green, we have to replace old technology with modern more energy efficient technology. So we need to produce more and buy more; at least good news for the manufacturers.

And then there is the other side of the production of IT equipment. Key components are created with tantalum which is produced from coltan. And the problem here is with the mining of coltan. Most of this comes from legitimate mining locations around the world but some can come from Congo funding the civil war and threatening the habitat of gorillas. It is not that the IT industry wants to be part of it, but it remains important for us all to be aware such that manufacturers and their suppliers are stimulated to work down the supply chain to stop flow of the material from Congo. It seems difficult to do something about this. Maybe sponsor the World Wildlife Fund.

Plato's Revenge, Part 4: Are we really directing our team?

In many cases we think that we manage and control our teams, but in reality quite often the team manages itself.

I learned that Stephen Hawking wrote a new book "The Grand Design", co written with Leonard Mlodinow. I haven't read it, but I understand that it says that there is not one single reality and that the universe (actually multiple universes) were created spontanously. In other words, no Grand Design. No God. Reality depends on the theoretical model you use. Not much different as I learned long time ago about the paradigm shifts by Thomas Kuhn. Or in other words, our perception of reality depends on the observer and the model he uses to interpret it. And we're back to Plato's Allegory of the Cave and the title of my blog.

Photo by Nasa HQ
I saw on TV a few years ago a documentary about Stephen Hawking. His disease had progressed so far, that communication was sheer impossible for him. Direct writing his thoughts was not possible anymore and he needed to communicate via the tiniest gestures. His assistant who was charged with writing down Stephen's thoughts and theories basically had go guess what he was trying to say. Much trial and error and waiting for confirmation from Stephen on what he had written down was what Stephen intended to say.

In that sense and without knowing too much about the process of how this book came to existence, I have my doubts who is the more important author of the book. I bet that Stephen in his mind for a big part just had to accept all the variations to his intentions and just had to settle for someting that is just "good enough" in order to get the main message across.

Not much different to how we manage our teams.

I have accused our executives often of "managing with their back to the organisation". Their job is pretty much in the outside world and therefore spend limited time with the team in the office. This means that they do not have much control over the day to day operations of the organisation. Or in other words, much of the steering of the organisation is done by the people themselves and the question remains whether we all go in the same direction.

Often I feel that I myself suffer from the same disease. Too often I ask people in my team to do something specific. For example I ask a DBA or developer to document something. Or I have given some clear directions (I think they were clear). But before you know the engineer has been sidetracked because of the many interuptions or the preference to spend the time on the major project he is also working on. It would then be for me to follow up. But I have the same issues: being sidetracked by other urgent matters and subjects that require full attention.

Quite often I realise that my directions have not been implemented exactly as I had in mind or sometimes not implemented at all. In many cases you just have to accept that good is good enough. For certain aspects of our work, it is practically impossible to get things done exactly according to your ideas or style of working. What you do is set the direction but the details are filled in by the team.

Take programming as an example. I have some very specific ideas about programming and system development. But a practical issue is already that I don't have much hands on experience with modern programming languages as Java or C#. I am definitely not going to audit the code the developers create, so I need to rely on my own developers to assure it is done according to best practices. In some cases you might even have arguments with them, but in the end you need to settle for a result. In the end the business outcome is more important and to get the project finished.

But sometimes I can get annoyed. For example, specifically Java developers can be horrible when it comes down to querying databases. One of my team members just improved some search logic from minutes down to seconds. Somebody in the past had decided to retrieve a whole bunch of data that was not really needed. When we built the system years ago, I was already aware of a series of these problems. But in order to get the system delivered on time for critical business deadlines, you are not going delay this with some performance issues (within acceptable range obviously) while you know that the business is going to be extremely happy with what they will get.

When it comes down to programming, I think I fare as blind as Stephen Hawking must have been writing this book. You can postulate some high level directions and then just hope that your team, assistant or co-author will interpret this as you intended. And even if you see that in certain areas this is not the case, to come to a result you need to accept that the team drives itself. And this is normal. You are a manager and you will have many specialists in the team who need to make decisions within their area of expertise. You don't need to do this all. I am always proud of my team (and myself to achieve this), that when I come back from holiday that things usually have progressed as expected and that any issues were dealt with effectively. At least it is not that when I come back, I am suddenly confronted with dramas.

Sometimes we are just fooling ourselves and make ourselves belief how important we are. Governments and politicians quite often think they have much control over the economy and can direct this, but in reality governments only have minimal influence.

There is good and bad in all this. The bad is that there is the risk of chaos if there is a complete lack of control. The good thing is that this allows for the team to come up with ideas and be more creative. In the end, they are hired to think for themselves. You will have more spontanous creation without a grand design.

According to the Design Thinking, by Roger Martin the mix of design and spontaneous creation is ideal for organisations.

Maybe Stephen Hawking needs to allow for a model that allows for the Grand Design as one of the realities. This reality, this universe, will then be a good place for those who belief that God created and designed the world and as such that actually God created that world, that universe, that reality. And a world where I am in full control over what happens in my team and where I can trust our executives to be in full control and where we all work in alignment without our strategy. If I would go on, this world would be an Utopia. A world where you plan your project and it works exactly according to plan. You design your system and it is the most perfect system that your business ever wanted. Maybe it actually exists in one of the parallel realities.