<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>The .NET Sweatshop (v2) : agile</title><link>http://blogs.msdn.com/sandyk/archive/tags/agile/default.aspx</link><description>Tags: agile</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>'What The Heck Is He Doing Here?'</title><link>http://blogs.msdn.com/sandyk/archive/2006/10/24/quot-what-the-heck-is-he-doing-here-quot.aspx</link><pubDate>Tue, 24 Oct 2006 22:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:870013</guid><dc:creator>SandyK</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sandyk/comments/870013.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sandyk/commentrss.aspx?PostID=870013</wfw:commentRss><description>&lt;P&gt;For the last few weeks, I've been spending one day a week sitting in the shared workspace that several members of the&amp;nbsp;Microsoft.com Commuinities&amp;nbsp;team uses.&amp;nbsp; We have about nine people sharing one large office in Building 6 that was once home to Bill Gates and then Steve Ballmer.&amp;nbsp;&amp;nbsp;"So what?", you may say.&amp;nbsp; Well, I'm a manager (and in fact&amp;nbsp;the manager of their managers) and therefore don't do any of the "real" work.&amp;nbsp; In fact, I have my nice solo office where I can play my music, have private phone calls, and handle drop-ins from anyone on the team.&amp;nbsp; Why on earth would I skip that for an admittedly cramped office that is bursting at the seams with little to no privacy?&amp;nbsp; That easy:&amp;nbsp; Spying.&amp;nbsp; OK seriously, when someone e-mailed and asked me why I do it, I itemized some reasons and after I wrote it, I thought it would make a good blog post.&amp;nbsp; It connects a little be with trying to be the best manager I can be for a team trying to do agile development and some other ideas about what I think effective leadership and management is about.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I am doing it for several&amp;nbsp;reasons:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;EM&gt;Empathy&lt;/EM&gt;: I know it’s cramped in there and I am trying to empathize a little bit.&amp;nbsp; I've grown to be a big believer of the shared workspace as a means of fostering (forcing?) communication between team members.&amp;nbsp; Microsoft is an e-mail culture and e-mail leaves no room for nuance of diction or truly constructive dialog. But Microsoft facilities also weren't designed to support the shared workspaces and we've had to improvise.&amp;nbsp; As a result, some of the conditions are tight.&amp;nbsp; As I explained to the teams, I have a solo office because I need it for meetings, but I don’t like the “exec washroom” exclusivity it fosters, so this is my way of at least showing that I get it. 
&lt;LI&gt;&lt;EM&gt;Communication&lt;/EM&gt;:&amp;nbsp; In the same manner that the shared workspace is about opening the lines of communication between teammates, the days I sit in the office are partly meant as an open forum for anyone to ask me questions at any time.&amp;nbsp; I've tried to do lunches with each of the teams, but that comes off as a more contrived environment.&amp;nbsp; Meanwhile, with the shared workspaces, it’s harder to do the “management walk-by” when people are sharing offices, so this opens the lines of communication.&amp;nbsp; I'm just there working away, so if you have anything to say, go for it.&amp;nbsp; I think I've gotten some pretty thoughtful questions and feedback as a result, including the fairest question of all:&amp;nbsp; what do I do on a typical day?&amp;nbsp; (Answer:&amp;nbsp; there is no typical day) 
&lt;LI&gt;&lt;EM&gt;First-Hand Knowledge:&lt;/EM&gt;&amp;nbsp; Get a little more in touch with the development teams.&amp;nbsp; It's my effort to “trust but verify” the info from the leads that report to me.&amp;nbsp; I also like the idea of being closer to the trenches whenever possible.&amp;nbsp; I was reading the Wired article on Ray Ozzie and how he likes to sit with developers and practically work with them because (a) he understands the code and related issues better and (b) he draws a lot out of the conversations that are happening at the time.&amp;nbsp; I don't know if I'll be pair programming with any of these guys any time soon, but I do think being "on the ground" helps my appreciation of the situation and associated challenges.&amp;nbsp; 
&lt;LI&gt;&lt;EM&gt;Feedback&lt;/EM&gt;: Opportunity for the teams to show me their work, if they so choose.&amp;nbsp; We are having monthly demo days , but if they want interim feedback, here I am.&amp;nbsp; Also, to the point about Ray Ozzie, I also like hearing the conversations and issues that arise in the daily work that goes on.&amp;nbsp; It's hard to give feedback on the spot (which is essentially what I ask people to do in one on ones or at the team lunches), but in the course of the day, many things will pop up. 
&lt;LI&gt;&lt;EM&gt;Fear&lt;/EM&gt;: Scare the living bejeesus out of them to keep working and not slack (that’s just a fringe benefit) ;-).&amp;nbsp; OK, that's not true at all and that's part of why I picked Fridays--I want to pick a day that is a little more mellow, perhaps.&amp;nbsp; Hopefully, the moods are a little better, people are looking forward to the weekend, and they can be a little more informal.&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I don't think I would have done this nine months ago.&amp;nbsp; I think there is a comfort zone that I think I feel with most of the team that allows me to do this.&amp;nbsp; I’d do it for some of the other Microsoft.com Communities teams (there are two other teams as well as the CodePlex team), but those teams are either smaller where my presence might be a little more imposing or, in the case of CodePlex, they'd intimidate me :).&amp;nbsp; In all seriousness, I do worry about the work equivalent of Heisenberg's Uncertainty Principle (the position of an object can't be determined because it is affected merely by being observed).&amp;nbsp; I don't intend to scare them and hope that isn't the end result.&amp;nbsp; I only do it one day a week because it's all my schedule really allows and I don't want it to reach a point where it does feel like Big Brother.&amp;nbsp;&amp;nbsp; 
&lt;P&gt;{Dave Matthews - Some Devil}&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=870013" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sandyk/archive/tags/agile/default.aspx">agile</category><category domain="http://blogs.msdn.com/sandyk/archive/tags/management/default.aspx">management</category></item><item><title>Management Accountabilty in a Scrum World</title><link>http://blogs.msdn.com/sandyk/archive/2006/05/30/management-accountabilty-in-a-scrum-world.aspx</link><pubDate>Tue, 30 May 2006 21:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:611022</guid><dc:creator>SandyK</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/sandyk/comments/611022.aspx</comments><wfw:commentRss>http://blogs.msdn.com/sandyk/commentrss.aspx?PostID=611022</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Last summer, I was having a conversation with a friend who worked in Microsoft Research.&amp;nbsp; I knew him from outside of work and we rarely talked shop, but in this specific instance, I was telling him about my projects.&amp;nbsp; The biggest project on my plate was CodePlex.&amp;nbsp; After bragging about the featureset, I began describing the way we were building the software using the agile methodologies, from the spike we did at the project inception to the weekly iterations and TDD.&amp;nbsp; I was telling him about how we were even trying to get a shared workspace to put the entire team in one room (we did get it and, while it’s not as cool as my &lt;A href="http://www.agileprogrammer.com/dotnetguy/archive/2006/05/15/14766.aspx"&gt;old team’s workspace&lt;/A&gt;, it is the office once inhabited by Bill Gates and then Steve Ballmer—so that’s pretty cool)…&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;My friend’s response took me a bit by surprise.&amp;nbsp; He was more impressed with the development approach than the product and he went out of his way to not only praise the team, but also praise me as the manager.&amp;nbsp; He pointed out few managers had the patience and trust to support agile development at Microsoft as there’s a leap of faith that is required and trust in the team.&amp;nbsp; He believed managers couldn’t handle the ambiguity of the schedules and deliverables (though I believe that is changing at Microsoft).&amp;nbsp; After all, with waterfall software development, everything is lined up and the dates are in stone—when you say it is going to be “Code Complete”, it will be complete.&amp;nbsp; That’s a mirage, of course as software projects rarely hit dates, but managers still manage to get some level of satisfaction from deluding themselves.&amp;nbsp; Personally, I’ve always felt that you can’t effectively run a business on a twelve-month ship cycles and assume no changes.&amp;nbsp; Waiting until month eight to determine there’s a slip or key features will get dropped is borderline suicide.&amp;nbsp; Either the product will come up short of expectations or the date will slip and surprise upper management.&amp;nbsp; It also guarantees the infamous death march.&amp;nbsp; The ability to continually course-correct is something that has a sister-theory in business called “&lt;A href="http://harvardbusinessonline.hbsp.harvard.edu/b01/en/common/item_detail.jhtml;jsessionid=CHIM2DMCKZATICTEQENSELQ?id=95406"&gt;Discovery-Driven Planning&lt;/A&gt;”&amp;nbsp;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;and I see it in the &lt;A href="http://blogs.msdn.com/sandyk/archive/2005/09/26/474222.aspx"&gt;NFL every Sunday in the Fall&lt;/A&gt;.&amp;nbsp; But agile is not perfect and isn’t the cure-all for every software project.&amp;nbsp; What happens when results are less than perfect?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Recently, Doug Seven from my team posted a blog entry entitled “&lt;A href="http://blogs.msdn.com/dseven/archive/2006/05/22/AccountabilityInScrum.aspx"&gt;Accountability in a Scrum World&lt;/A&gt;”.&amp;nbsp; In the past several months, Doug has really come to embrace many of the agile principles.&amp;nbsp; Well, with one of our projects, a team that is very new to agile development had struggled with the first two iterations.&amp;nbsp; Doug was obviously frustrated with the progress and was trying the get to the root of the problem. In this specific case, I think there were many things working against them that make any sort of assessment unfair.&amp;nbsp; Plus, to judge after two iterations in any case is WAY premature.&amp;nbsp; I think it’s easy to fall into an expectation of everything working in textbook fashion from day one.&amp;nbsp; Guess again—nothing in life works that way.&amp;nbsp; While I myself am inherently impatient, this is one case where I refuse to be so.&amp;nbsp; In fact, I gave the team a short-tem goal I felt was very achievable in a fair timeframe.&amp;nbsp; I wasn't looking to stretch the team on a deliverable.&amp;nbsp; In fact, my manager and I locked horns about it as he thought I was sandbagging.&amp;nbsp; In a way, I was. Why?&amp;nbsp; Because I wanted the team to have enough room to take risks.&amp;nbsp; If you are under time pressure, you will revert to your old approaches.&amp;nbsp; When adopting agile development, teams need to be allowed to struggle without fear of reprisal.&amp;nbsp; Changing the way you do your craft is scary and that’s what we’re asking from the team.&amp;nbsp; As a manager, I need to be willing to make the short-term investment for the long-term prosperity.&amp;nbsp; Again, it's a matter of trust.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;The unintended consequence of Doug’s post was to scare the team into thinking they were under the gun, which draws them back into the world where they fear failure.&amp;nbsp; That spins them into a world of the blame game, whether it’s teammates, the process, management, and other things.&amp;nbsp; And let’s face it—all those are likely guilty of something, right?&amp;nbsp; I don’t want people on that team thinking about reviews or their bonuses or anything like that and their need to defend that (yes, that is naïve, but I want to at least minimize focus)—I want them focused on the success of the team.&amp;nbsp; To the sports analogy, the athlete should be thinking about winning a championship first and then trust that if he contributed sufficiently to the cause, he will be rewarded (yes, another sports analogy—I can’t help it).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;But, to Doug’s question, what of accountability?&amp;nbsp; Not in the case of this team, but with &lt;U&gt;all teams&lt;/U&gt;, successful and not.&amp;nbsp; With the infamous Microsoft performance curve no longer in existence, we can now operate in Lake Woebegon, where all the children are above average (well, not quite…).&amp;nbsp; I believe the only way agile works is when everyone feels accountable for everyone else.&amp;nbsp; That’s the purpose of the daily stand-up—people sharing their progress and their obstacles, in some cases looking for help.&amp;nbsp; If one person fails, everyone fails.&amp;nbsp; Communication is vital, everyone on the team should be looking to assist, not blame, and the accountability must hang with the team. At the end of the project, you can certainly do the retrospective and recognize who stepped up for whom.&amp;nbsp; I’d rather reward the person that chips in to help a teammate get past a tough issue than someone who writes the random killer feature.&amp;nbsp;I'm not talking about the hero dev thing (which can be a different problem), but rather taking care of the little things and removing obstacles to keep the cadence.&amp;nbsp;In fact, I’ve been on projects where one person failed miserably, but the team was successful because the rest of the team stepped up.&amp;nbsp; Once the project shipped, the rest of the team was rewarded nicely and the person whose contribution did not measure up was not with the team for long.&amp;nbsp; That said, we gave him the full v1 release to prove his worth before casting judgment on him.&amp;nbsp; But when you start playing the individual accountability game from the start, then it’s every man for himself.&amp;nbsp; &lt;U&gt;Agile will fail in that mindset&lt;/U&gt;.&amp;nbsp; My personal management philosophy is to keep an eye on any unique events that need immediate attention, but I try to reserve judgment on people until the project is out the door.&amp;nbsp; Trust the team and give them the ability to self-correct.&amp;nbsp; Once they ship, it is clearer to assess why the project was able to ship and what could’ve been better.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;So will the team that struggled with the first two sprints succeed?&amp;nbsp; My confidence is very high.&amp;nbsp; There’s too much talent there for it not to.&amp;nbsp; In fact, the third iteration has already gone MUCH better by all accounts. But just as I won’t judge the 2006 Orioles baseball season until October (though I will keep an eye on the standings),&amp;nbsp;I won’t judge this team until we’re much further along in the project.&amp;nbsp; They know what they’re accountable for as a team and that’s all I am keeping an eye on at this point.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;{Foo&amp;nbsp; Fighters – In Your Honor}&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=611022" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/sandyk/archive/tags/agile/default.aspx">agile</category><category domain="http://blogs.msdn.com/sandyk/archive/tags/management/default.aspx">management</category></item></channel></rss>