Friday, November 30, 2007

Role of Leadership Mary Poppendieck

Leading Lean Software Development: Results Are not the PointAt Agile 2007, Mary Poppendieck gave a talk entitled ‘The Role of Leadership’. Mary started out with a little history going back to 1911 and the book ‘Principles of Scientific Management’ by Fredrick Winslow Taylor. The book came out about the same time as the 1st Ford assembly line of 1913 and addressed how to make workers more efficient. Mary totally disagrees with the book. Its premise is that workers will do as little as possible, do not care about quality and are not smart enough to know the best way to do the job. To improve efficiency, experts need to define the best way to do a job by breaking down the job into parts and finding the best way to do each part. Workers get paid extra to follow the method determined by the expert. The workers are very happy because they get a higher pay and the employers are very happy because they get higher profit. A lot of these early management thoughts have made their way into current western management practices.

Next Mary covers Charles Allen and his 4 step method of industrial training (Preparation, Presentation, Application, and Testing). To train, get ready and figure out the job, present it and have them do it then do some testing to make sure they know how to do it and follow up on a regular basis until the workers get it. If the learner hasn’t learned then the teacher hasn’t taught. On job training is the best. Let’s train supervisors and teach them how to train the people working for them and cascade it down. This method was tested in the war and proved successful.

20 years later (1940), there was another war and Training Within Industry (TWI) was used. It adapted Allen’s approach to take an incredibly inexperienced workforce and train them. The idea was to train line supervisors 1st by teaching them on job instruction (how to train), job methods (how to improve), and relations (how to treat people/solve problems). The method resulted in impressive productivity, but was abandoned in the US after the war ended. However, it got exported to Japan to help rebuild the economy.

The premise of TWI is the 5 skills of a good supervisor:
1. Knowledge of work: Have to know how to do the job.
2. Knowledge of responsibility: Have to understand policy, regulation, rules, etc
3. Skill in instructing: Have to be skillful instructors to pass knowledge onto others.
4. Skill in improving methods to enhance quality and quantity
5. Skill in leading

Next Mary moves to 1950 and the Toyota Production System. Taiichi Ohno studied US auto manufacturing and realized that Japan has to improve its manufacturing to catch up with the US but also realized that Japanese workers are not dumb and can figure out the best way to do the job without being told. The Toyota Production System was based on 3 keys:

Saturday, November 10, 2007

Why I don’t like Mondays

Collaboration Explained: Facilitation Skills for Software Project LeadersJean Tabaka gave a talk at Agile 2007 entitled ‘Why I Don’t Like Mondays’. Most hate Mondays because of long meetings. The talk is mainly about managing and facilitating meetings. Jean starts by listing 10 common meeting dysfunctions:

1. Meetings are repetitive: They are all the same. If the same topic is being discussed over and over again, it means that decisions from last time are not being tracked.

2. The same people do all the talking: This leads to others thinking why am I here?

3. Subjects are beaten to death again again: Decisions need to be honored.

4. We come to decisions just to get the meeting over.

5. I don’t have time to code because I am in too many meeting: Notion is that if I am not coding I am not working. In Agile, part of your job is not to code.

6. We have too many people in our meeting: The meeting should include the necessary people needed to get to yes or make a commitment. Having too many people is a sign of distrust and a need for control. These people are standing in the way of commitments.

7. We have too few people in our meeting: Missing product owner, customer representative, tester are too busy. Database developers cannot attend meeting. If all these members are important to decision making they should be in the meeting.

8. With constant stream of meetings, we are treated like machinery not people.

9. Our demos and reviews never bring about anything new: These meetings are not for acceptance. Acceptance should have occurred before hand. The demo is to demonstrate progress. It’s an opportunity to act like a team. What are we doing and where are we heading?

10. All decisions were made outside of the meeting. We just had the meeting to be told what we are doing and what to agree to: This indicates that there is still a lot of control going on. Technical architect is deciding what plan should be and what estimates are. Moving from command and control to collaboration is required.