Recent Posts

Saturday, October 13, 2007

Culture of Discipline

Title stolen from a chapter in Jim Collins' book "Good To Great".

I had arranged for a demo of Agile development to our team and I thought maybe it was something that we could employ. However, to my dismay, one of our software practitioners (in fact he is one of the development managers) didn't like the process; he called it micro-management and claimed that his engineers would kill him if he tried something like that with them [in jest of course].

The process that was demonstrated was called SCRUM and it employs meetings every day asking developers what they did yesterday and what they're doing today. Moreover, this particular process asks for developers to enter their time spent doing development on a daily basis. It definitely involves more careful monitoring of people's time. However, this is an effective scheme for determining if software schedules will be met and for averting disaster. The bi-weekly or weekly status meetings don't cut it anymore. I can understand his point of view. I used to be a developer myself and probably would have hated to determine how long a task would take or be constantly asked how much time I spent on something everyday. [A little bit of "Don't tell me what to do"]

This needs to change if we're going to ever get good at software management. This is a culture change in the way of treating software engineers and asking them to change their behavior, i.e., to become more disciplined. As a software engineer, I was arrogant and cavalier. I prided myself on being an expert at C or C++ (or whatever it was I was doing) and any company should be glad to have me and my expertise. If I need to take as long as I took to get something done, then that's how much time it should have taken. Or if something wasn't done that should have been done, I was busy doing something else that was just as (if not even more) important. My time was my own; I didn't have to tell anyone what I was doing; and for the most part management didn't care. If I got things done a day early, no one had to know about it and I would surf the web and take it easy the next day. But that kind of attitude isn't how you build great software nor a great organization.

Micro-management is a dirty word. No manager probably wants to be called that. It's a death knell to be referred to as one. However, the truth of the matter is if you were to form new habits, you need to act as one. If you're losing weight, until you form the habit of watching what you're putting in your mouth, you will not lose weight. You need to micro-manage what you eat. If you're learning a new skill, you need to pay attention to the minutiae of each motion (e.g., swinging a tennis racket). Similarly, the same goes for management. If you're going to introduce new habits (or processes) within your team, you need to buckle down and enforce them until they become a habit. You need to micro-manage. If you're going to kick off a new process and expect your team to follow it, you're going to have to monitor and micro-manage them and quickly correct errors. This is a fact of life. Don't let the fear of being called a micro-manager deter you!

In fact, one of my most memorable experiences being 'micro-managed' was at a start-up company. A new senior executive had joined at a time when our product had fallen behind. This new exec quickly set up daily early morning meetings with key staff and a list of the issues. It was almost like a SCRUM meeting. He wanted updates on each issue and what progress was made since the previous day. At first I considered the meetings a pain. [I don't want to be at the office by 8 !!] It was intense, being in those meetings. You had to own up! And you knew what was expected of you at tomorrow's meeting. But after a while, as the issues were closed, one after another, and our software became mature, we really became cohesive as a team/company and felt proud that we were pulling together to put out a quality product. We eventually had a great product ready for the market. This guy did what his predecessor didn't do. His predecessor was hacking away at the weeds whereas this guy knew what needed to be done and did it. No surprise that he is now a Senior VP at IBM.

In fact, to really build an effective organization at all levels, that "micro-management" ethos needs to be practiced by every individual in the organization. Each individual needs to be disciplined enough to carry out his/her duties to the fullest. Jim Collins states: "People in the good-to-great companies became somewhat extreme in the fulfillment of their responsibilities, bordering in some cases on fanaticism". I liken micro-management to being present in each moment. If you're present in each moment of your life and fully engaged with what's going on, then you will fulfill your responsibilities. Or you will speak up and address something when it doesn't make sense and so on.

No comments: