<?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>Only Passionate People Win : Agile Development</title><link>http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx</link><description>Tags: Agile Development</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Accountability in Scrum</title><link>http://blogs.msdn.com/youngjoo/archive/2006/05/22/604192.aspx</link><pubDate>Tue, 23 May 2006 01:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:604192</guid><dc:creator>youngjoo</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/604192.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=604192</wfw:commentRss><description>&lt;P&gt;Doug Seven wonders &lt;A href="http://blogs.msdn.com/dseven/archive/2006/05/22/AccountabilityInScrum.aspx"&gt;accountability issue with Scrum&lt;/A&gt;.&amp;nbsp; And &lt;A href="http://blogs.msdn.com/yag/archive/2006/05/22/604149.aspx"&gt;yag wants to discuss&lt;/A&gt; this further.&amp;nbsp; If you read follow up comment Doug posted for his entry, you can easily discover that the team is still in learning phase.&lt;/P&gt;
&lt;P&gt;Folks.&amp;nbsp; Scrum is not a magic bullet.&amp;nbsp; &lt;EM&gt;&lt;STRONG&gt;There is no such thing as a magic bullet&lt;/STRONG&gt;&lt;/EM&gt;.&lt;/P&gt;
&lt;P&gt;Only three sprints.&amp;nbsp; Do not expect the productivity to go up dramatically after three sprints.&amp;nbsp; It doesn't matter how many training sessions team had with who.&amp;nbsp; It doesn't matter how many books team members read.&amp;nbsp; And it really doesn't matter whether you have an experienced Scrum Master in the team.&amp;nbsp; It takes time.&lt;/P&gt;
&lt;P&gt;Scrum Master should be careful about painting a rosy picture when working with a team that does not have any Scrum experience.&amp;nbsp; Scrum Master is responsible for setting the correct expectation with the team and working with the team to guide them through the initial &lt;EM&gt;dark-period&lt;/EM&gt;.&amp;nbsp; Team productivity will dip.&amp;nbsp; It will probably be worse than whatever previous process the team was using.&amp;nbsp; Team moral will dip.&amp;nbsp; People will start questioning whether Scrum is the right thing or not.&amp;nbsp; Management will put increased pressure to the team as the team struggles to meet their commitment sprint after sprint.&lt;/P&gt;
&lt;P&gt;Every aspect of Scrum is very different.&amp;nbsp; User stories instead of full spec, size-based estimates, daily meetings, acceptance tests, velocity tracking, new engineering practices such as TDD, Continuous Integration, pair programming.&amp;nbsp; It requires a mind shift.&amp;nbsp; And expecting the team to produce more stuff after just a few sprints is just wrong expectation.&amp;nbsp; It will &lt;STRONG&gt;NOT&lt;/STRONG&gt; happen.&lt;/P&gt;
&lt;P&gt;So, going back to the accountability issue.&amp;nbsp; I think management and Scrum Master should be held accountable in Doug's team's situation since they set the wrong expectation and have not given ample opportunities to the team to learn this very different way of developing.&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;SMALL&gt;Technorati Tags: &lt;A class=techtag href="http://technorati.com/tag/agile" rel=tag&gt;agile&lt;/A&gt; &lt;A class=techtag href="http://technorati.com/tag/scrum" rel=tag&gt;scrum&lt;/A&gt; &lt;A class=techtag href="http://technorati.com/tag/software+engineering" rel=tag&gt;software+engineering&lt;/A&gt; &lt;/SMALL&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=604192" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item><item><title>Yag moves on and why I believe our paths will cross again</title><link>http://blogs.msdn.com/youngjoo/archive/2006/05/05/590984.aspx</link><pubDate>Fri, 05 May 2006 22:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:590984</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/590984.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=590984</wfw:commentRss><description>&lt;p&gt;&lt;a href="/yag/archive/2006/05/04/590527.aspx"&gt;Yag moves on&lt;/a&gt;.  He used to be the Group Manager of Visual Studio Data team before the team got merged into Visual Basic product unit and became a part of Visual Studio Professional Data team.  Although I only spent a couple of months in Visual Studio Data team and only had 1 face-to-face meeting with him, I learned a lot from him.  You see, it really doesn't require multiple encounters to learn great stuff from a great person.  You know it when you meet that kind of person and you naturally absorb great stuff from that person like a dry sponge.  That's what happened when I met yag.&lt;/p&gt;
&lt;p&gt;Well, I actually had two face-to-face &amp;quot;official&amp;quot; meetings with him.  One was during my interview and one was after I joined VS Data team.  I think I only spent abouut 30 min with him during my interview.  But that 30 min definitely helped me decide to eventually accept the offer.  I met great people during my interview process and yag just sealed it at the end.  We mostly talked about my passion around Agile Development.  The second &amp;quot;official&amp;quot; meeting was the 1-on-1 he scheduled with me.  During that meeting, he showed his passion around community.  We also shared some frustration about how community stuff was done.  Oh, don't get me wrong.  That frustration was from being too passionate about something.  I guess &amp;quot;frustration&amp;quot; is the wrong word for that...&lt;/p&gt;
&lt;p&gt;Now, why do I think our paths will cross again?  It's because we share same passion, creating &lt;strong&gt;great software&lt;/strong&gt; that &lt;strong&gt;customer really needs&lt;/strong&gt; by being &lt;strong&gt;pragmatic&lt;/strong&gt; (Agile + Community).  If you ask me, I rather listen to the customer and provide solution that just works as soon as possible rather than worrying about hundreds of other political, process and architectural things (a.k.a. impediments).  If you ask me, I rather sit with the customer during the project cycle than in my own office guessing what customer needs.  If you ask me, I get more excited when I get a small &amp;quot;thank you&amp;quot; note from the customer I helped than when I receive a &amp;quot;job well done&amp;quot; message from my manager.  And I believe that's where yag's passion lies also.&lt;/p&gt;
&lt;p&gt;Best wishes to yag in his new and exciting role. &lt;/p&gt;
&lt;p&gt;&lt;small&gt;Tags: &lt;a rel="tag" href="http://technorati.com/tag/microsoft"&gt;microsoft&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/agile+development"&gt;agile development&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/community"&gt;community&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=590984" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Passionate+People/default.aspx">Passionate People</category></item><item><title>How can Visual Studio, Office or Windows teams adopt Agile?</title><link>http://blogs.msdn.com/youngjoo/archive/2006/04/28/586239.aspx</link><pubDate>Fri, 28 Apr 2006 21:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:586239</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/586239.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=586239</wfw:commentRss><description>&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Scoble ponders about how Agile methodologies such as Scrum can be applied to Visual Studio, Office or Windows teams in his &lt;A href="http://scobleizer.wordpress.com/2006/04/27/another-test-of-is-microsoft-listening/"&gt;&lt;SPAN style="COLOR: blue"&gt;Another&lt;/SPAN&gt;&lt;/A&gt;&lt;A href="http://scobleizer.wordpress.com/2006/04/27/another-test-of-is-microsoft-listening/"&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;/A&gt;&lt;A href="http://scobleizer.wordpress.com/2006/04/27/another-test-of-is-microsoft-listening/"&gt;&lt;SPAN style="COLOR: blue"&gt;test of "is Microsoft listening"&lt;/SPAN&gt;&lt;/A&gt; post.&amp;nbsp; Scrum is everywhere now.&amp;nbsp; Even Scoble talks about it.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;I do firmly believe that Agile methodologies can be adopted by ANY development team as long as people understand what benefits Agile brings and plan carefully.&amp;nbsp; Scoble mentions the deployment issue as one of the reasons why Office or Windows teams won't benefit from Scrum.&amp;nbsp; Although he has a point, that isn't true.&amp;nbsp; It's a very common misunderstanding people have about Agile methodologies.&amp;nbsp; Sure, "ship every two weeks" sounds very attractive.&amp;nbsp; And it's one of the reasons why people are so excited about Agile methodologies.&amp;nbsp; However, it's not about &lt;SPAN style="FONT-WEIGHT: bold"&gt;ship&lt;/SPAN&gt; every x weeks.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It's about building &lt;SPAN style="FONT-WEIGHT: bold"&gt;shippable&lt;/SPAN&gt; software every x weeks.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;People often do not realize that Agile teams have iteration planning and separate release planning.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Iteration planning is about committing to what will be done during a particular iteration.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Release planning is taking what's been done in one or more iterations and actually shipping.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Why focus on creating &lt;SPAN style="FONT-WEIGHT: bold"&gt;working&lt;/SPAN&gt; software (shippable software) at the end of each iteration when you are not sure whether it will actually ship or not?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A couple of reasons.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Since team members have to make sure that whatever stories (features) they commit to need to be fully spec'd, implemented and tested, they do not sign up for unrealistic goals which is very typical of waterfall teams.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Instead, they use real data collected from previous iterations to choose what they are going to work on.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is Yesterday's Weather concept which tells you that the best way to predict what you can do during next iteration is to look at what you've done in previous iteration.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;No more, no less.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Another reason for striving to create working software at the end of each iteration is to encourage highest level of collaboration between team members.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since the length of each iteration is very short, if you are not talking to each other and help each other from day 1 till the end of the iteration, you won't be able to finish your committed features.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;No more dev doing their work while QA is waiting.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;Being able to actually ship at the end of each iteration is probably added bonus some extremely mature teams can enjoy.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;But what Agile development want you to do is to set realistic goal and work together to create working software.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Deployment is a separate story.&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1"&gt;By the way, please don't think that you actually have to have your iteration set as 4 weeks long (what Scrum people recommends).&amp;nbsp; It's completely up to you as long as you don't go too low (less than 1 week) or too long (more than 4 weeks).&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=586239" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item><item><title>Make sure your team is jelled before starting Agile</title><link>http://blogs.msdn.com/youngjoo/archive/2006/04/26/583927.aspx</link><pubDate>Wed, 26 Apr 2006 11:05:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:583927</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/583927.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=583927</wfw:commentRss><description>&lt;P&gt;Agile Development relies heavily on human interactions.&amp;nbsp; User stories intentionally leave out details so that people can talk.&amp;nbsp; Team members sit together so that they can interact with each other always.&amp;nbsp; It emphasizes human side of software development.&amp;nbsp; Software development is an intellectual activity and if you try to put mechanical processes into it, creativity goes out the window.&lt;/P&gt;
&lt;P&gt;That's why it's very important to make sure that there's a good team dynamics before starting Agile.&amp;nbsp; If the team is not &lt;EM&gt;jelled&lt;/EM&gt;, I can guarantee that Agile Development will make the situation worse than before.&lt;/P&gt;
&lt;P&gt;Here's a quick checklist of things you should consider to make sure that your team is ready.&amp;nbsp; Not a comprehensive list but should at least give you an idea.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;How's the moral of the team overall?&lt;/LI&gt;
&lt;LI&gt;Do team members trust management?&lt;/LI&gt;
&lt;LI&gt;Does management trust the team?&lt;/LI&gt;
&lt;LI&gt;Is your team working on the right thing?&lt;/LI&gt;
&lt;LI&gt;Do team members value professionalism?&lt;/LI&gt;
&lt;LI&gt;Do developers understand the value testers add?&lt;/LI&gt;
&lt;LI&gt;Do testers understand the value developers add?&lt;/LI&gt;
&lt;LI&gt;Do team members respect each other?&lt;/LI&gt;
&lt;LI&gt;Do team members hate customers?&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Notice that there's no mention of technical competencies of team members.&amp;nbsp; If you have a jelled team, team will together solve that issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=583927" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item><item><title>Book: Refactoring Databases</title><link>http://blogs.msdn.com/youngjoo/archive/2006/04/17/577909.aspx</link><pubDate>Tue, 18 Apr 2006 03:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:577909</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/577909.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=577909</wfw:commentRss><description>&lt;P&gt;&lt;STRONG&gt;&lt;A href="http://www.amazon.com/gp/product/0321293533/002-1812408-6659222"&gt;Refactoring Databases: Evolutionary Database Design &lt;BR&gt;&lt;/A&gt;&lt;/STRONG&gt;Scott W. Ambler, Pramodkumar J. Sadalage&lt;BR&gt;Addison Wesley Signature Series&lt;/P&gt;
&lt;P&gt;If you know who Scott Ambler is, then you definitely want to read this&amp;nbsp;latest book he wrote.&amp;nbsp; If you don't know&amp;nbsp;who Scott Ambler is, you still want to read this book since it's most likely that you are dealing with databases at your job.&lt;/P&gt;
&lt;P&gt;I haven't read it yet but just from the title and the cover description, it sounds like Scott has taken his &lt;A href="http://www.amazon.com/gp/product/0471202827/002-1812408-6659222"&gt;Agile Modeling&lt;/A&gt; techniques to next step.&amp;nbsp; After all, Agile Modeling is all about starting from what you know and naturally evolving the database design as new design and architecture emerges.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.xprogramming.com/xpmag/bookRefactoringDatabases.htm"&gt;Ron Jeffrey has a quick review of the book also&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=577909" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Data/default.aspx">Data</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Books/default.aspx">Books</category></item><item><title>One step at a time...</title><link>http://blogs.msdn.com/youngjoo/archive/2006/04/06/570422.aspx</link><pubDate>Fri, 07 Apr 2006 02:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:570422</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/570422.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=570422</wfw:commentRss><description>&lt;P&gt;When I told&amp;nbsp;the team at my previous company that I was joining Microsoft, there were few who showed their disappointments.&amp;nbsp; I was their &lt;EM&gt;Agile cheer-leader&lt;/EM&gt; and they couldn't believe that I chose Microsoft.&amp;nbsp; Why move all the way across the country (NY -&amp;gt; Seattle) to join the company that loves to do things in its own ways&amp;nbsp;and plays deaf when others try to tell how to do it correctly?&amp;nbsp; And that was when &lt;A href="http://www.xprogramming.com/Blog/Page.aspx?display=SadMicrosoftPosting"&gt;Microsoft pretended that they knew&amp;nbsp;what TDD was&amp;nbsp;better than anyone else in the planet&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I had one simple answer to those.&lt;/P&gt;
&lt;P&gt;"That's exactly why.&amp;nbsp; Wouldn't it be great if I can help them become more Agile?"&lt;/P&gt;
&lt;P&gt;Of course, that's not the only reason why I joined Microsoft.&amp;nbsp; Building great software that impacts thousands of people was something I've always wanted to do and Microsoft was the perfect place to do that.&amp;nbsp; But I definitely wanted to challenge myself and see if I could make Microsoft become more Agile.&amp;nbsp; By the way, I &lt;STRONG&gt;&lt;EM&gt;currently &lt;/EM&gt;&lt;/STRONG&gt;do not have any plan to go knock on Bill Gate's door and tell him to understand Agile values and transform the entire company to become more Agile.&amp;nbsp; I will be happy if I can start making small changes and see this company naturally embrace Agile values.&lt;/P&gt;
&lt;P&gt;And I have a great news to share with my former &lt;EM&gt;Agile cult&lt;/EM&gt; members.&amp;nbsp; Today, I made my first step towards my goal.&amp;nbsp; A new group called Visual Basic Agile Champ has been officially formed today.&amp;nbsp; The goal of this group is to become a resource for people inside Visual Basic who wants to learn and try Agile values and practices.&amp;nbsp; It's a small team for now (4 including myself).&amp;nbsp; Mike Sampson, SDE, has been working on recommanding process improvements to Visual Basic.&amp;nbsp; Chris Smith, SDET &lt;EM&gt;extraordinaire&lt;/EM&gt; (his word), has worked with Mike on pilot XP projects and had great successes.&amp;nbsp; Stephen Provine, SDE, has a deep passion around unit testing.&amp;nbsp; He has done some great stuff around improving unit testing capabilities in Visual Studio (and I had great conversation with him about Microsoft TDD incident).&amp;nbsp; These are people who want to make changes, who are passionate about helping people do their job better and truly believe that it's possible.&amp;nbsp; I am&amp;nbsp;honored&amp;nbsp;to be invited to join the team.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;What's really great about this team is that it has management support.&amp;nbsp; And &lt;A href="http://my.dreamfirst.com/blogs/youngj/archive/2005/08/12/1115.aspx"&gt;I know very well what can happen when you do not have a full support from management&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Making the first step is always exiciting.&amp;nbsp; It's only one step but you know your journey has started.&amp;nbsp; Just need to make sure that every move you make puts you one step closer to your destination.&lt;/P&gt;
&lt;P&gt;Agile rocks!&lt;/P&gt;
&lt;P&gt;[Update] By the way, Mike Sampson is the guy who appeared in &lt;A HREF="/youngjoo/archive/2006/03/10/566244.aspx"&gt;Quality Milestone video I mentioned before&lt;/A&gt;.&amp;nbsp; He clearly has big interest in this stuff...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=570422" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category></item><item><title>Starting Agile?  Learn basics first!</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/30/566248.aspx</link><pubDate>Fri, 31 Mar 2006 01:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566248</guid><dc:creator>youngjoo</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566248.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566248</wfw:commentRss><description>&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;One of mistakes people often make when starting out Agile Development is not learning basics.&amp;nbsp; It sounds so obvious.&amp;nbsp; But people miss it very often.&amp;nbsp; Many people who are interested in Agile Development or any kind of Software Developmet Life Cycle (SDLC) improvements already have deep understanding of common issues around SDLC.&amp;nbsp; And that's why they want to improve.&amp;nbsp; Because of that, people think they can skip basics and just learn &lt;EM&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;techniques&lt;/FONT&gt;&lt;/I&gt;&lt;/EM&gt;.&amp;nbsp; This is a dangerous situation, especially for methodologies like Agile where complete mind-set change is needed for successful implementation.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Times New Roman" size=3&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;If you are experimenting with Agile, I suggest that you choose one of well-known Agile Development methodologies such as Scrum, Extreme Programming, Feature Driven Development, etc. and FULLY learn it.&amp;nbsp; I would also suggest that you try it out with few pilot projects face-value, word-by-word, without making any modifications to the process.&amp;nbsp; As you learn and try it out, focus on &lt;EM&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;why&lt;/FONT&gt;&lt;/I&gt;&lt;/EM&gt; each practice exist and &lt;EM&gt;&lt;I&gt;&lt;FONT face="Times New Roman"&gt;what values&lt;/FONT&gt;&lt;/I&gt;&lt;/EM&gt; each one provides.&amp;nbsp; Print out &lt;A href="http://www.agilemanifesto.org/"&gt;Agile Manifesto&lt;/A&gt;, put it up on your wall and constantly check against it.&amp;nbsp; Once you've done that, you can start looking at your own situation and other methodologies (even water-fall stuff) to create your own process.&amp;nbsp; Adjust everything to make sure that whatever process you create fits nicely with your organization, culture, etc.&amp;nbsp; You might ask me if I am suggesting that people then also learn all different methodologies fully and try them out before adopting techniques from them.&amp;nbsp; I would say no.&amp;nbsp; All Agile Development methodologies share same values and it's &lt;EM&gt;values&lt;/EM&gt; you are most interested in learning not &lt;EM&gt;techniques&lt;/EM&gt;.&amp;nbsp; So, once you understand one methodology very well, you understand values of Agile Development.&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566248" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item><item><title>Microsoft Developer Division's Development Processes</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/10/566244.aspx</link><pubDate>Sat, 11 Mar 2006 02:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566244</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566244.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566244</wfw:commentRss><description>&lt;P&gt;Developer Division @ Microsoft is responsible for Visual Studio and it's the division I belong to.&amp;nbsp; Following two Channel 9 videos will give you some peek at the development processes used by the division.&amp;nbsp; These processes are new to the division.&amp;nbsp; Trying to be more &lt;EM&gt;agile&lt;/EM&gt; / &lt;EM&gt;scrum&lt;/EM&gt;, I guess.&amp;nbsp; I will let you decide whether we are on the right track in terms of being truly Agile.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=167674"&gt;&lt;FONT color=#800080&gt;Shoshanna Budzianowski explains how the division is trying to be more &lt;EM&gt;agile&lt;/EM&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;BR&gt;Shoshanna (ShoShe) is the Director of Program Management @ Developer Division.&amp;nbsp; This video is not really about the development process but she does talk about it.&amp;nbsp; You can listen to the whole thing if you want but most of development process discussion happens during first 10~12 min.&amp;nbsp; By the way, she was my 7th and last interviewer.&amp;nbsp; I had a great discussion about Agile Development, some challenges people face, things that people mis-understand, etc.&amp;nbsp; It was the toughest one though.&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://channel9.msdn.com/Showpost.aspx?postid=158154"&gt;The Quality Milestone&lt;/A&gt;&lt;BR&gt;Developer Division just came out of what we call The Quality Milestone.&amp;nbsp; The idea is about taking some time after shipping&amp;nbsp;a major product to get ready for the next one.&amp;nbsp; Some of the big initiatives include getting rid of all bug-debts from the current release (Visual Studio 2005), creating the next generation test automation framework, increasing test automation coverage, setting up continuous integration environment, beefing up the build infrastructure and reviewing the development process and optimizing.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s all about ensuring that we are delivering the quality software.&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;&lt;o:p&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566244" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Management/default.aspx">Management</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Programming/default.aspx">Programming</category></item><item><title>You still do not get it!</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/09/566242.aspx</link><pubDate>Fri, 10 Mar 2006 02:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566242</guid><dc:creator>youngjoo</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566242.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566242</wfw:commentRss><description>&lt;P&gt;I wrote about &lt;A href="http://my.dreamfirst.com/blogs/youngj/archive/2006/03/02/1182.aspx"&gt;how frustrurated I was with people who abuse the word agile&lt;/A&gt;.&amp;nbsp; It's a big problem right now.&amp;nbsp; A lot more people are learning about Agile Development and unless people understand what the real values are, it is possible that this whole Agile thing could fail.&amp;nbsp; People will try it in wrong ways and they will say "Well, I guess this doesn't really work".&amp;nbsp; Arrrggg.&lt;/P&gt;
&lt;P&gt;Recently, there was a thread in an Agile Development mailing list about pair programming.&amp;nbsp; One person asked people to give feedback on pros and cons of pair programming vs. peer reviews.&amp;nbsp; Guess what was listed under pros section for pair programming.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Developers don't browse Internet during worktime.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Are you kidding me?&amp;nbsp; What were you going to do with this item?&amp;nbsp; Show this to your development team as a part of benefits of pair programming?&amp;nbsp; And immediately lose their trust?&amp;nbsp; Or hide it from your developers and just show it to your manager?&amp;nbsp; And still lose trust from your team?&amp;nbsp; Are you out of your mind?&amp;nbsp; It gets worse.&amp;nbsp; One person replied to the original message and I found this.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Another benefit of pairing not touched upon yet is the fact that peer pressure will push people to produce and not waste time (surfing the web, taking mental breaks, checking stocks, personal email, etc).&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;Can you believe it?&amp;nbsp; Put peer pressure to push people to produce and not waste time surfing the web, etc.&amp;nbsp; What a great way to build a team with passion!&amp;nbsp; I am constantly troubled by the people who strongly believe they know what Agile is about but in reality use it as a way to get more things out of developers.&amp;nbsp; Agile does &amp;lt;keyword&amp;gt;&lt;EM&gt;eventually&lt;/EM&gt;&amp;lt;/keyword&amp;gt; increase the productivity.&amp;nbsp; But Agile is more about delivering the right thing to your customers in a right way.&amp;nbsp; It's not about using these cool techniques such as pair programming or TDD to push developers to produce more.&amp;nbsp; If you do not change how you think or how to treat your developers and your customers, it doesn't matter if you have a &lt;EM&gt;super-duper-pair-programming-TDD-addicted-constantly-checking-code-in&lt;/EM&gt; team.&amp;nbsp; Agile development is not a technique.&amp;nbsp; It's a culture shock and mind-shift!&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Please, get it this time!&lt;/P&gt;
&lt;P&gt;* In case you are interested, below is my response to the thread mentioned above.&lt;/P&gt;
&lt;P&gt;&amp;lt;youngjoo response&amp;gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;I know this is a bit old topic but I want to give my two cents about one of the benefits of pair programming listed in this thread.&lt;/P&gt;
&lt;P&gt;-&amp;nbsp;Developers don’t browse internet during worktime&lt;BR&gt;-&amp;nbsp;…peer pressure will push people to produce and not waste time (surfing the web, taking mental breaks, checking stocks, personal email, etc.)&lt;/P&gt;
&lt;P&gt;If you approach a developer and add this to one of the benefits of following Agile practices, you will NEVER win them over.&amp;nbsp; I believe people sometimes mis-understand the core value of Agile development practices.&amp;nbsp; Making people do more is not the goal of Agile.&amp;nbsp; The core goal of Agile is to develop the right thing in the right way.&amp;nbsp; If someone does a research on time/money wasted by developers browsing the web, taking mental breaks, etc and waste caused by building the wrong thing in a wrong way, I am very confident that the first case won’t even show up in the research paper as a main cause of development productivity loss&lt;/P&gt;
&lt;P&gt;Admit it.&amp;nbsp; There is no way in hell to force someone to be 90% productive.&amp;nbsp; You will be lucky if you spend 50% of your time doing actual coding.&amp;nbsp; Writing code is a very intensive activity, especially to your brain.&amp;nbsp; It’s not a mechanical activity.&amp;nbsp; If you sit in front of the computer and code away 90% of your day, everyday, then you will eventually burn out and constantly deliver poor quality code.&amp;nbsp; This is why Agile advocates size-based estimates instead of time-based estimates.&amp;nbsp; It doesn’t matter you spend 10 hours or 100 hours to get something done.&amp;nbsp; What really matters is how much customer value you added during last iteration.&lt;/P&gt;
&lt;P&gt;Agile practices solves productivity problem mostly by getting it right the first time and provide an environment to make changes very quickly if you didn’t.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;/youngjoo response&amp;gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566242" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item><item><title>Abusing Agile</title><link>http://blogs.msdn.com/youngjoo/archive/2006/03/02/566239.aspx</link><pubDate>Fri, 03 Mar 2006 02:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:566239</guid><dc:creator>youngjoo</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/youngjoo/comments/566239.aspx</comments><wfw:commentRss>http://blogs.msdn.com/youngjoo/commentrss.aspx?PostID=566239</wfw:commentRss><description>&lt;P&gt;I have noticed that more and more people in software business are abusing the word &lt;EM&gt;agile&lt;/EM&gt;.&amp;nbsp; As a person with deep passion around &lt;EM&gt;Agile Development&lt;/EM&gt;, whenever I hear a word &lt;EM&gt;agile&lt;/EM&gt; from someone, my head turns immediately.&amp;nbsp; But I often realize that the word is being misused.&amp;nbsp; I don't mind people using it when they describe other aspects of business but when it's misused while describing development processes, my blood pressure jumps up.&amp;nbsp; Yeah, yeah, I need to be nice to those&amp;nbsp;who are trying to understand it and they will misunderstand some parts just like I did when I first started learing Agile Development.&amp;nbsp; But that's not what I am talking about.&amp;nbsp; It's those who use the word &lt;EM&gt;agile &lt;/EM&gt;but have no intension to change.&amp;nbsp; "Oh, Agile is next cool thing and it sounds very trendy.&amp;nbsp; So I will just use it."&lt;/P&gt;
&lt;P&gt;Please do not abuse it.&amp;nbsp; Make sure you know what you are talking about.&amp;nbsp; Read &lt;A href="http://www.agilemanifesto.org/"&gt;Agile Manifesto&lt;/A&gt; and make sure you understand those &lt;STRONG&gt;&lt;EM&gt;values&lt;/EM&gt;&lt;/STRONG&gt;.&amp;nbsp; Make sure you are ready to change your behavior and help others to do that.&amp;nbsp; Do not fall back to old habit.&amp;nbsp; Do not think that just using the word in your presentation will get you there.&lt;/P&gt;
&lt;P&gt;Please, please, please.&amp;nbsp; Don't give me "We&amp;nbsp;are &lt;EM&gt;agile&lt;/EM&gt; since we have iterations that are short" crap.&amp;nbsp; Water-fall has iterations, too.&lt;/P&gt;
&lt;P&gt;Oh, by the way, there is another type of people&amp;nbsp;that drives me crazy.&amp;nbsp; These people think Scrum = Agile Development.&amp;nbsp; Arrrgggg...&lt;/P&gt;
&lt;P&gt;Disagree?&amp;nbsp; Leave comments.&amp;nbsp; Offended?&amp;nbsp; Too bad.&amp;nbsp; This is MY blog and I say whatever I want!&amp;nbsp; :)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=566239" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/youngjoo/archive/tags/Agile+Development/default.aspx">Agile Development</category></item></channel></rss>