<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.5 (http://www.squarespace.com/) on Fri, 03 Sep 2010 13:16:45 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Software Team Leadership</title><subtitle>Software Team Leadership</subtitle><id>http://5whys.com/blog/</id><link rel="alternate" type="application/xhtml+xml" href="http://5whys.com/blog/"/><link rel="self" type="application/atom+xml" href="http://5whys.com/blog/atom.xml"/><updated>2010-07-18T11:33:32Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.5 (http://www.squarespace.com/)">Squarespace</generator><entry><title>3 Quotes about Leadership we should listen to</title><category term="Link Love"/><id>http://5whys.com/blog/3-quotes-about-leadership-we-should-listen-to.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/3-quotes-about-leadership-we-should-listen-to.html"/><author><name>Roy Osherove</name></author><published>2010-07-18T11:33:32Z</published><updated>2010-07-18T11:33:32Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Some inspiring words from twitterverse today:</p>  <blockquote>   <p>@WilnaMurphy: You can never cross the ocean unless you have the courage to lose sight of the shore. - Christopher Columbus.</p> </blockquote>  <blockquote>   <p>@leadershipcoach: &quot;If I had asked people what they wanted, they would have said faster horses.&quot; ~Henry Ford</p> </blockquote>  <blockquote>   <p>@aycangulez: &quot;There is nothing so useless as doing efficiently that which should not be done at all.&quot; - Peter Drucker</p></blockquote>]]></content></entry><entry><title>How to annoy your customer with usability problems</title><category term="Anti Patterns"/><id>http://5whys.com/blog/how-to-annoy-your-customer-with-usability-problems.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/how-to-annoy-your-customer-with-usability-problems.html"/><author><name>Roy Osherove</name></author><published>2010-07-03T19:10:31Z</published><updated>2010-07-03T19:10:31Z</updated><content type="html" xml:lang="en-US"><![CDATA[<ol>   <li>You can’t download the software. you have to buy it and ship it on a CD set. You HAVE to buy it with headphones, and you HAVE to pay extra taxes for the shipping. </li>    <li>During the installation process, multiple DOS windows pop up (netsh.exe and others) that look pretty scary to the uninitiated eye. </li>    <li>You HAVE to install from the CD. to get around that you will have to MOUNT a cd or crack the program. </li>    <li>if the software has an update, it downloads the whole software again in full and you need to go through the whole installation process. </li>    <li>You CANNOT copy paste the activation key into the software. you have to type it by hand like an idiot. </li> </ol>  <p>Which software am I talking about?</p>]]></content></entry><entry><title>Choice</title><category term="Meta"/><id>http://5whys.com/blog/choice.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/choice.html"/><author><name>Roy Osherove</name></author><published>2010-06-23T05:43:47Z</published><updated>2010-06-23T05:43:47Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Maybe all Microsoft developers need to watch this</p>  <p><a href="http://66.29.219.11/conery_ndc_talk.mp4">http://66.29.219.11/conery_ndc_talk.mp4</a></p>]]></content></entry><entry><title>Scrum vs. Kanban attitudes</title><category term="Meta"/><category term="Shu"/><id>http://5whys.com/blog/scrum-vs-kanban-attitudes.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/scrum-vs-kanban-attitudes.html"/><author><name>Roy Osherove</name></author><published>2010-06-13T03:52:16Z</published><updated>2010-06-13T03:52:16Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>If you’re wondering about choosing Kanban or Scrum for your team or organization, I’ve found <a href="http://agilemanagement.net/index.php/site/comments/thoughts_on_how_kanban_differs_from_scrum/">this post to be very enlightening</a> on the differences in attitude and change provocation between the two. I’ve also found that integrating them into a single process can be very healthy.</p>]]></content></entry><entry><title>Exclude a team member &amp;ndash; and you&amp;rsquo;re an idiot</title><category term="Anti Patterns"/><category term="Growing People"/><id>http://5whys.com/blog/exclude-a-team-member-ndash-and-yoursquore-an-idiot.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/exclude-a-team-member-ndash-and-yoursquore-an-idiot.html"/><author><name>Roy Osherove</name></author><published>2010-05-25T06:55:44Z</published><updated>2010-05-25T06:55:44Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Don’t exclude people in your team. It’s important that all people in your team are treated as equals and with respect. It may feel like a “duh” moment, but people get offended, <em>deeply</em> if they are left out of the loop. </p>  <p>Also, what kind of message does this send to the rest of the team? </p>  <blockquote>   <p>“It’s OK – you can ignore or exclude that person too!”</p> </blockquote>  <p>If you have a team member that you find it hard to deal with, the last thing you want to do is exclude them from important discussions, team standup meetings, or even lunch.</p>  <blockquote>   <p>You will only be making it worse.</p> </blockquote>  <p>Be brave and confront your fear of getting that person on board. Whatever your problem is with them, remember it is <em>your</em> problem with them. <em>you</em>&#160; have to solve it, because no one will do it magically for you.</p>  <blockquote>   <p>No, firing is almost <em>never</em> the right answer. Firing someone means you’ve given up on yourself about growing that person and making them the dev that you <em>want</em>&#160; them to be. You get to fire people after at least 4 months of trying. Make that your hard line. Stick by it.</p> </blockquote>  <p>In those months – you <em>will</em> make that person part of the team, and teach them (if you need to) how to act as part of the team. You <em>excluding</em> them from the team activities (even one or two every once in a while) just helps them get more entrenched in their belief that they <em>should</em> be different and not act as part of the team.</p>]]></content></entry><entry><title>Video &amp;ndash; Code Leaders and Beautiful Teams</title><category term="Conference"/><category term="First Steps"/><category term="Video"/><id>http://5whys.com/blog/video-ndash-code-leaders-and-beautiful-teams.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/video-ndash-code-leaders-and-beautiful-teams.html"/><author><name>Roy Osherove</name></author><published>2010-05-24T12:09:40Z</published><updated>2010-05-24T12:09:40Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Here’s the video of a talk about team leadership and beautiful teams I gave at QCON London this year. You <a href="http://5whys.com/storage/Code%20Leaders.pdf">can download the slides for this presentation here</a>.</p>  <p>This talk is mainly about the first stage (out of <a href="http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html">the three team stages</a>) – where the team lead takes charge of guiding and coaching the team.</p>  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="437" height="370" id="viddler_eb902083"><param name="movie" value="http://www.viddler.com/player/eb902083/" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><embed src="http://www.viddler.com/player/eb902083/" width="437" height="370" type="application/x-shockwave-flash" allowScriptAccess="always" allowFullScreen="true" name="viddler_eb902083"></embed></object> <p/> note: the original video for this presentation can be found at: http://www.infoq.com/presentations/Code-Leaders-Beautiful-Teams ]]></content></entry><entry><title>Leadership and the mature team</title><category term="Guest Post"/><category term="Ri"/><id>http://5whys.com/blog/leadership-and-the-mature-team.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/leadership-and-the-mature-team.html"/><author><name>Roy Osherove</name></author><published>2010-05-18T20:24:59Z</published><updated>2010-05-18T20:24:59Z</updated><content type="html" xml:lang="en-US"><![CDATA[<blockquote>   <p>The following is a guest post by <a href="http://twitter.com/asplake">Mike Burrows</a>.</p>    <p>Until last year a developer, project leader and development manager in investment banking, Mike is now an IT Director in the energy risk management industry, still leading projects, still writing code.&#160; His blog (<a href="http://positiveincline.com">positiveincline.com</a>) covers open source development and his recent Kanban implementation.</p> </blockquote>  <p>Roy's post &quot;<a href="http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html">The 3 maturity stages of a software team and how scrum fails to identify them</a>&quot; [1] rings true to much of my experience as a team member, project leader and development manager, but still it touches a red button of mine!&#160; I'm grateful to Roy for his very gracious offer to let me respond to it.</p>  <p>   <br />My red button?&#160; I worry about the Agile community's recent focus on self-management.&#160; Don't get me wrong: self-management is a good thing, but in its current popular usage it has two problems:    <br /></p>  <ol>   <li>It fails to capture satisfactorily the much more powerful concept (borrowed from the study of systems) of self-organization</li>    <li>There seems to be a move in the community to minimize the role of leadership     <br /></li> </ol>  <p>Self-organization is at the heart of agile methods, indeed it is the 11th of the 12 principles [2] behind the Agile Manifesto.&#160; Definitions vary, but in this context it describes the ability of a system (here the project team) to create for itself ways to increase its own effectiveness.&#160; </p>  <p>Looking at the team from the outside, we see &quot;emergence&quot; - new behaviors arising without external intervention.&#160; In the Scrum context this might happen as a result of team retrospectives (the 12th principle) or simply through the individual contributions of team members.&#160; Either way it's important to recognize that some of these new behaviors (i.e innovations) may be highly non-standard.</p>  <p>   <br />Leadership (whether from within or without) takes the team to places it would otherwise never have reached, perhaps never even have considered.&#160; This can be in terms of the team's internal structures or its external goals, but in the absence of leadership it is a rare thing for a team to take itself out of its comfort zone, to redefine its approach to the outside world, perhaps even to completely reinvent itself.    <br /></p>  <p>Here's the paradox: good leadership encourages emergence, but the leader must also be ready to take the team out of the ecological niche it has carved out for itself, however effectively.&#160; Yes, self-management is needed at every level (or the leader has time only for management), but we need also the humility to recognize its limits.&#160; Now there is true maturity!</p>  <p>[1] <a href="http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html">http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html</a>    <br />[2] <a href="http://agilemanifesto.org/principles.html">http://agilemanifesto.org/principles.html</a></p>  <p>   <br />Mike Burrows    <br /><a href="http://positiveincline.com">http://positiveincline.com</a>    <br /><a href="http://twitter.com/asplake">http://twitter.com/asplake</a></p>]]></content></entry><entry><title>The 3 maturity stages of a software team and how scrum fails to identify them</title><category term="Growing People"/><category term="Ha"/><category term="Ri"/><id>http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/the-3-maturity-stages-of-a-software-team-and-how-scrum-fails.html"/><author><name>Roy Osherove</name></author><published>2010-05-17T12:36:21Z</published><updated>2010-05-17T12:36:21Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Many so called ‘Agile’ teams fail so miserably to deliver for the simple fact that the teams simply are not <em>mature</em> enough to be part of an agile process that requires self managing teams.</p>  <p>I’ve learned to recognize three states a team can be in in terms of maturity -</p>  <ul>   <li>Chaotic Stage – the state where a team does not posses the skills, motives or ambition to become a mature self managing team. </li>    <li>Mid-Life stage – where a team posseses <em>some</em> skills for self management and decision making , and can make <em>some</em> of its own decisions without needing a team lead. </li>    <li>Mature stage – where a team is practically fully self managing and a team leader is mostly a coach rather than a decision maker.</li> </ul>  <p>The trick most team leaders need to do is to recognize which stage a team is in, and to advance their team to the next stage.</p>  <h3>Most teams are chaotic</h3>  <p>I would easily say that most teams are chaotic – either in technical lack of knowledge <em>(‘what’s source control?’)</em>, lack of motives <em>(‘I just code X lines of code and try to avoid QA’)</em>, or lack of ambition <em>(‘things are fine the way they are’)</em></p>  <p>You can’t take a team that doesn’t even do source control, and say “you’re self managing from now on, GO.”&#160; - no one will know what to do, or have any inclination to do it.</p>  <h3>Maturing a team</h3>  <p>The process of bringing a team to maturity, where a team leader as a dictator is never needed, still lacks a name. I’ve been asking around for possible names for this process. some of them were quite interesting:</p>  <ul>   <ul>     <li><em><strong>Resetting</strong> </em>a Team </li>      <li><em><strong>Rebooting</strong></em> a Team </li>      <li><em><strong>Reorienting</strong> </em>a Team </li>      <li><em><strong>Redicreting</strong> </em>a Team </li>      <li>Team <em><strong>Regroupiong</strong></em></li>      <li>Team <em><strong>Rebirth</strong></em></li>      <li>Team <em><strong>Renaissance</strong></em></li>      <li>Team <em><strong>Reframing</strong></em></li>      <li>Team <em><strong>Reincarnation</strong></em></li>      <li>Team <em><strong>Resurrection</strong></em></li>   </ul> </ul>  <h3>Each stage needs a different kind of team leader</h3>  <p>Different team lead tactics apply to each stage. For the same reasons Scrum Masters (who are nothing but active coaches) fail to really help immature teams, so do team dictators hurt more than they help truly mature, self managing-able teams.</p>  <h3>The chaotic stage needs a strong, dictator like leadership </h3>  <p>-- if only to bring some much needed peace and quiet to a team that might be mostly struggling to keep its head above water all day long.</p>  <p>A dictator team lead is there in the first stage, to bring the team up to a specific state, where they also have the time and patience to learn new things. The team lead will help put out fires and put the team in a bubble so that decision making becomes easier until the team can make its own decisions. they will start doing code reviews and many of the things this blog advocates for.</p>  <p>Many of these same things will be seen with a very big question marks on the faces of many agile coaches out there. They fail to realize that a chaotic team still isn’t ready for a coach. it needs a direction, a back wind, and an open road to get going.</p>  <h3>The Mid-Life stage needs a coach-dictator</h3>  <p>As the team lead feels that the team has reached some “safe shore” – they will move on to the next stage in the team’s life – the learning stage – the stage where a team will learn the skills needed to become self managing, all within a very concerete seieres of constraints that will slowly open up and the team progresses.</p>  <p>For example, the team lead will <a href="http://5whys.com/blog/step-4-start-doing-code-reviews-seriously.html">insist that code reviews be done on each check in</a>, but will teach the team to do its own code review so that the team lead is no longer the bottleneck, and so that the team learns essential skills for code quality and decision making on what’s an acceptable piece of code.</p>  <p>Slowly but surely a team can progress to become fully self managing. At each stage of the team’s life, it learns skills that help it make its own decisions, until, at some point in time, the team lead does not need to make any day to day decisions. The team has all the skills needed to move on to the next stage.</p>  <p><strong>This and the next, are the stages many scrum masters need </strong>in order to achieve anything. Sadly, most teams are not at this stage, and nothing but some good old fashioned dictatorship can help change things for those teams.</p>  <h3>The Mature stage needs a coach</h3>  <p>A team that can self manage just needs a coach for the personal team members, to <em>grow</em> them, to teach them new skills. They need someone to keep an open eye for interesting things that they may not have noticed, and they can use (not need!) a second look every once in a while if they are facing interesting dilemmas. </p>]]></content></entry><entry><title>The Bus Factor - Why your &amp;lsquo;best&amp;rsquo; developer is your biggest problem</title><category term="Anti Patterns"/><category term="Shu"/><id>http://5whys.com/blog/the-bus-factor-why-your-lsquobestrsquo-developer-is-your-big.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/the-bus-factor-why-your-lsquobestrsquo-developer-is-your-big.html"/><author><name>Roy Osherove</name></author><published>2010-05-17T11:51:48Z</published><updated>2010-05-17T11:51:48Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>From <a href="http://en.wikipedia.org/wiki/Bus_factor">wikipedia</a>, a “Bus Factor” is:</p>  <blockquote>   <p>an irreverent measurement of <strong>concentration of information in a single person, or very few people.</strong> The bus factor is the total number of key developers who would need to be incapacitated, as by getting hit by a bus, to send the project into such disarray that it would not be able to proceed</p> </blockquote>  <p>&#160;</p>  <p>From my personal experience, I'd say that more than 70% of projects suffer from a bus factor of 1. It only takes one specific person in those teams to not be able to be there for the project to halt or slowly die in painful agony as people try to makeup for lost knowledge.</p>  <h3>How do you recognize the bus factor?</h3>  <p>in your mind, go through each person in your team and ask yourself if </p>  <p>the project could go on pretty much as usual if they were fired tomorrow. (fired is important because people who leave in good terms can still play ball and get you through tough stuff they worked on through phone conversations).</p>  <p>If you say “no” or even hesitate about the answer, you’ve found the bus factor in your team.</p>  <h3>How do you get rid of the bus factor?</h3>  <p>Most of the collaboration techniques you’ll find in many agile methodologies like XP try to solve the idea of the bus factor, but you don’t have to be <em>agile</em> to use those techniques.</p>  <p>&#160;</p>  <ul>   <li><a href="http://5whys.com/blog/daily-standup-meetings-introduction-and-5-useful-tips.html">Use daily standups</a> to share critical information </li>    <li>program in pairs every once in a while, or at least on key components of the system </li>    <li><a href="http://5whys.com/blog/step-4-start-doing-code-reviews-seriously.html">do code reviews</a> on every piece of code that gets checked in </li>    <li>do weekly half hour or one hour presentations by team members about interesting stuff they did this week </li>    <li>Ask the<em> bus factor carrier</em> to teach someone else from the team to do their work and vice versa. Tell them that next week they <em>will</em> be working alone on that material so they should get ready for that by working together on it. </li> </ul>  <h3>The biggest bus factor is you</h3>  <p>As a team leader, you might just be the biggest bus factor carrier of them all. What happens if you get fired tomorrow? can the team go on without you?</p>  <p>Your biggest challenge as a team lead, over a long period of time would be to make yourself dispensable – to make the team mature enough to continue on day to day things without needing you. Removing yourself as a bottleneck is one of the best things you can do for yourself and your team.</p>]]></content></entry><entry><title>My team keeps breaking their promises. What can I do?</title><category term="Anti Patterns"/><category term="people patterns"/><id>http://5whys.com/blog/my-team-keeps-breaking-their-promises-what-can-i-do.html</id><link rel="alternate" type="text/html" href="http://5whys.com/blog/my-team-keeps-breaking-their-promises-what-can-i-do.html"/><author><name>Roy Osherove</name></author><published>2010-05-09T07:12:44Z</published><updated>2010-05-09T07:12:44Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><em>Execution</em> – actually having the team get things done– requires people to :</p>  <ol>   <li>Say what they will do&#160; </li>    <li>Mean it (be committed)</li>    <li>Do it</li> </ol>  <p>Everyone likes to do #1. Only some do #2. Great teams also do #3. </p>  <p>This post is about #2. </p>  <h3>There is a vast difference between people being <em>committed</em> to something, and people <em>saying</em> something.</h3>  <p> For example, you can start looking for words that are not committing to execution:</p>  <ul>   <li>“<em>I’ll try </em>to get that to you by Monday”</li>    <li>“Someone <em>should</em> get that thing fixed”</li>    <li>“I <em>hope </em>to get to that later”</li>    <li>“I <em>think </em>I can make it”</li> </ul>  <p>spot these things and see if you can ask people to actually commit to the thing they need to do:</p>  <ul>   <li>“I <em>will</em> do this by Monday”</li>    <li>“I <em>commit </em>to getting this done by Monday”</li>    <li>“It <em>will be done </em>by Monday”</li> </ul>  <p>If someone can’t commit to that – that’s good. Maybe they are not sure they can – maybe there is something stopping them. But you won’t know until you can either get them to commit, or get them to say why they cannot commit to it. </p>  <p>Also notice how there is a specific end date. Committing to something with an end date make things more real, and also prevents whoever is depending on that thing from bothering the doer. “Is it done yet?” “How about now?” .</p>  <p>No need to ask. They committed to do this by Monday.</p>  <h3>Don’t under estimate peer pressure.</h3>  <p>Doing all this talking in an open daily standup makes the commitment more important. it’s not just you and someone else. now it’s you telling the <em>whole team </em>you will get something. </p>  <p>If your team members don’t know how to verbally commit to something, you can teach them. You can actually ask them to say things differently:</p>  <p>“Can you say you <em>will</em> do it by date so and so? Is that something you can commit to? Why not? “</p>  <h3>I can’t commit to something I don’t have control over</h3>  <p>Of course, the biggest hurdle is that sometimes people really can’t commit to something if they don’t have full control of it. Expecting people to commit to something that depends on other people is less realistic.</p>  <p>If that happens, see what things that person <em>can have control over</em>. For example, if the task is about getting a bug fix to a client and making sure it’s closed by Monday – the dev might have control over actually sending the email to the client, but they have little control over when the client responds back. In such a case they can commit to <em>sending the fix to the client</em> . </p>  <h3>Failing commitments</h3>  <p>There should be no such thing is a failed commitments. the moment one sees that they will not make the deadline, they should notify whoever they committed to, that they will no make it in time – this allows the team to see if something can be done to maybe still get that thing in time by reorganizing or changing priorities.</p>  <p>A failed commitment means you won’t live up to what you promised and you didn’t notify anyone beforehand that you will not make it in time. that is something that is <em>fully under your control</em> and should not happen.</p>]]></content></entry></feed>