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 |
Friday, September 29, 2006
Firing
A friend and I were talking about getting fired the other day. In my experience, most people who are fired are not unskilled or incompetent. They may be in the wrong job, which means there's a poor fit between the skills, domain knowledge, preferences, and qualities needed to be successful and those of the individual. As likely, the person doesn't fit in -- there's a poor match between the values, beliefs, and assumptions that perdominate in the organization and those of the individual. I'm not saying that some people shouldn't be fired. There are people who, for various reasons, won't (or can't) manage themselves well enough to make a positive contribution. When someone doesn't have the skills to be successful (or can't develop them in the time needed), that person needs to go somewhere else, either within the company if there's another place where they can contribute, or to another company. People who don't fit the culture probably need to move, too. Culture is incredibly stable in organizations, and one person swimming against the tide usually makes himself miserable and isn't particularly effective (although I think it's worth looking at what you can learn from the perspective of a cultural outsider to shake up your assumptions). Note that none of these equate to "bad person." But somehow that's what often comes across when people are fired. I've heard too many stories about people who were blamed, belittled, humiliated, or verbally abused when they were fired. If the manager been doing his/her job, people know what they need to do to be successful, and know what they need to change to be successuful. And if those to things don't match up, it's the manager's job to move people on without making it a humiliating experience. When someone doesn't have the appropriate skills or is a poor cultural fit, it's usually indiciative of a problem with the hiring process, not the individual. So why take it out on the individual? Blame and shame doesn't help either the person being fired or the person doing the firing. | Friday, September 22, 2006
Retrospective Activities
Monday, September 18, 2006
Now *this* is an individual problem
I've pointed out in a few posts that the environment (system, processes, structures, culture) and management are a huge factor in performance in organizaitons. And they are. But sometimes, it is an individual problem. Like this woman who works in a health care providers office processing insurance claims. They have a visibility system in the office; the inbox and the out box. When the inbox is full, there's lots of claims to process. When it's empty, it either means there haven't been any patients or the claims processer is keeping up. As long as there are patients coming in, and claims are being processes, money should flow into the business. Last month the office manager was in a panic. The inbox was empty, but the bank balance was dwindling instead of increasing. Of course an empty inbox could mean that there were no patients, but the office manager had seen a steady stream of people coming into the office for care. The office manager suspected embezzlement or fraud and called the bank. The bank told her there was nothing suspicious about the money going out, but that no money had been coming in. It turned out that the claims processor wasn't doing her job, and didn't want any one to find out, so she stuffed the claims in her purse. It looked like she was keeping up. So much for the visibility system. Clearly this is an individual problem. But its also a management problem. Maybe they need just a tad more in the way of accounting reports. Ya think? Not to check up on employees, to know the state of the business. I mean, you'd think a manager in a small office might notice that no money was coming in for several weeks. When I heard this story, I asked if they'd fired the claims processor. They hadn't....because no one else knew the claims processor's job (another management problem). I can't make this stuff up. And one of the biggest mistakes people make is attributing individual problems to the system and system problems to individuals. | Thursday, September 14, 2006
Hmmmm... .who do you think would apply for this job?
This "help wanted" ad just came over one the of the Agile lists I subscribe to:
I'm just not seeing much that matches Agile principles here. (The reference to "implementing the final solution" is unfortunate on a completely different level.) I guess "work closely with internal IS staff and business partners" could be be done in a way were "Business people and developers must work together daily throughout the project." I see the purpose of an open position advertise me as attracting candidate who are a good fit for the job, and discouraging candidate who aren't a good fit. If this company (which shall remain nameless) is really looking for someone who has worked with Agile methods and understands the principles of agile software development, they may actually be discouraging qualified applicants with this language. Now, I doubt the person who put out the position description has direct experience with agile methods. It's probably someone in HR, and he/she is probably using standard job descriptions. If we want to improve our chances of attracting candidates who have worked in Agile environments, we need to work with the HR folks (as part of the extended project community) to source candidates who have the experience, skills, and qualities to work on an Agile project. Unless we provide some sort of job analysis--the functional and collaboration skills needed, plus qualities preferences needed to be successful in the job--HR will fall back on their traditional descriptions. HR owns many of the policies and procedures that can help or hinder Agile adoption. It's time we start working with them to create structures and systems that will help them help us. | Wednesday, September 13, 2006
Diluting Appreciation
Mike Kelly has a nice post on diluting the power of appreciation. My experience is that genuine appreciations can transform many situations. A couple of years ago I led a year-long project with a distributed team--no two members were in the same timezone. We had a weekly teleconference. I started every telecon with appreciations (and ended with hopes and wishes, which I'll talk about some other time). After appreciations--which took about 3 minutes--we got down to business. And everyone knew he/she was valued and that someone had notice his/her contribution in the previous week. And even when we had conflicts, we had that grounding to come back to. This year, we get right down to reviewing action items (I'm not lead this year). To me, it feels brusque, and people seem grumpier and less inclined to give the benefit of the doubt. Same group of people. One small change in meeting protocol. It's easy to dilute the appreciation by making it more removed, more abstract, and more general, because giving a direct appreciation requires making contact with another person. And making contact can mean vulnerability. Here's the sorry path to dilution, starting with a direct person-to-person appreciation...
....and ending with meaningless sort of group thank you. | Monday, September 11, 2006
Just thinkin'
Johanna has been blogging about finding candidates who have experience with agile methods. So I've been thinking about the "typical" resume sifting process and how that might work/not work when you're looking for candidates who have worked on an agile team. Typical resumes focus on specific technical skills, languages, tools or on functional experience. These are important, but might not be most interesting to me in looking for candidates if I'm using Agile development methods. Also, typical resumes rely on keywords. Keywords make for efficient searching, but not necessarily effective hiring when you are looking to integrate people into existing team or start adapting and adopting agile methods. What I suggested to Johanna was to focus on agile principles rather than looking for specific "agile" keywords...which got me thinking: So why not write a resume around the principles behind the Agile Manifesto? Our highest priority is to satisfy the customer For each of the principles, the candidate describes what he or she's done--what practices and behaviors show that he/she understands and can apply the principles to developing software. Even when you (as a person hiring) don't have resumes that focuses on principles of agile software development, ask questions that get a candidate talking about how they've applied the agile principles, rather than focusing on languages or specific practices. Here are some of the question areas I suggested in my comment on Johanna's hiring blog: Can she describe how her team adapted to changing requirements and delivered business value? Just thinkin' | And why might someone not do his job? Why do people fail to do what they are supposed to do? We're quick to pin the blame on individuals, when it may be a system problem or a management problem. So to list just a few of the reasons some one might not be doing his/her job (or some aspect of it): They think they are doing it. That's a mismatch between expectations or a mis-communication. System problems are management problems, not individual problems. Incomplete communication about a task or job is a management problem. Not setting context is a management problem. Unrealistic expectations are a management problem. That said, I've seen managers spend huge amounts--several hours a week for a period of months--of time helping one person reach minimum acceptable performance, and that's a mis-allocation of a scarce resource (management time). So look at how the system may be contributing to the problem. And look at how you as a manager, might be contributing to the problem. Then fix the problem rather than affixing blame, and do it quickly. | Friday, September 08, 2006
A people problem or a process problem?
In reponse to yesterday's post, Ken Flowers commented: ...I've wondered if there are times when the retrospective should call out blame. That is, on some projects the real problem is that someone didn't do their job. I believe that this kind of feedback should be one-on-one, but that doesn't change the point that it is a personal problem not a process problem: "Joe messed up." Maybe. Maybe it is a process problem. If this is an agile team--or any self-organizing team--where team members make performance commitments to each other not to a manager, Joe's not doing his job is a team problem, and it might be problem with their process. I'd look at questions like these:
On the other hand, if this is a traditionally managed project where people report status to a manager, I'd wonder about how the manager was doing his or her job relative to the questions above. But then it's a management problem, not a team problem, and I wouldn't put the focus on Joe in the retrospective. And I agree, on a team where people report status to a manager, feedback to Joe needs to be private. It might come from the manager, or it might come from a peer. (And I'd want to give feedback to the manager on the impacts to the team of not managing.) AND even in a case where Joe plain old didn't do his job, it would be more helpful to give Joe information about his behavior/work results and the impact on the team. Then Joe has choices: He can choose to start doing his work, if he's been choosing (up until now) not to do his work. He can make the courageous choice of saying he doesn't have all the skills he needs and ask to pair with someone to improve his skills or seek training. Or Joe can move to another part of the company where he does have the skills to be successful. And if Joe chooses not to do any of those (or can't gain the skills in the timeframe needed to meet organizational goals), the team coach or the manager can take the courageous choice to move him off the team. It's hard enough to build software with out carrying someone who can't or won't do the work. Some times no body is better than a person who is just a warm body. (I know of self-organizing teams who move non-performers off the team without the coach or manager getting involved.) | Thursday, September 07, 2006
Blame-proofing retrospectives
Recently someone asked how to avoid the blame game in retrospectives. Here are three things you can do. 1) Establish working agreements (sometimes called "ground rules") at the beginning of the retrospective. These are contracts the group members make with each other about how they'll interact and work together during the retrospective. Some examples of Working agreements that I've seen groups use to stay out of blame are:
Everyone in the group has responsibility to monitor working agreements, not just the retrospective leader. 2) Call behavior that violates working agreements. There's no sense having working agreements if the group ignores them. So if someone violates a working agreement, call them on it. Don't blame them, just call attention to the behavior. So when John says "If Henry hadn't been such a big baby we wouldn't be in this mess," say something like, "Hey, John, that sounded like a personal attack." 90% of the time, John will rephrase with out further prompting. 3) Don't leave an opening for blame. Use activities that give people a structured and constructive way to discuss issues and problems. Free-for-all discussions are much more likely to devolve into blame (or otherwise get off track), and that doesn't help anyone. Blame erodes trust and groups need to have some level of professional trust to really face and solve problems. There's lots of other things you can do, and these are a good start. | |