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
Integrity 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.
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
really 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.
Management for Geeks – Expanding your existence
I always wanted to be a manager. I was sure that I could do it
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 answerThursday 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:00Next 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 weekTwo 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
Management for Geeks: Know where you spend your time
In a previous post I talked about managing myself which I believe must
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
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,
having 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.
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.
Recent Posts
- Unacceptable: Unit testing will take 20 years to catch on
- The 4 reasons why we DIDN’T choose Oslo
- Typemock Academy Launch
- The First Rule to Software Craftsmanship
- Goal-driven Development
Categories
- .NET Tests
- Agile
- Code Integrity
- Community
- Debugging
- Fun
- Management for Geeks
- Marketing
- Product
- Release
- Reviews
- SharePoint
- TDD
- Time Management
- Uncategorized
- Unit Tests
Archives
- May 2010
- April 2010
- March 2010
- February 2010
- December 2009
- October 2009
- September 2009
- August 2009
- July 2009
- June 2009
- May 2009
- April 2009
- March 2009
- February 2009
- December 2008
- November 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
