Browsing all articles from February, 2009
Feb
26
Comments

Management for Geeks – Secret Ingredients

In a previous Management for Geeks post, I talked about a  hypothetical relationship with John. This discussion actually surfaced the fact that I have a problem getting things done. I tell myself that I must do things, I know that these things are good but all I do is have good excuses.

How many times have you heard or told yourself:

“I must try pair-programming”
”I need to write more unit tests
”I have to get my team to be agile”

Secret Ingredients = Integrity

The Secret Ingredients to getting these done, to managing yourself and then others is: “Integrity”

I first heard about Personal imageIntegrity on a Radio show. The broadcasters where trying to pull a practical joke on a US Navy Officer. The broadcaster pretended to be an angry father who called an officer and complained that the officer told his son, who went for an interview, that he was useless and wouldn’t find a job anywhere. But the joke didn’t work, the officer kept on saying: "I would never say something like that". It ended with the broadcaster saying: This guy has an amazing integrity, he didn’t let us budge him.
This is when I thought to myself, I would like to have that.

So what is Integrity?

Although there are a few definitions, I like completeness. When something has technical integrity, it is complete, all the pieces work and fit together well.

When talking about Integrity in people I tend to see it as the completeness of our words:

Saying –> Intending -> Doing

We have 100% integrity when we say what we are going to do, we mean it and intend to do it and we actually do it.

This sounds simple but we tend to break our integrity all the time.
We can say something and not mean it. I used to say “I must stop smoking” but I never intended to do anything.
We might say something and intend to do it, but not do it.
e.g. I really want to stop smoking and I intend to do it, but just don’t do anything.
We can choose not say anything.
e.g. I won’t tell anyone that I want to stop smoking

Broken Integrity

Lets see where Johns integrity was broken. John said that we will meet on Wednesday at 10:00, but he never showed up.
So his integrity is broken, he didn’t do what he said that he would do. 
He might have just said it without meaning it, if he knew that he had to go to the hospital the next day.
He might have said it and meant it, but didn’t do it because something really came up, but them he should have phoned and changed the date: "Sorry that I won’t make it at 10:00, is 12:00 a good time".

Changing your intentions and saying so, is a valid way to stay in integrity, as long as you intend to do it.
Imagine if John would have phoned to delay the meeting, I would have known ahead of time, I would not have to wait, I could do some work in the mean time, I could tell him when (and if) we could meet again.

Stop hearing excuses

The trick of staying in Integrity is to:

1. Say and commit to actions that are in your control

2. As soon as you realize that you cannot do the actions, if something out of your control happens – recommit – tell the other parties about the new intentions

When you are in integrity there are no excuses, either you kept up to your word, or you changed your word and kept up to your word. In any case if you are in integrity, you kept up to your word and don’t need excuses.

Once I started being in Integrity, my excuses suddenly evaporated. I found that I used to spend a lot of my time making up excuses instead of actually working.

I also found out that the more people that I say what I intend to do, the harder it is for me to break my integrity.

3. Committing to others is very powerful.

Feb
25
Comments

Zune Meltdown as a Management Problem

Ester Schindler has a post in cio about the 3 lessons developers should learn from the Zune meltdown. She finishes it with:

Quality Assurance doesn’t apply only to fixing code. It applies to fixing broken application development processes, whether it’s because Quality Assurance departments aren’t given the respect and resources they deserve or because developers leave it to QA to find every problem rather than bearing personal responsibility for their own code…
As one correspondent noted, "It may have been a development problem or a requirements problem. Such things are always, ultimately, management problems."

This is something that I can imagereally relate to: The problem is a  management problem!

Management needs to focus on quality in the development process. Using the correct tools, it is easy and cheaper then expected.
As bugs are cheaper to find earlier in the process, Unit Testing is the cheapest way to add this kind of quality and responsibility.

Many development teams are understanding this and joining the unit testing trend.

Feb
25
Comments

Management for Geeks – Expanding your existence

I always wanted to be a manager. I was sure that I could do it image much better then anyone else and I could always see the mistakes of my previous managers.

Some months back, it suddenly hit me, I am a geek, I don’t really know how to manage. Although I have managed in the past, I am a much better programmer then a manager and I don’t think that I was ever managed before.

What I normally do in these situations is to study, so I goggled about management, read many books and tried different techniques. From Agile to Six Sigmas, Scrum and Lean, The problems with these are that although these techniques talk about the human factor, they actually deal with processes.
I went to Startup conferences where all the successful entrepreneurs said that the one and most important factor to the success of your business is the team that you have.

Ok, So how do you get the best team? There wasn’t a really good answer to this.

At the same time I was introduced to Moti Aloni from one of the parents in my child’s kindergarten, Moti is a Business Coacher and we started practicing together how to be a manager. I have really learnt allot with Moti. As an autodidact, I was really surprised that I learnt things that I just couldn’t learn myself.

We started out with an example from an Hypothetical Company about what was happening in Typemock.

Phone Ringing….

Me: Yes! [I like to think of myself as positive]

John: Hi, My name is John, I am a great developers and I have a application that together with your product will make you 1 million dollars, and it only costs 10 grand! Would you like to meet me.

Me: (I know that what he says is true, and he is the only person in the world that can write this – as he has a patent):
   Yes, I heard about this, lets meet.

John: Ok, How about Wednesday at 10:00

Me: Great!

Wednesday at 10:00, John didn’t arrive.
I Call, but there is no answer

Thursday at 10:00, John calls: "Sorry I missed you yesterday, my mum is sick and I had to take here to the hospital. Lets meet tomorrow at 10:00"

Friday at 10:00, John didn’t arrive.
At 11:15 John comes in "Sorry I am late, there was a lot of traffic"

I see a demo of the program.
Me: That is great, when will it be ready.
John: In a month.
Me: Great, So lets meet next month
John: I need 70% up front, you know that I am the only one who can do this for you, and that once it is done you will gain 1 million next year, you only have to pay $7,000 now and $3,000 next month.
Me: [A bit weary] Ok, here is the money. Let see your progress next week at 10:00

Next week at John calls at 11:30
John: Sorry, I couldn’t make it, I was busy debugging the program, So I have nothing to show you yet, but we are progressing, lets talk next week

Two weeks later I am on the phone

Me: Hi John, how is the development
John: Sorry, I am still debugging the program, So I have nothing to show you yet, but we are progressing, lets talk next week.

A month later

Me: Hi John, how is the development
John:Errr, It is not done yet
Me: Why?
John: We had a lot of support, and there was a very large bug.
Me: Ok, how much is finished?
John: Not Much, We had many things in our iteration plan and our velocity just doesn’t allow it. I need more resources.
Me: Ok, take another Developer.

Next Month.
Me: can I see the application?
John: Errr, It is not done yet
Me: Why?
John: We needed to train the developer.

Next Month
Me: can I see the application?
John: Errr, you know we are spending alot of time communicating with Marketing, We just don’t have time.

Most of you would have stopped talking to John ages ago, some would have taken him to court and some would have never taken this opportunity.
But the truth is, that John is really me. It is two sides of myself, that is why I believe in him and why he is the only person that can write the application, but something is just not working here. I am delaying the important stuff that I need to do and have loads of excuses to myself.

I need to find a way to solve this and get things running by myself. Once I find the secret Ingredients I will be on the right track to management

Feb
24
Comments

Management for Geeks: Know where you spend your time

In a previous post I talked about managing myself which I believe mustimage be done before you manage others, if only for the sake of leadership

One of the task that I put on my weekly goals, was to find out where I was spending my time.
So I wrote next to each daily tasks, how long I spend on the task. Using David Seah Daily Goal Tracker I filled in the 15 minute boxes and summed them up at the end of the week.

What I found was astonishing:

  • I spent 2 hours a day on e-mails
  • My most effective hours are between 10-12
  • A few hours after lunch 3-4pm, I have the least effective hours (sometimes I found that at 4pm I didn’t do anything in the last hour)
  • I spent 55% of my time in management tasks. 
  • 40% of my time was in meetings.
  • I spend a small amount of time on unit testing and reviewing Typemock Isolator 

This data is priceless and helped me refocus my efforts dramatically. I stopped wasting time on e-mails, I put the difficult tasks in the morning, and I try to eat a lighter lunch ;-)

Feb
23
Comments

Management for Geeks: Managing myself

Typemock has been growing steadily since the company started and our customer base is growing.

At one point I found myself overwhelmed with the amount of tasks that I have to do. I have done some Time Management courses in the past so I searched the bookshelf for the old training books, I dusted them and reread the material.

I then looked for the best application to help me manage my time. I tried RememberTheMilk and Toodledo, but they didn’t really work. It was too easy to write a task and let it collect dust within the system. I wrote a task and during the day, higher priority tasks came through: Customer Support, A Bug in the payment system, A killer feature. These tasks just stayed on the list and the list turned into a large pile of tasks to do.

Now in Lean Management, A Pile of Taskshaving an inventory is a waste that needs to be eliminated. A pile of tasks to do is an inventory. When looking at the list, it is really hard to sort out which tasks I need to do today, and it is depressing to see the task list just growing in time. I worked for 18 hours and the list just got bigger.

I needed something that was always in front me with a small list of items that I can visualize on a daily basis that I am succeeding to progress

What I found was that going back to the basics of pen and paper made all the difference. I downloaded David Seah Weekly and Daily Goal Tracker. image These are amazing, I now write my weekly goals at the beginning of each week.

Every morning I write my daily goals – these are tasks I need to do that will help me achieve the weekly goals.

The best thing is that I can Tick-Off and Cross-Out the tasks that I have completed. This is a great feeling, especially if I manage to do ALL the tasks that I wrote and Added more tasks.

At the end of the day I go back to the weekly tasks and cross out the tasks that are finished. This is a amazing feeling, I can visualize how I am clearing my desk!

p.s. As a non conformist, I downloaded the PowerPoint version and added some tweaks myself.