insights you can use |
|
|
"Poor management can increase software costs more rapidly than any other factor." (Barry Boehm) Behind Closed Doors: Secrets of Great Management (Pragmatic Programmers) Archives May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 April 2006 March 2006 February 2006 January 2006 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 Contents (c) 2003-2006 Esther Derby I also publish a quarterly newsletter for people who manage in software organizations. If you'd like to receive the newsletter, drop me an email. It's on paper, so please include surface coordinates - name and full address.
Syndicate this site (XML)
Links |
Thursday, October 16, 2008
Improving Retrospectives
A friend forwarded this email to me: I just wanted to share a tip that has made a world of difference for our scrum. I read through this book about 4 months ago Woohoo! This is the highest praise an author can receive. (I don't think the activities are cheesy!) And, for your reading pleasure, two recent articles on retrospectives: Making Retrospective Changes Stick Eight Reasons Retrospectives Fail (And What You Can Do About Them) Labels: agile, Retrospectives | Thursday, October 09, 2008
Yo-yo managers break trust
Most of the time I hear people talking about trust, they are talking about trust between team members. It's equally important to have trust between managers and team members. In fact, the relationship between an employee and his/her manager consistently shows up as a key factor in retention. One of the ways that managers in the middle of agile transitions break trust is by giving a decision to the team and then taking it away, as in Tale of a Yo-Yo Manager. Labels: agile, management | Monday, November 26, 2007
Going, Going...
Diana and I have one space left in the December 11-13 Secrets of Agile Teamwork in Portland, Oregon. SAT is three days of experiential learning and practical tools to help you and your team reach the next level of collaboration and productivity. Be the first to fax your registration and the spot is yours. After that, its the waiting list. Labels: agile, personal effectiveness, workshops | Thursday, November 22, 2007
Interview with Jerry Weinberg
An interesting interview with Jerry Weinberg here, at the Citerus site. Some excerpts: Q: You must have seen a whole bunch of ideas, about how to best do software development, grow and die over all those years. Do you see the agile movement as a pendulum swing or is it a move in a new direction? Q: If you're the J.K Rowling of software development, who's Harry P then?A: Well, first of all, I'm not a billionaire, so it's probably not correct to say I'm the J.K. Rowling of software development. But if I were, I suspect my Harry Potter would be a test manager, expected to do magic but discounted by software developers because "he's only a tester." As for Voldemort, I think he's any project manager who can't say "no" or hear with Harry is telling him. Labels: agile, management | Wednesday, May 02, 2007
Focus on the individual or the system?
I've been watching a discussion on the Agile Project Management yahoo group, which poses the question, "Does everyone in agile need to be above average?" The question behind the question is, "Does agile need extremely competent people in order for it to work?" When I read stuff like this, I wonder "What method of building software works without competent people?" It's a puzzle. Which brings me to this snipped from Bob Sutton (via Jason Yip): Great systems are more important than great people. The notion that you are doomed to mediocrity if you can’t hire the very best people has little empirical support. Yes, there are big differences between the most talented people and the next level down in most occupations. But systems are more important. Toyota beats the competition as a result of a superior system; Men’s Wearhouse and McDonald’s don’t hire people that are much different from their competitors, but their systems explain their long-term dominance more than their people. As Jeff Pfeffer says, many organizations seem to have “brain vacuums” to turn people who seem to be smart into bumbling fools. Even the most brilliant person is doomed to fail in a bad system, and seemingly mediocre people can become stars in a great system. Agile methods are a system that can help people perform better. One agile coach I know tells a story about the first agile pilot in her organization. Someone in senior management didn't want the pilot to succeed. So he sent her all the "poor performers" for the pilot team. But they ended up outshining expectations and did a fine job of delivering valuable working software. Further, focus on individual talent (and focus on individual performance management) takes focus off improving the system. (I'll say this now, because someone always asks at this point "So you're saying we should hire incompetent dodos?" No, I'm not saying, "hire dodos." Hire competent individuals who are a good fit for the organization's culture. Focus on improving the system to improve results. Focus on individual performance for career development. Give feedback to help individuals become more effective.) Labels: agile, management | Sunday, April 08, 2007
Secrets of Agile Teamwork June 5-7, 2007
Diana and I are offering Secrets of Agile Teamwork this June 5-7, 2007 in Portland, Oregon. This is a public workshop, open to 12 people. We'll be focusing on the interpersonal skills that enable people to be effective team members. We'll be looking at communication, conflict, shared leadership, and forming and nurturing teams. If you want to be the best team member, ScrumMaster, or coach you can be, join us for three days of learning and fun. Download a registration form here. Labels: agile, self-organizing, teams | Wednesday, April 04, 2007
When is it time to move someone off a team?
When I talk to teams about self-organizing, people worry about what to do when some one on the team isn’t working out. If we’re a team, they posit, we have to work things out so we can work together. Not necessarily so. Teams need to manage team membership so that they can achieve their goals. There are times when teams can work things out to work together. And there are times when someone needs to go. I see four common reasons to move to move someone off a team. When a team member doesn’t have the skills needed to do the work and can’t (or won’t) learn them in the timeframe needed by the team and the business. This can happen because of a hiring mistake, when the company moves to a new technology, or when the focus shifts from one type of work to another (e.g., from manual functional through the GUI testing to automated testing through APIs). This is really hard when it’s someone who has contributed and now can’t make the learning curve. If there’s no other way for the person to contribute, it’s time to move him off the team. In the long run, though, allowing the situation to continue doesn’t do anyone favors. The team may start to resent the non-contributing team member. The non-contributing team member doesn’t have the satisfaction of pride in work and making a contribution. Everyone suffers. When someone can’t or won’t work collaboratively. For example, when a person focuses on completing his tasks at the expense of completing the team’s iteration goal, or the rest of the team agrees to share code-ownership and he refuses to relinquish control over “his” code. Or when an individual doesn’t communicate with other people on the team. On a team with interdependent goals, having a member who refuses to collaborate (for what ever reason) makes it harder for everyone to do their work. It also creates a dynamic where team members focus time and energy on the behavior of one team member rather than on building working software. It’s futile to try to convince someone to work collaboratively when he doesn’t value collaboration. When the person challenges efforts to move forward that aren’t perfectly aligned with his ideas. Sometimes an individual sees risks in an option and has a hard time talking about it in a helpful way. Usually this comes as “that will never work here,” or “we tried that and it didn’t work”. This is irritating; AND there’s often useful information behind the objection—when you tease it out. (And you can coach the person to modify their style.) On the other hand, some people challenge efforts to move on a philosophical basis—they call into question whatever the team proposes on the basis of an abstract notion of how-things-should-be. It’s really easy to get hooked on the content and get sucked into discussions about why some action is or isn’t pure and correct. There is a place for “devils advocating” and vetting actions against fundamental values. That’s an important function on any team and I’m not talking about eliminating it. However, when one member has a pattern of challenging efforts to move forward, not letting go, and killing new ideas with criticism, its a problem. Especially when the challenge shifts to meet each new proposed avenue of progress that doesn't meet the purity test. When someone has a fundamentally different vision of where the team should go. A few years ago, I was traveling from Amsterdam to Copenhagen by rail. My route required that I change trains twice. As I settled in to my seat after the first train change, a nice German woman asked me where I was going. “Copenhagen,” I replied. “Oh, no, my dear,” she said, “you are going to Berlin.” I guess I could have argued, but instead I got off at the next station, back tracked, and got myself onto the train that was going to where I wanted to go. It’s like that sometimes with teams. Most of the team wants to go in one direction, and one individual wants to go in a dramatically different direction. And he argues for that direction, well after the majority of the team has expressed their commitment to go another way. The team spends lots of time trying to convince the one person, and that person spends a lot of time trying to convince the team. At a certain point, it’s time to say, “This is where we are going. We want you to come with us. If it doesn’t fit for you, we understand. And you’ll need to go your own way.” Early in the life of a self-organizing team, the coach may have this conversation. Some teams reach the point where they have the conversation amongst themselves. There’s a risk that the individual has the right of it, and the team is headed in the wrong direction. But if the team makes some movement, they are likely to discover that, and then they can make corrections. As long as the argument continues, no one is moving at all. Excluding some one from a team is difficult. Most of us want to feel included and part of the group. That’s a potent trigger for most of us. Some people feel overwhelming anxiety over excluding someone from the team. For others the need to belong is equally overwhelming. Helping someone move off a team is seldom easy. And when it’s done—and handled with respect and caring for the person who is leaving the team—it’s doesn’t have to be a traumatic event for anyone. Labels: agile, self-organizing, teams | Sunday, March 25, 2007
A ScrumMaster is like...
Every so often someone asks what the title ScrumMaster means. Some assume it implies mastery of a subject, such as a Zen Master, or a master carpenter. My friend Bryan Stallings gave the best answer I've heard so far: When I work with those new to Scrum I explain this subject as follows... Obviously, mastery of coaching a team to self-organize and helping teams and learn how to deliver working software every iteration is a study that can consume an entire career. In the meanwhile, Bryan's definition gives a good place to start the journey. Labels: agile | Friday, February 09, 2007
Breaking features into stories
I find that breaking working into iteration-sized chunks is one of the areas where many teams struggle as they start with Scrum or other agile methods. It's particularly hard for team who have been organized by component or layer (GUI, middleware, backend...). Now Brian Marick has posted a nice example of how to break a feature down into stories on his site. This is the sort of concrete example that helps people translate the concept to their own context. Labels: agile | Sunday, January 21, 2007
Daily Stand Up Meeting
A while back, someone told me that they were having trouble with their daily stand up meetings. "What's the issue?" I asked. "People don't like standing for such a long time," came the response. I was puzzled. Fifteen minutes doesn't seem like such a long time to stand for most people. So I asked more questions. It turned out that the stand up meeting was lasting nearly an hour. The standup meeting started with one team, and as other people heard about how effective the meeting was, they started showing up. And talking. Pretty soon there were 40-some people at the meeting. So this meeting was something, but it wasn't a daily stand up (and it wasn't effective anymore, either). All of which leads me to Jason Yip's article, It's Not Just Standing Up: Patterns of Daily Stand-up Meeting. Most of what you need to know about stand up meetings. Thanks Jason. Labels: agile | Monday, January 08, 2007
An unambiguous answer
We've all heard the jokes about consultants who answer every question, "It depends." Actually, it often does depend on the context. Not this time. Someone asked me recently if ScrumMasters (or other agile coaches) should be involved in yearly performance reviews, ratings, and rankings. You can read my unambiguous answer here. Labels: agile, annual reviews | |