Monday, December 6, 2010

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.

2 comments:

  1. Java may be the main choice for enterprise development now, but it’s days are numbered as the only stalwart option to go with.

    Let’s face it, many of these so called “enterprise applications” could easily have been written much faster and with less overhead using technologies like Python, PHP, et al.






    openCL training

    ReplyDelete
  2. You are right. One of my java developers admitted that one of the applications we were building could have been done with .NET. That's quite something from a java developer!

    You say "many", that means not all. And java is for the application I refer to a suitable technology.

    But...

    If you have a large IT shop with over 100 developers, you can easily put 5 to the side focussing on a different programming language. When you have a much smaller team, you will spread your knowledge and skills thin of you focus on too many technologies. So if you already have a skilled java team to develop and maintain the large enterprise apps, then you just as well let them do the others as well. That will be quicker and cheaper in the end.

    ReplyDelete

You are welcome to leave any response or thoughts that you have as feedback.