<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
<title>Jeff McKenna's Agile Development Blog</title>
<link>http://blog.agile-action.com/</link>
<description>In this blog we explore topics, issues, questions and puzzles regarding Agile Software Development as it is applied in the Enterprise.  A particular focus is the impact on the people doing the work, the people specifying the work and the people depending on the work.</description>
<language>en-US</language>
<lastBuildDate>Wed, 13 Jan 2010 20:06:10 -0800</lastBuildDate>
<generator>http://www.typepad.com/</generator>

<docs>http://www.rssboard.org/rss-specification</docs>
<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/JeffMckennasAgileDevelopmentBlog" /><feedburner:info uri="jeffmckennasagiledevelopmentblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
<title>Uncovering a Confusion</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/MLNI0nwBSRU/uncovering-a-confusion.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2010/01/uncovering-a-confusion.html</guid>
<description>A while ago I was meeting with a group of senior VPs where I am coaching their development organizations. We were discussing measuring a team's ability to achieve it’s commitments. I suggested that we measure the ability of teams to make their commitments at the sprint level - the term Reliability is being suggested for this measurement. Did the team do what they committed to do? I find this a useful leading indicator for team performance. What I got back surprised me. I was told that making commitments to customers was the only measurement that matters. Commitments at the sprint...</description>
<content:encoded><![CDATA[<p>A while ago I was meeting with a group of senior VPs where I am coaching their development organizations.  We were discussing measuring a team's ability to achieve it’s commitments.  I suggested that we measure the ability of teams to make their commitments at the sprint level - the term Reliability is being suggested for this measurement.  Did the team do what they committed to do?  I find this a useful leading indicator for team performance.</p>

<p>What I got back surprised me.  I was told that making commitments to customers was the only measurement that matters.  Commitments at the sprint level were not as important. While this is understandable, it is not useful at the team level. </p>

<p>I realized that there was some basic misunderstanding going on.  It clearly involved the word commitment and this is what David and I are exploring.</p>

<p>A commitment is a kind of promise BY someone TO someone.  Let’s use that definition as a template, and consider some definitions crafted with Scrum terminology.</p>

<p>The first commitment we consider is the outward facing commitment to the customer:</p>

<blockquote>	
<strong>
Customer Commitment:</strong> a promise by Product Owner to Customer to deliver known feature(s) in a product by a certain date or event, often termed a release
</blockquote>

<p>This definition seems pretty clear to me.  The customer may use this promise to reliably schedule other commitments, so our organization must be sure we can meet this commitment.  In Scrum the product features are the responsibility of the Product Owner, so only the Product Owner may make the Customer Commitment.</p>

<p>The Team Commitment, on the other hand is made by the Team to the Product Owner:</p>

<blockquote>
<strong>Team Commitment:</strong> a promise by Team to Product Owner to complete selected Stories (Sprint Backlog) in Sprint
</blockquote>

<p>The definition also seems pretty clear to me.  In this case, the Team is telling the Product Owner what they expect to complete given their average velocity.  In 50% of the cases, they will complete more Stories, and in 50% of the Sprints, they will need to negotiate to move some Stories out of this Sprint before the end of the Sprint.</p>

<p>Did the confusion in my conversion with the executives arise from the two distinct uses of the word "commitment"?  How do these two uses of the word "commitment" relate?</p>

<p>We will explore this further in the next post.  </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/MLNI0nwBSRU" height="1" width="1"/>]]></content:encoded>


<category>Agile Terminology</category>
<category>Posts by Jeff and David</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Wed, 13 Jan 2010 20:06:10 -0800</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2010/01/uncovering-a-confusion.html</feedburner:origLink></item>
<item>
<title>Updating the blog</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/Wbcm3Y8kOm8/updating-the-blog.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2010/01/updating-the-blog.html</guid>
<description>As you may have noticed, there has been little activity on this blog in the lasst few months. This has been my doing ... or rather my not doing. Unfortunately Bill Ives is no longer able to add his expertize to our blogging efforts. His absence has been missed since he was a strong catalyst for me to write both through his interviews and regular pestering! Recently an old friend of mine and past colleague David Socha and I have been collaborating on various topics related to software agility. David and worked together at Rational and also at QuickSilver during...</description>
<content:encoded><![CDATA[<p>As you may have noticed, there has been little activity on this blog in the lasst few months.  This has been my doing ... or rather my not doing.</p>

<p>Unfortunately Bill Ives is no longer able to add his expertize to our blogging efforts.  His absence has been missed since he was a strong catalyst for me to write both through his interviews and regular pestering!</p>

<p>Recently an old friend of mine and past colleague David Socha and I have been collaborating on various topics related to software agility.  David and worked together at Rational and also at QuickSilver during my time in Redmond, Washington.  We have also collaborated in the past on the role of design in software.  I am enthused about our working together again.  </p>

<p>I have asked David to add some biographical information which I am sure he will do when he has a few moments.  After all we all know how much time we all have!</p>

<p>Welcome, David!</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/Wbcm3Y8kOm8" height="1" width="1"/>]]></content:encoded>


<category>Posts by Jeff McKenna</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Wed, 13 Jan 2010 19:51:16 -0800</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2010/01/updating-the-blog.html</feedburner:origLink></item>
<item>
<title>Agile Webinar Q&amp;A</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/UZdIRrhzu9g/webinar-questions.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/07/webinar-questions.html</guid>
<description>Yesterday, John Scumniotales, Paul Dupuy and I participated in a Webcast for The Agile Journal. We could not answer all the various questions on line. I thought it might be interesting to see some of them and our answers. You can see the Webcast yourself by visiting: http://w.on24.com/r.htm?e=155782&amp;s=1&amp;k=A98F0FB3D0AD7D354E60F0C65DB31BB7 Here are the questions and answers: Question: What if the business process isn't defined how does Agile handle business reengineering? Answer: When the business process is not defined, an agile approach provides an incremental model to explore and define it! Using Scrum for instance, you would work with your Product Owner (customer)...</description>
<content:encoded><![CDATA[<p>Yesterday, John Scumniotales, Paul Dupuy and I participated in a Webcast for The Agile Journal. We could not answer all the various questions on line.  I thought it might be interesting to see some of them and our answers.</p>

<p>You can see the Webcast yourself by visiting: http://w.on24.com/r.htm?e=155782&s=1&k=A98F0FB3D0AD7D354E60F0C65DB31BB7</p>

<p><br />
Here are the questions and answers:</p>

<p><strong>Question:</strong> What if the business process isn't defined how does Agile handle business reengineering?</p>

<p><strong>Answer:</strong> When the business process is not defined, an agile approach provides an incremental model to explore and define it!  Using Scrum for instance, you would work with your Product Owner (customer) to elaborate user stories that define some aspect of the business process.  Don't boil the ocean.  Pick a small "chunk" that can be easily described and understood.  If the end goal is to have a system that is implemented using software, then you should strive to implement this process as well.  To the extent possible, this should be accomplished in the same sprint.  Avoid using the sprints to only document the process.  Your goal should be to produce working software as early as often as possible.</p>

<p><br />
<strong>Q:</strong> Thanks for this presentation. One issue we struggle with is using scrum teams that do all of the things you are describing but we have trouble bidding competitively on small professional services projects. There is some overhead with scrum when applied to smallish projects (lasting 2 - 6 weeks) that we struggle with. If you have any suggestions or examples for how to insulate the customer from our internal costs of using scrum on small projects I would love to hear it. We've been using scrum for about 4 years and it works great for our product team. Any thoughts you have would be appreciated.    </p>

<p><strong>A:</strong> When using Scrum on professional services engagements, we highly recommend giving your customers visibility (and getting their buy in!) to the process you use to deliver the requested features.  If they've agreed to the approach, then this should minimize the impedance mismatch and associated overhead costs for spinning up the project.  Also, try and keep your teams together.  Remember, with Scrum, we focus on building and optimizing teams.  If your building up and tearing down teams for each project, this will certainly introduce overhead and also decrease the predictability of teams velocity as it can take up to three sprints for a team's velocity to normalize.</p>

<p><br />
<strong>Q:</strong> Which is more important between Individuals/Interaction and Processes/Tools? What I should do if my team members do not have cross-functional skills?</p>

<p><strong>A:</strong> In agile we always favor direct communication.  Whenever and where ever possible get people in a room together hashing through the problems and issues.  The reality of "agile in the enterprise" is that teams are distributed by time and distance.  This is where tools are essential in enabling team collaboration.   When teams are first formed, its common that there is some specialization of skills.  This moderates over time.  Pairing, an extreme programming best practice, is an excellent tool to use to help cross train team members.</p>

<p><strong><br />
Q:</strong> How can you help a large, compliance-oriented, traditional development organization move to a more agile approach without jumping all the way into Scrum?  </p>

<p><strong>A:</strong> If you don't have expert help on staff, we recommend getting help with the organizational change management issues that you will deal with in adopting agile.  That is why Serena partnered with Valtech, a leading provider of Agile transformational services, with our Serena On Demand product.<br />
Also set it up for early success.  Identify a few of your best teams that are starting up new projects.  Plant an experienced agile coach on the team, get them norming and storming.  You'll be able to use the experience from this team to seed (and motivate) others.<br />
A tool like Serena Agile On Demand helps as well.  It provides a prescriptive Scrum framework for the teams to follow.</p>

<p><strong><br />
Q:</strong> What tools to you offer to facilitate yearly budgeting and goal setting in a way that could feed into incremental deliveries while supporting financial accountability within key cost centers?   </p>

<p><strong>A:</strong> The "team" is the key unit for agile projects.  We want to fund teams and keep them stable for as long as possible.  This allows us to optimize predictability.  So you want to fund as many teams as possible, keep them together for as long as possible, and bring the work (projects) to them.  At the portfolio level, its also helpful to consider relative investment levels for key initiative requested from the business units.  This will dictate the mix of projects that you direct to the teams.</p>

<p><br />
<strong>Q:</strong> Can we implement these tools based on traditional methods and then seamlessly transition to agile?  </p>

<p><strong>A:</strong> No.  Adopting agile has significant impacts on the people and processes within an organization.</p>

<p><br />
<strong>Q:</strong> How does this approach handle complex systems integrations with third parties and systems involving end-to-end financial settlement processes such as GL posting.   </p>

<p><strong>A:</strong> This is hard regardless of whether your following a traditional or agile approach!  When we scale agile, we typically have many teams collaborating on a single appliation/product/service.  The integration of the work developed by these teams of course needs to be closely managed.  From a program management perspective, we can use the "Scrum of Scrums" to manage the inter-dependencies between teams and other cross team issues.  We can also use the "Super Scrum" as longer range product planning tool to make sure that work is appropriately sequenced so that cross team dependencies will be satisfied.</p>

<p><br />
<strong>Q:</strong> What if the business perception is that small, incremental releases do not generate adequate business value to warrant business change, training, and communication required? Can this process handle small internal increments that culminate into large releases?<br />
   <br />
<strong>A:</strong> Absolutely.  Agile (and Scrum) are based on incremental approaches that produce potentially shippable code.  Whether or not the increment is shipped is a business decision based on product, market, and customer readiness.  </p>

<p><br />
<strong>Q:</strong> (Loaded question) What if the user stories to be delivered in a sprint get delayed, and the spring demo cannot be completed on time?   </p>

<p><strong>A:</strong> We love loaded questions!  The duration of a sprint never changes.  If a story is not completed, its not accepted and not delivered as part of the sprint.  The story will either be returned to the product backlog or moved into the next sprint.</p>

<p><br />
<strong>Q:</strong> How is Serena differentiated from competition (such as Rally)?   </p>

<p><strong>A:</strong> Serena Agile On Demand was built from the ground up to deal with agile at the enterprise scale.  Multiple teams, multiple releases, multiple products.  We offer unique capabilities in our ability to deal with enterprise complexity.  Serena Agile On Demand comes fully loaded for prescriptive Scrum development.  While complete in its ability to deal with Scrum, its hyper-configurable to meet your specific needs as well.  Serena Agile On Demand not only delivers the product features as a service, but it also delivers on demand agile coaching through Coach Live in cooperation with Valtech. </p>

<p><strong><br />
Q:</strong> How can the tool support allocating planned resource capacity to specific initiatives while allowing freedom from scrum masters to manage specific task assignments for team members. Need to measure that actual utilization is not exceeding targeted resource allocations.    </p>

<p><strong>A:</strong> A major difference with agile approaches from traditional approaches with respect to resource management is that the team is the unit of planning, not an individual resource.  We try and put cross functional teams together and keep them together.  The team then establishes a velocity - basically the amount of work they can complete in a sprint.  Once the teams velocity is established, the team commits to deliver the amount of work that matches their velocity.  Agile teams are always looking for ways to optimize their throughput (increase their velocity).  This is contrasted with traditional approaches where management attempts to maximize utlization.</p>

<p><br />
<strong>Q:</strong> Can the Agile On Demand task board be customized to reflect custom statuses ("swim lanes")?"   </p>

<p><strong>A:</strong> Yes.  The swim lanes in the Card Wall are completely configurable.</p>

<p><br />
<strong>Q:</strong> Who selects scrum team</p>

<p><strong>A:</strong> When making a transition from traditional methodologies to SCRUM we think it is a best practice to "invite" members of the team to join the SCRUM. It's important in the early stages to get enthusiastic members on the team who will actively engage and support adoption. Hard to get people like that if they are 'forced' to be on the team.</p>

<p><br />
<strong>Q:</strong> Since agile / scrum utilizes an Empirical model for managing costs, How can management make an assessment of the total cost of the program in order to fund development.    </p>

<p><strong>A:</strong> Plan the work as far as the release horizon using coarse grain items. Have the team size the items using rough estimates. Use historical information from the team's activity or make an educated guess about how much work the team can do in a sprint. Determine the cost of a team for a sprint. Calculate how many sprints you need to finish the work in the release. This gives you the estimated cost to complete the work. You'll need to use scope negotiation skills to prevent "scope creep" and decrease the priority of low priority items. You'll also need to recognize that as the software is developed, changes will occur (which is a good thing -- you'll find that what you wanted at the beginning isn't what you need) and trade-offs will have to be made.</p>

<p><br />
<strong>Q:</strong> I manage a small unit responsible for several projects. Some were started over a year ago and were designed to follow waterfall. Subsequent projects are now developed via Scrum Agile method. With at least a year left on the waterfal project, how or should we switch mid-stream to agile?   </p>

<p><strong>A:</strong> It is fairly simple to switch to Scrum to manage your work. If your waterfall planning resulted in a pretty gantt chart with tasks, you can use them as the work items in your product backlog. Read up on Scrum and get a certified scrum master if you can.</p>

<p><br />
<strong>Q:</strong> Have you ever heard of ACTUAL customers (in addition to product owners and PMs) participating in a sprint review? Any ideas how this could be implemented? Thanks!   <br />
<strong><br />
A:</strong> Absolutely.  This is done quite frequently in fact.  If possible invite the customer to attend in person.  Otherwise their are many virtualized meeting tools that can be used quite effectively.</p>

<p><br />
<strong>Q:</strong> Could you expand some on non-product stories, how they get prioritized since the product owner may not care, how you track those vs. product user stories in metrics, etc?"   </p>

<p><strong>A:</strong> Pay me now or pay me later.  Sometimes the team has to go slow for a few sprints to go faster in future sprints.  There are many examples of non-product stories where technical debt is addressed that may not result in direct value to the customer.  This is where the team and the Scrum Master must lobby and compel the product owner to include these stories into a sprint.  Without this balance, an insurmountable amount of technical debt will build up.</p>

<p><br />
<strong>Q:</strong> Is Serena overkill for a team just looking for a requirements/project management?   </p>

<p><strong>A:</strong> No, not at all. Serena's Agile On Demand has the ability to manage many types of backlogs and is ideal for requirements/project management. Internally here, the Marketing department has several teams actively sprinting and using Agile On Demand to manage projects and requirements. Multiple product backlogs, about nine is our case, contain stories for different projects the team is working on, each managed by a separate 'product owner' (usually a Product Marketing Manager). Then there are separate TEAM backlogs that contain the sprints and cross functional teams of marketing types who all contribute to the completion of stories with the project backlogs. The benefits of have a team manage requirements this way include time management, capacity planning for the sprint and minimizing the randomizing effects of fire drills.</p>

<p><br />
<strong>Q:</strong> How did you convince your managment to use XP?   </p>

<p><strong>A:</strong> XP is a collection of best practices that increase the likelihood a team will deliver running tested features that meet customer needs in a predictable and repeatable way. Surely management can see the value in that result? ;-) The book "Extreme Programming Applied" has a good discussion of this. Also see the discussion on the c2 wiki: http://c2.com/cgi/wiki?WhyItIsSoHardToSellExtremeProgramming</p>

<p><br />
<strong>Q: </strong>So, Product Managers can equate to Business Analyst in a traditional organization and Scrum Master is played by Project Managers?   <br />
<strong><br />
A:</strong> The Product Manager's roles and responsibilities align quite well with the Product Owner's.  BUT, the approach they take to elaborating requirements and engaging with team varies significantly.  A Project Manager can be a Scrum Master, but be cautious.  Project Managers are typically in a top-down command and control roll where they plan and dictate to the team how to complete work.  A Scrum Master is a passive leader that facilitates the team.  The Scrum Master coordinates meetings, interfaces with external teams, and manages the impediments that the team can't resolve themselves.</p>

<p><br />
<strong>Q:</strong> How do we handle Standup meetings for geographically distributed teams?"  </p>

<p><strong>A: </strong>Tools are essential.  Use planning and collaborations tools like Serena Agile On Demand and Virtual Meeting tools.</p>

<p><br />
<strong>Q:</strong> What estimation method do you use from sprint planning?    </p>

<p><strong>A:</strong> We use story points with "unit-less" value. Our teams use planning poker to estimate sizes.  There is an interesting video of it's creator talking about it here: http://www.youtube.com/watch?v=1oIaz7aZsno&feature=channel_page and more info on this site: http://www.planningpoker.com/</p>

<p><br />
<strong>Q: </strong>Would you recommend adding to the backlog a "regression testing" item?"   </p>

<p><strong>A:</strong> Using stories to manage work that is difficult to complete or track can work well. If the team is having trouble doing regression testing in a predictable way during the course of a sprint, using a story is recommended. If the team does a consistent amount of regression testing every sprint, you could instead consider it "overhead" and choose not to track it.</p>

<p><br />
<strong>Q:</strong> is serena agile license per user based?  <br />
<strong><br />
A:</strong> Yes. $35 per user per month.</p>

<p><br />
<strong>Q:</strong> Where would a Business/System Analyst fit into the Scrum team/role   <br />
<strong><br />
A:</strong> Often times we see Business/System Analysts as part of the Scrum team in primarily a Product Owner role.</p>

<p><br />
<strong>Q:</strong> IS a user story different than a story board. Or is the story board where you post all the user stories for selection?  <br />
<strong><br />
A:</strong> The card wall (story board) is a technique for showing stories and their current state in a single view. It is typically used to manage the state for stories in a sprint.</p>

<p><br />
<strong>Q:</strong> Where is the current "high-bar" for portfolio management across an enterprise for full Scrum methodology used on across large teams of developers? Team size of 500 + developers? 800+ developers?   </p>

<p><strong>A:</strong> 1000s of resources.</p>

<p></p>

<p></p>

<p></p>

<p></p>

<p><br />
 </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/UZdIRrhzu9g" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Continuous Integration</category>
<category>Posts by Jeff McKenna</category>
<category>Scrum</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Thu, 30 Jul 2009 11:11:06 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/07/webinar-questions.html</feedburner:origLink></item>
<item>
<title>Innovation Games® workshop</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/TnIgfKSoZUA/innovation-games-workshop.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/06/innovation-games-workshop.html</guid>
<description>I just finished a two day workshop on Innovation Games® by Luke Hohmann of Enthiosys. In short it was great, stimulating, chaotic, and filled with lots of ideas and games to play. Most of the attendees were independent Scrum Trainers/Coaches with some additional perspectives given by two market researchers. A couple of us were embedded coaches/trainers like myself. It was a stellar group with lots of often expressed opinions! The games we played with are all described in Luke's book, Innovation Games which I certainly recommend. All good training for agile methods include liberal amounts of experiential exercises. I was...</description>
<content:encoded><![CDATA[<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570722d28970c-pi"><img class="at-xid-6a0111689afdf1970c011570722d28970c" alt="En" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570722d28970c-320wi" style="margin: 0px 5px 5px 0px;" /></a>I just finished a two day workshop on <a href="http://http://innovationgames.com/">Innovation Games®</a> by Luke Hohmann of <a href="http://www.enthiosys.com/">Enthiosys</a>.  In short it was great, stimulating, chaotic, and filled with lots of ideas and games to play.  Most of the attendees were independent Scrum Trainers/Coaches with some additional perspectives given by two market researchers.  A couple of us were embedded coaches/trainers like myself.  It was a stellar group with lots of often expressed opinions!  The games we played with are all described in Luke's book, Innovation Games which I certainly recommend. </p>

<p>All good training for agile methods include liberal amounts of experiential exercises.  I was first seriously exposed to this approach when I studied with Jerry Weinberg.  He called them simulations and from him I learned how precise in terms of teaching objectives they can be.  Luke has taken this to even greater levels and he uses the more currently politically correct term, game, to refer to this type of exercise.  These days when agile trainers gather together they often share games they are using and practice on each other.</p>

<p>In my view the power of games is that a well designed game will engage more of the our capabilities.  Some games get the body involved - somatic involvement.  We know that learning for most folks is enhanced when the body is more involved.  Some games get both sides of the brain involved - right brain (random, intuitive, synthesis,  subjective, wholes) as well as left brain (logical, rational analytic, objective, parts).   We need both modes to solve complex problem in new ways.  Some games encourage our emotions to play a more active role.  Our passions can be expressed and utilized.</p>

<p>As we discussed in the workshop, a current constraint on successful agile projects is the difficulty of writing those stories that are the work to be done.  Scrum books assume that they exist.  They don't.</p>

<p>Surprise, surprise.  For over 40 years from the engineering side I have heard 'If we could just get good requirements we could <fill in the blank>'.  Typically blanks are 'Take less time',  'Have fewer bugs', 'Deliver what is needed', 'Cost less' or 'Get the design right'.  This problem has not gone away.  And agile has never promised that it could fix this problem.  Well executed agile only promises that engineering can reliably deliver what is asked for at a known quality level at a known time.</p>

<p>The short time box aspects of agile allow more in-course correction to be made based on what I think of as reality based feedback.  This behavior gives the impression that 'requirements' are better.  That is not true.  Agile projects can produce bad products faster and more reliably than more traditional techniques.</p>

<p>Innovation Games® as we learned them are a set of tools that can seriously help with the difficult problems of where the product is going.  We experienced the ease and FUN that can be experienced as difficult problems are addressed relatively quickly and innovative potential solutions are discovered. High level plans such as roadmaps can be addressed with these techniques as well as prioritization of high level backlogs.  Filtering the infinite world of the possible down to the practical world of the doable.</p>

<p>Some of the games are now available <a href="http://innovationgames.com/">online</a> for distributed teams and we got a chance to play one of them.  An impressive beginning to a difficult problem.</p>

<p>I was impressed.<br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/TnIgfKSoZUA" height="1" width="1"/>]]></content:encoded>


<category>Posts by Jeff McKenna</category>
<category>Scrum</category>
<category>Training</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Fri, 26 Jun 2009 12:35:03 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/06/innovation-games-workshop.html</feedburner:origLink></item>
<item>
<title>Junkies and Zombies: Patterns of Project Behavior</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/eHmCWJyM6VE/junkies-and-zombies-patterns-of-project-behavior.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/05/junkies-and-zombies-patterns-of-project-behavior.html</guid>
<description>Yesterday I finished reading Adrenaline Junkies and Template Zombies - Understanding Patterns of Project Behavior by Tom DeMarco, Peter Hruschka, Tim Lister, Steve McMenamin, James Robertson and Suzanne Robertson. Whew... with a list of authors like that it must be good or at least long. It is good and it is not long. It is a very readable compendium of 86 patterns with a couple of ‘interludes’ to break things up. The patterns are in a short, fairly informal format of some two to six or seven pages. Each describes a way we operate or operate in organizations. There is...</description>
<content:encoded><![CDATA[<p>Yesterday I finished reading <em><a href="http://www.amazon.com/Adrenaline-Junkies-Template-Zombies-Understanding/dp/0932633676/ref=sr_1_1?ie=UTF8&s=books&qid=1242414539&sr=8-1">Adrenaline Junkies and Template Zombies - Understanding Patterns of Project Behavior</a></em> by Tom DeMarco, Peter Hruschka, Tim Lister, Steve McMenamin, James Robertson and Suzanne Robertson.  Whew... with a list of authors like that it must be good or at least long.</p>

<p>It is good and it is not long.  It is a very readable compendium of 86 patterns with a couple of ‘interludes’ to break things up.  The patterns are in a short, fairly informal format of some two to six or seven pages.  Each describes a way we operate or operate in organizations.  There is some gentle discussion of details.  And an even more gentle treatment of those patterns that are judged less than ideal.  </p>

<p>The book supports achieving a goal of mine for all teams and individuals on those teams:  Becoming more conscious of the work that we do and more conscious of the relationships that we are in as we do that work.  The patterns are presented as a way to think and reflect on how we work together.  Some are more technical, some are more relational, and some are individual.</p>

<p>The names give many of them away:  <strong>Face Time</strong> – about talking together; <strong>It’s Always the Goddamned Interfaces</strong> – exploring the congruence of teams and components that they build; <strong>Sanctity of the Half-Baked Idea</strong> – notices that if only ‘good’ ideas are allowed the great ideas are more difficult to find.</p>

<p>I recommend this book.  Enjoy it one small bite at a time.</p>

<p>P.S. As I was reading the book I found myself wanting to score myself and score my current job situation.  How was I doing? How were we doing?  What was our Zombie Score?  Perhaps the authors can provide a simple spreadsheet and do some analysis.  If the Zombie score of an organization is good, are they more successful?</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/eHmCWJyM6VE" height="1" width="1"/>]]></content:encoded>


<category>Book Reviews</category>
<category>Posts by Jeff McKenna</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Tue, 19 May 2009 00:07:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/05/junkies-and-zombies-patterns-of-project-behavior.html</feedburner:origLink></item>
<item>
<title>My Eight Current Agile Blogs</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/g-ijLU9daPY/my-eight-favorite-agile-blogs.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/05/my-eight-favorite-agile-blogs.html</guid>
<description>When I put together this blog I wanted to make reference to other bloggers. I noticed that there are a lot of Agile blogs. What I chose to do is to pick people I knew or blogs that I found particularly interesting. There are many, many others. Have fun browsing! Tobias Meyer writes the blog, Agile Thoughts. He is one of the most interesting trainers that I know. He is very opinionated. I know him personally and really enjoy being around him. I have learned a lot from him. Tobias is always very thoughtful and I really respect his opinion....</description>
<content:encoded><![CDATA[<p>When I put together this blog I wanted to make reference to other bloggers.  I noticed that there are a lot of Agile blogs.  What I chose to do is to pick people I knew or blogs that I found particularly interesting. There are many, many others.  Have fun browsing!</p>

<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0010970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b0010970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0010970b-100wi" /></a>Tobias Meyer writes the blog, <a href="http://agilethinking.net/blog/">Agile Thoughts</a>. He is one of the most interesting trainers that I know. He is very opinionated. I know him personally and really enjoy being around him. I have learned a lot from him. Tobias is always very thoughtful and I really respect his opinion. He is particularly interested in the games we play to help people learn. <br />
			<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0074970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b0074970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 3" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0074970b-100wi" /></a>Mike Cohn writes the blog, <a href="http://blog.mountaingoatsoftware.com/">Succeeding with Agile</a>. Mike is a classic and was on the Board of Directors of the Scrum Alliance for a long time. He has written some of the best books on Agile. He is very strong in what he believes Scrum should be. I have trained with him. I enjoy being with Mike a lot and he is very knowledgeable. He has thought out a lot of things and is not afraid to make controversial statements. <br />
		<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b010f970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b010f970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 4" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b010f970b-100wi" /></a>Ken Schwaber writes the blog, Edge of Chaos: <a href="http://www.targetprocess.com/blog/">Edge of Chaos, Agile Development Blog</a>. He is the man who put Scrum on the map. He went to conferences starting in the mid-90s and talked about Scrum and learned more about it. Ken co-wrote the first book defining Scrum and is the “father” of Scrum in a sense of getting the word out. He put together some of the first training programs. Ken is still active. I see him about twice a year at the Scrum gatherings. <br />
			<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0224970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b0224970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 5" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0224970b-100wi" /></a>John Scumniotales writes the blog, <a href="http://agile.scumniotales.com/">Agile Product Development</a>. He was on the very first Scrum project, which I also had the pleasure of being on. John was, in essence, the very first Scrum Master. He is now a VP of Engineering at Serena Software. He is taking Agile up through the enterprise. He has been very concerned with how to bring Agile practices as you move up the management chain. We have disagreed at times but he has thoughtful articles about his experience, more on the management or executive side of Scrum. I read his blog fairly often. <br />
			<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b02d9970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b02d9970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 6" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b02d9970b-100wi" /></a>Jeff Sutherland writes the blog, <a href="http://jeffsutherland.com/scrum/">Scrum Log</a>. He was the intellectual founder of Scrum. He did all the research with the Japanese. He was the CTO of the first Scrum project that John Scumniotales and I were on. Jeff is a very interesting fellow with two MDs. He was a fighter pilot in the Korean War. John is full of energy and goes around the world training people in Scrum. He is constantly pushing the boundaries of Scrum. You should read his articles about red and blue Scrum.  He has said that if the project team does not have a velocity in place after two or three meetings you should disband the team and start over again. I think of what he does as tough love or “tough Scrum.” Jeff is a great guy who always listens carefully to what you have to say. <br />
			<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0366970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b0366970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 7" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b0366970b-100wi" /></a>David Anderson writes the <a href="http://www.agilemanagement.net/Articles/Weblog/blog.html">Agile Management</a> Blog. David is from the Lean thinking approach and I find him very interesting to read. He has a lot of good ideas. He is very much into measurement and its effects on projects. Lately he has been chatting more about Enterprise Agile and more focus on Lean. <p><br />
			<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b03e7970b-pi"><img class="at-xid-6a0111689afdf1970c0115708b03e7970b" style="width: 100px; margin: 0px 5px 5px 0px;" alt="Picture 8" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115708b03e7970b-100wi" /></a>Corey Ladas writes the blog, <a href="http://leansoftwareengineering.com/">Lean Software Engineering</a>. I do not know him but I find his work in Lean very interesting as we bring the Lean practices more directly in front of the Agile process. Clearly Agile and Lean are closely tied together. Corey makes this very explicit. <br />
		<br />
<a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c01156f94f4e8970c-pi"><img class="at-xid-6a0111689afdf1970c01156f94f4e8970c" alt="Picture 9" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c01156f94f4e8970c-120wi" style="margin: 0px 5px 5px 0px;" /></a>The <a href="http://www.agileadvice.com/">Agile Advice</a> blog is subtitled Working with Agile Methods (Scrum, XP, Lean). I do not know this writer but it is a blog I saw that I liked. I thought it was interesting and wanted to include it. <br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/g-ijLU9daPY" height="1" width="1"/>]]></content:encoded>


<category>Posts by Jeff McKenna</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Fri, 15 May 2009 11:22:47 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/05/my-eight-favorite-agile-blogs.html</feedburner:origLink></item>
<item>
<title>The Importance of Quality Engineering Practices in Agile Development</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/T312TtpjXU0/the-importance-of-quality-engineering-practices-in-agile-development.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/05/the-importance-of-quality-engineering-practices-in-agile-development.html</guid>
<description>As I have working with a number of Agile development efforts I have noticed the importance of quality engineering practices in Agile adoptions. Agile work management is about orienting people to make the right work at the right time. I sometimes think of it as the TIVOing of software development. We are timeshifting work. You wait and do things at the right time. Ward Cunningham, the inventor of the wiki, talks about only doing what you know. Don’t do what you don’t know. This is a critical quality in how we experience development in Agile. A clear prerequisite to being...</description>
<content:encoded><![CDATA[<p>As I have working with a number of Agile development efforts I have noticed the importance of quality engineering practices in Agile adoptions.</p>

<p>Agile work management is about orienting people to make the right work at the right time. I sometimes think of it as the TIVOing of software development. We are timeshifting work.  You wait and do things at the right time. <a href="http://c2.com/~ward/  ">Ward Cunningham</a>, the inventor of the wiki, talks about only doing what you know. Don’t do what you don’t know. This is a critical quality in how we experience development in Agile.</p>

<p>A clear prerequisite to being able to do this is quality engineering practices.  We have discovered that many organizations do not have a clear understanding of this. Now quality is a fairly broad term. It can be interpreted in many ways. People say, well, of course you need quality engineering. And I have a specific take on what I mean: a quality of correctness.  It is correct.</p>

<p>It is little things like the code works and it continues to work. It does not have bugs in it.  The code actually fulfills the purposes for which it is intended. </p>

<p>It is finished. Sometimes the code never seems to get done. There are always some bugs associated with it or the documentation did not quite get done. </p>

<p>And we have experience with this. It can be achieved. The project I mentioned in the post, <a href="http://blog.agile-action.com/2009/03/achieving-immediate-and-continuous-bug-fixes-in-agile-development.html">Achieving Immediate and Continuous Bug Fixes in Agile Development</a>, is an example. Because we wrote with sufficient unit tests, because we had good automated integration tests, because of a 100 regression test way of thinking, and because of continuous integration that ran these tests, when we finished a piece of code it was done and there were very few bugs, never more than 5 at one time for the entire project.</p>

<p>Now this does not mean that we had all the features you might ever think about.  In my mind that is the trap we fall into.  We say: ‘Oh, that feature should do X and Y should be done in a different way.’ That is not what I mean by done or quality. Quality means that the system does what you want it to do at that moment in time. We take small steps and make sure that each step is done in a quality manner.</p>

<p>Later, you might add some different features or change features to respond to market pressures, better ideas, customer input or other conditions.  However, when the new stuff is put in, these additions also have the quality of correctness. </p>

<p>This requires good engineering practices. It is interesting to consider this because what happens is that the teams that achieve this way of thinking/acting with their code are very productive. They feel better. It is fun to be around them. They are always thinking about new things because they do not have to think about the old things any more. </p>

<p>The social side is that they are more willing to try new things. It means that there is more innovation in the products. They know that if something is done it will be quality or they will just take it out. </p>

<p>I see Agile being like the train running down a well laid set of tracks, constantly moving forward on a solid foundation. When the foundation is kept strong (the attitude and practice of quality) the train can easily move. As you go forward everything is working and you are just advancing. More alignment is naturally achieved.</p>

<p>In fact we use the term release train to refer to a particular way of deploying software on a regular basis. It is this feeling. You are on an engine that is running and you drop new requirements in as you go forward and working functionality comes out the other end. </p>

<p>This causes some other issues. At times, developers never feel they are done. So we need to address this human need for accomplishment and build in pauses, vision setting, and reflection to address this human need. You need to have the team take time to stop and look at their accomplishments. </p>

<p>This means that way down deep inside the team has good tools and a good sense of what testing is. The developers know what good design is and how to recognize it. They know how to change the design if the requirements change. Extreme programming really pointed the way to achieve this quality. If you do not do this then Agile becomes just another process that sort of works. The old ways come back: schedules slip, bugs proliferate, morale declines.</p>

<p>I wanted to discuss quality engineering because it is important for people to understand that Agile is not just about making short iterations. An attitude of quality is important.  It is an old software adage to get the best people you can. Here we are suggesting that the best people as those who know quality engineering.  </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/T312TtpjXU0" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Posts by Jeff McKenna</category>
<category>Quality</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Fri, 01 May 2009 00:40:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/05/the-importance-of-quality-engineering-practices-in-agile-development.html</feedburner:origLink></item>
<item>
<title>Thoughts on Individual Measurement in Agile Development</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/Y2ZQx4eWqlQ/thoughts-on-individual-measurement-in-agile-development.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/04/thoughts-on-individual-measurement-in-agile-development.html</guid>
<description>Jeff: We talked in an earlier post, The People Part of People, Process and Tools in Agile Development, about the difficulties of measuring people. This is a real issue as Agile scales up and becomes more mainstream. HR concerns, such as individual career paths and growth in capacity in Agile development projects, have becomes more prevalent. Agile really started with small teams on small, pilot projects. This is a new problem in Agile. Bill: Is this problem because Agile was initially done for small projects and now it is being used for much more. Or is the problem that is...</description>
<content:encoded><![CDATA[<p><strong>Jeff</strong>: We talked in an earlier post, <a href="http://blog.agile-action.com/2009/04/the-people-part-of-people-process-and-tools-in-agile-development.html">The People Part of People, Process and Tools in Agile Development</a>, about the difficulties of measuring people. This is a real issue as Agile scales up and becomes more mainstream. HR concerns, such as individual career paths and growth in capacity in Agile development projects, have becomes more prevalent. Agile really started with small teams on small, pilot projects. This is a new problem in Agile. </p>

<p><strong>Bill</strong>: Is this problem because Agile was initially done for small projects and now it is being used for much more. Or is the problem that is especially acute because Agile focuses more on people issues than traditional software development methods. </p>

<p><strong>Jeff</strong>: Both. I think the people issues are more acute in Agile.  Before Agile, we tended over the years to do things like rank ordering all the people in the organization through an evaluation process. We have known companies that have literally fired the bottom ten percent of people once a year. </p>

<p><strong>Bill</strong>: Of course that encourages everyone to stab their neighbor in the back.</p>

<p><strong>Jeff</strong>: Right. It has particularly bad consequences on Agile because Agile is a team sport. If you are always throwing out a person on the team there will be jockeying around this. So if Agile is a team sport how do we measure and help people with evaluation and growth?</p>

<p>To address this concern, we put together some guidelines on this for Agile that people have used. I do not claim to be an expert in this area. There are a lot of trials going on. </p>

<p>Here are the guidelines I recommend. For an individual I think about half of their evaluation should be based on how the team is doing. So we need some metrics on how the team is doing in terms of being an Agile team. We will talk about this in the another post but let’s assume that it is possible to implement. </p>

<p><strong>Bill</strong>: So half of an individual’s performance measurement is based on the measurement of their team?</p>

<p><strong>Jeff</strong>: Right. Now if you have lot of people in an organization that are not part of a team but just floating around, of course this does not work so well. We prefer when doing Agile to get people on teams and leave them there. The team dynamics are the difficult problem. The difficulty is not the coding, it is not the work people are doing. It is the team dynamics. In Agile we are suggesting that the team is the right unit to think about planning and execution, not the individual.  Hence a team evaluation is an important component of an individual evaluation.</p>

<p>So let’s assume that you can evaluate teams. This leaves the other 50%.  I think half of it (one quarter of the evaluation) should be on how that person is perceived by the team. So the team gets some say on how you are doing.  Sometimes we see a situation where a team does not like working with a particular person. We have been in places where a team says we don’t want this person on our team.  If we find a better place for that person a win-win situation occurs.</p>

<p>This indicates a level of team maturity that does not always exist. Teams need to know themselves and be able to talk openly to make such a conclusion. And, of course, it has to be handled well. But it is possible.  Once, we took a team member off a team and its productivity instantly went up by 12% because this person was slowing the team down. His work was fine so I want to be clear that this was an issue of team dynamics not individual capacity. It does mean that you want to fire the person but they need to be on a different team. </p>

<p>The analogy I think you need to look at is the sports team and watching how people move around. Look at how some people work well in one team and not in another. This is a people issue. </p>

<p><strong>Bill</strong>: I was about to mention sports earlier because in many sports situations, more so than business, the individual team member’s evaluation and their monetary rewards are based on team performance. Do they make the playoffs, etc. Someone is not considered a real MVP unless the team does well.  We certainly experienced this in Boston when the Red Sox got rid of Manny Ramirez, one of the best hitters in baseball. The team did better because everyone on the team, except one, voted that he should go. Maybe they were being like a mature Agile team.</p>

<p><strong>Jeff</strong>: Exactly. The team is trying to figure out how to be a better team. Team balance is very important. Sometimes the team needs a star to disrupt the balance and inspire them to do different things. Teams tend to know this more than we give them credit for. Managers think they know what is going on but the team often has better knowledge about this.  Of course, good managers understand this. </p>

<p>So half of an individual’s evaluation is how the team does. A quarter of the evaluation is based on how the person is viewed by the team. 360˚ evaluations are a pretty classic way to do this.</p>

<p>This leaves the remaining 25 percent. Team member usually have an area of technical or functional focus. They might be in documentation or development. So we expect that this last 25 percent should be based on their growth in their functional areas. You can set goals for each person, such as learning a new computer language or a new technology.  Some companies get pretty formal about this with classes and credit. Thus, the last 25 percent of an individual’s evaluation should be about their functional skills and if they get better. </p>

<p><strong>Bill</strong>: I think one of the keys to success relates to something you said earlier. These measures cannot be comparative.  You should not rank people based on the individual measures so it is not competitive. It takes out the competition. It has to be normative rather than competitive. Everyone can get an A if they deserve it. </p>

<p><strong>Jeff</strong>: Exactly. Otherwise you cannot get a high performance team to engage in making the team succeed.</p>

<p>In looking at team dynamics, a lot of people have been exposed to <a href="http://www.myersbriggs.org/">Myers Briggs</a> personality profiles. A lot of <a style="float: right;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570412249970b-pi"><img class="at-xid-6a0111689afdf1970c011570412249970b" alt="Picture 3" title="Picture 3" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570412249970b-800wi" border="0" style="margin: 0px 0px 5px 5px;" /></a>companies use this and many people know their ‘type’. Myers Briggs is very popular and the most widely known of these methods. Myers Briggs asks questions about how you are, how you function. If you are an introvert you tend to think before you speak. If you are an extrovert you tend to speak before you think.  Teams that learn profiling such as Myers Briggs learn that different people function in different ways.  Team members need to know this.  As an example, if you have an introvert on a team you learn you must give them a chance to speak. If you make decisions at a team meeting too quickly it can inhibit the introverts from speaking. </p>

<p><strong>Bill</strong>: There is the method of not letting any one speak twice until everyone speaks once.</p>

<p><strong>Jeff</strong>: Yes, that does it.</p>

<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570412189970b-pi"><img class="at-xid-6a0111689afdf1970c011570412189970b" alt="Picture 2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011570412189970b-120wi" style="margin: 0px 5px 5px 0px;" /></a>In another method <a href="http://www.kolbe.com/">Kathy Kolb</a>e is asking different questions. The main question she is asking is ‘what makes you want to do something?’ What motivates you to come to work? It refers to the will to act. Her classification includes things like starting new projects or being a follow through person. Do you like to complete things? Do like to be a fact finder? Do you like to have all the facts before you move on? Or do you like to make things beautiful? </p>

<p>Alaska Airlines uses the Kolbe method for their employees. On each employees badge there is a graph of their Kolbe metric. People use this. Kolbe suggests that better teams are balanced. We need some quick starts to ge going but if the team does not have any people who finish things the team will have difficulty completing anything.  I have found Kolbe much more useful in making sure teams are balanced with the right mix of people to start and finish things. </p>

<p>The work Kathy Kolbe did came out of the <a href="http://en.wikipedia.org/wiki/Skunk_works">skunk works project</a>s from several years ago. The skunk works were a team concept that was developed at Lockheed as a better way to make planes.  The U-2 and Sr-71 were both developed in this way. (They were very Agile!!!) Soon Skunk Works became very.  In practice some worked and some did not. Kolbe looked at this. She discovered that a lot of these teams would get started quickly as they attracted a lot of quick starts but then no one on the team wanted to finish things. And they did not finish things.  We would prefer our teams to finish things.</p>

<p>To summarize:<br />
50%	Team performance<br />
25%	Team evaluation<br />
25%	Individual growth in functional area<br />
_________________________________________________<br />
100%	Individual evaluation</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/Y2ZQx4eWqlQ" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Interviews</category>
<category>Measurement in Agile</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Tue, 28 Apr 2009 00:10:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/04/thoughts-on-individual-measurement-in-agile-development.html</feedburner:origLink></item>
<item>
<title>Comparing Extreme Programming, Scrum, and Lean Software Development in Agile</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/80Mb4ZcKGzY/comparing-extreme-programming-scrum-and-lean-software-development-in-agile.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/04/comparing-extreme-programming-scrum-and-lean-software-development-in-agile.html</guid>
<description>I have been talking to a number of people, including some journal editors, who seem to be concerned or even confused about the differences between Extreme Programming (XP), Scrum, and Lean Software Development in Agile. So I want to explain the differences in this post. Bill and I talked it over as I explained these concepts. Bill: So what are the differences between these three approaches and why is this an issue for some people? What are some of the questions you are hearing? Jeff: Well, for one, some people see these as contrasting flavors of Agile. They ask which...</description>
<content:encoded><![CDATA[<p>I have been talking to a number of people, including some journal editors, who seem to be concerned or even confused about the differences between <a href="http://en.wikipedia.org/wiki/Extreme_Programming">Extreme Programming (XP</a>), <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a>, and <a href="http://en.wikipedia.org/wiki/Lean_software_development">Lean Software Development</a> in Agile.  So I want to explain the differences in this post.  Bill and I talked it over as I explained these concepts. </p>

<p><strong>Bill</strong>:  So what are the differences between these three approaches and why is this an issue for some people?  What are some of the questions you are hearing? </p>

<p><strong>Jeff</strong>: Well, for one, some people see these as contrasting flavors of Agile. They ask which one should we use, for example. These are different aspects of Agile but they do not operate at quite the same level. Asking which one to use is not the really right question.</p>

<p>My view is that these three all relate to Agile but represent different focus points. At the most granular level, Extreme Programming or XP is the one that caught attention first. It is targeted toward individual team practices. It is mostly about what individuals do to improve their development practices such as Test Driven Development, Refactoring, Small Releases, and Simple Design. XP also describes other practices that the team can use to improve its function such as the Planning Game, Daily Stand Ups and Collective Code Ownership.</p>

<p>Since Agile mostly started with individual teams, Extreme Programming was very valuable to them. It taught people a lot of things that are now not seen as radical as they were when they first appeared in the early 90s when XP became visible. So things like test driven development, <a href="http://blog.agile-action.com/2009/03/achieving-immediate-and-continuous-bug-fixes-in-agile-development.html">continuous integration</a>, and refactoring are not seen as very radical … now.  </p>

<p>Many people use these three techniques whether they are doing Agile or not since they promote good engineering practice.  One of the ways we have seen Agile fail is when it is implemented on top of poor engineering practice. This was not the only thing XP did but it was its major focus. </p>

<p>Scrum predated Extreme Programming in creation but not in terms of popularity. Scrum is agnostic about team development practices and assumes that you have good ones. It is more concerned with work management and team dynamics.  XP does have things to say about team dynamics but Scrum is a little stronger on them. </p>

<p><strong>Bill</strong>: How is Scrum stronger?</p>

<p><strong>Jeff</strong>: It is stronger as it puts in place some behaviors that were not explicitly called out. For example, in retrospection, that we discussed before, the roles are more clearly defined in Scrum than XP. </p>

<p><strong>Bill</strong>: Is Scrum a more articulated and defined Extreme Programming?  Is it taking it in new directions? </p>

<p><strong>Jeff</strong>:  No. Scrum, as defined, actually doesn’t say anything about software. Scrum is about work management and team dynamics that can be used in non-software projects. Most people use it in software development and books refer to it in this way but Scrum does not call out any specific software practices. XP, in contrast, is very specifically for software development. </p>

<p>Scrum did not take any of the Extreme Programming practices except the daily standard meeting. It is targeted at a different place, for the management of work and team dynamics. Because of this it has things to say about scaling to larger teams while XP is quiet about this. </p>

<p>When you get even larger in the enterprise then Lean starts to come into play. Lean is a lot like some of the Six Sigma work in that Lean is looking at reducing waste and looking at ways to eliminate unnecessary work, value chain analysis.  Scrum teams often use Lean thinking to improve the management their work and that has some interesting implications. </p>

<p><strong>Bill</strong>: So if I understand you, it is really a layered situation. </p>

<p><strong>Jeff</strong>: That is how I think about it and yet there are things that cross continuously. Lean concepts are useful on any Agile project.  So, in fact, I see Agile projects which use all three. </p>

<p><strong>Bill</strong>: Extreme Programming started down in the trenches. Scrum is there at the next level at the team leader or supervisor level. Then Lean goes up another level. It goes at the cross team, enterprise level. So all of the higher levels ones can flow back down to the layers underneath. </p>

<p><strong>Jeff</strong>: Yes, but the thing I want to emphasize is that those are not cut and dry levels. There is lots of overlap. When XP talks about the practice of pair programming, which is one of the more radical concepts, there is no counterpart in Lean. But the Lean concept of taking smaller bits flows down to XP. </p>

<p><strong>Bill</strong>: So it seems clear to me as to why they operate at different levels but you say there is confusion. What is the cause of this confusion?  Why do they think they are mutually exclusive? </p>

<p><strong>Jeff</strong>: When people hear there are different flavors of Agile, they think they are distinct and one has to choose one or the other.  Some of the advocates for the different approaches present their way as the better way over the other approaches. This is what I see going on and it creates unnecessary confusion. </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/80Mb4ZcKGzY" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Extreme Programming (XP)</category>
<category>Interviews</category>
<category>Lean</category>
<category>Scrum</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Fri, 24 Apr 2009 01:17:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/04/comparing-extreme-programming-scrum-and-lean-software-development-in-agile.html</feedburner:origLink></item>
<item>
<title>The People Part of People, Process and Tools in Agile Development</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/3bxifZhLAEQ/the-people-part-of-people-process-and-tools-in-agile-development.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/04/the-people-part-of-people-process-and-tools-in-agile-development.html</guid>
<description>Jeff: In this post I want to talk a bit about the people side of Agile. The first item in the Agile Manifesto states, “We value individuals and interactions over processes and tools.” When you ask Agile practitioners what this means in a more informal sense and they will say that this means we talk to each other. We really communicate a lot more than we are used to in teams. Now everyone agrees that we should talk more but there is more to it in my experience. Kent Beck in Extreme Programming Explained talks about values. He talks about...</description>
<content:encoded><![CDATA[<p><strong>Jeff</strong>: In this post I want to talk a bit about the people side of Agile. The first item in the Agile Manifesto states, “We value individuals and interactions over processes and tools.” When you ask Agile practitioners what this means in a more informal sense and they will say that this means we talk to each other. We really communicate a lot more than we are used to in teams. </p>

<p>Now everyone agrees that we should talk more but there is more to it in my experience.  <a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115703fb097970b-pi"><img class="at-xid-6a0111689afdf1970c0115703fb097970b" alt="Picture 2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0115703fb097970b-120wi" style="margin: 0px 5px 5px 0px;" /></a>Kent Beck in <a href="http://books.google.com/books?id=G8EL4H4vf7UC&dq=Extreme+Programming+Explained&printsec=frontcover&source=bn&hl=en&ei=i2_vSdHuCNLMlQff2uAw&sa=X&oi=book_result&ct=result&resnum=4">Extreme Programming Explained</a> talks about values. He talks about communication, honesty, and feedback. These are things that you have to do in interactions with people. Let’s take honesty. Honesty is not, in my opinion, that there is some absolute truth for all to know. Honesty is about saying what is true for you in the specific moment. </p>

<p>Feedback is being able to say to someone when they have done great work and also being able to say when it isn’t working so well. There are always both of these sides to it. It is not all one way. I sometimes see executives talk about communication and they simply sit and talk to you about communication. But communication is a two way street and it requires a level of trust and safety in the group.</p>

<p>Now there are some mechanics in communication theory. For example, V<a href="http://en.wikipedia.org/wiki/Virginia_Satir">irginia Satir</a>’s communication model makes the mechanics very clear. But if you are not comfortable with saying something to someone then it is not going to happen no matter how good your model of communication. If you do not feel safe in saying something in the team, it will not happen. Good friends build up trust, a sense of safety, with each other over a long period of time. Over time they can say things to each other with a deeper sense of honesty.  </p>

<p>I am not suggesting that members of teams should immediately turn into truth-telling machines that are always telling everyone when they are ticked off. I am not talking about that kind of response. But I am talking about teams getting to the point where unpleasant things can be talked about openly. </p>

<p>We discuss in <a href="http://blog.agile-action.com/2009/03/conducting-release-retrospectives-in-agile-development.html">the retrospective process</a> about talking about things that did not go so well.  This is one reason why I suggest that retrospectives be kept within the team. The team itself conducts retrospectives and managers and others not on the team should not attend. This gives the team a chance to build a level of trust to gain a deeper level of honesty.</p>

<p><strong>Bill</strong>: To pick up on this point. I think that truth and honesty are relative things.  For what you are saying I feel you would agree with this. For example, I know this one guy who feels he always needs to say the “truth.” In the process he alienates and hurts a lot of people. He will say things that are his opinion but are also destructive in the context in which they are said. He defends this by saying he just speaks the truth. I think instead, you need to speak an intelligent truth to say things that are constructive and move people forward. </p>

<p><strong>Jeff</strong>: I agree. Truth is a subtle thing. It has to do with appropriateness and context. One way to talk about it is to consider the two people talking and include the context so there are three entities involved.  In the case of this blog there is you, me, and the context. The context is a blogging mechanism and our readers.</p>

<p><strong>Bill</strong>: There is also the issue of establishing the right, credibility, or authority to speak the truth. You need to establish you have been there to really have people accept what you are saying. It is much easier for a member of a group to express concerns about the group than someone from the outside.  This gives you some legitimacy and reduces the chance that you will seem simply offensive. </p>

<p><strong>Jeff</strong>: Right. So all these things matter in communication. Better teams have higher levels of trust. This enables more profound conversations. They tend to be more efficient. High performance teams know each other better. They trust each other and they need fewer words to communicate. When I work with a team these are the kinds of things I am listening for.  I look at the interactions. If you have manager who does not listen, people will not speak. The M<a href="http://en.wikipedia.org/wiki/Myers-Briggs_Type_Indicator">eyers Briggs</a> introvert and extrovert aspects come into play here. The high performing team will always give the introvert space to talk. Sometimes with introverts you have to be comfortable not saying anything for a while to give them space. </p>

<p>I wanted to talk about this because we discuss the importance of people in the Agile Manifesto. But often when we think of people we say: did we provide enough food at the right time; are they paid enough; how do they like their office. But there is also the people aspect of team dynamics. These things involve softer values.  We know that co-location can be good but you can have a co-located team and still not have trust in that team. </p>

<p><strong>Bill</strong>: I am a big believer in this also, both being trained as a psychologist and being part of a lot of IT implementations.  I was on a panel at the 2007 Enterprise 2.0 conference that we called, “90% People and 10% Technology. We did this because people always say, well of course it is really 90% people and 10% technology in implementations but in fact they invest funding and focus in the exact opposite direction. At the same time it has been my experience that there is a very positive correlation between the amount of time spent on people issues and the success of the project. But people not get this 90 percent of the time.  Why do you think this is?</p>

<p><strong>Jeff</strong>: There are several reasons. In the computer software many people got into the field because they were not comfortable with people issues. In some ways software development was an escape for them from interactions with people. I also think it is much harder to measure and show results when you are dealing with the people issues. </p>

<p><strong>Bill</strong>: I think this measurement thing is a critical point, especially in the US. We are a measurement culture. We look at wines in terms of Robert Parker’s numbering system that many Europeans laugh at.  The numbers can be meaningless but they give us comfort. The people side is hard to measure. In think that what you said about people involved with computers can be true but it also applies to many people involved in business management. They get an MBA and learn to run the numbers. But they not learn how to deal with people. In many situations, it is the business manager who is less oriented to people issues than the IT people. </p>

<p><strong>Jeff</strong>: I agree with this. I remember years ago I knew people in the economics program at Berkeley and it was all about the measurement. But perhaps they were not measuring the right things.</p>

<p><strong>Bill</strong>: Yes, the balanced scorecard is an attempt to look at a broader range of issues.</p>

<p><strong>Jeff</strong>; We have used the balanced score card and 360 reviews with success in Agile teams. Perhaps this measurement should be the topic for another conversation. </p>

<p><br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/3bxifZhLAEQ" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Interviews</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Wed, 22 Apr 2009 12:30:11 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/04/the-people-part-of-people-process-and-tools-in-agile-development.html</feedburner:origLink></item>
<item>
<title>The State of Certification within the Scrum Alliance</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/M29GrWfat-U/the-state-of-certification-within-the-scrum-alliance.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/04/the-state-of-certification-within-the-scrum-alliance.html</guid>
<description>Here is a conversation that Bill and I had following my attendance at the Scrum Gathering a few weeks ago. There was a good deal of discussion about the certifications that are available from the Scrum Alliance. There are now five certifications available: Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Practitioner (CSP), Certified Scrum Trainer (CST), and Certified Scrum Coach (CSC). TLA (Three Letter Acronym) heaven. The oldest one is the Certified Scrum Master that was started by Ken Schwaber a number of years ago. I first got mine in 2003 and he had been doing...</description>
<content:encoded><![CDATA[<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c01156f327420970c-pi"><img class="at-xid-6a0111689afdf1970c01156f327420970c" alt="ScrumA_logo_tag2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c01156f327420970c-120wi" style="margin: 0px 5px 5px 0px;" /></a>Here is a conversation that Bill and I had following my <a href="http://blog.agile-action.com/2009/03/report-on-the-scrum-gathering.html">attendance at the Scrum Gathering</a> a few weeks ago. There was a good deal of discussion about the certifications that are available from the <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a> Alliance. There are now five certifications available: Certified Scrum Master (CSM), Certified Scrum Product Owner (CSPO), Certified Scrum Practitioner (CSP), Certified Scrum Trainer (CST), and Certified Scrum Coach (CSC).  TLA (Three Letter Acronym) heaven.  </p>

<p>The oldest one is the Certified Scrum Master that was started by <a href="http://www.targetprocess.com/blog/">Ken Schwaber</a> a number of years ago. I first got mine in 2003 and he had been doing them for a little while before then. It basically indicated that you had taken a two day class where the principles and practices of Scrum were taught. It was actually a bit of a joke in the community because it did not really certify anything. It just said you took the class. </p>

<p>But it did work and it got things off the ground.  It got people’s attention. I believe the next one to come into existance was the Certified Scrum Trainer. These were people who could give the CSM class – they could certify people.   The CST has more meat behind it.  You must really ‘prove’ that you know your stuff.</p>

<p>Certified Scrum Practitioner was put together to indicate the step beyond just taking the class.  Are you actually practicing Scrum?  Successful applicants must be able to document their experience.</p>

<p>More recently, I worked to help put together the Certified Scrum Coach designation. That one was the first certification that was serious about whether you knew what you were doing.  Some people have said that it has taken as long as 30 hours to complete the application. You had to have 1500 hours coaching experience and it is pretty serious. Not everyone gets through it. </p>

<p>The bar for these certifications has been going up. At the recent Scrum Gathering the Scrum Alliance announced that they will be giving a test for CSM to determine if they are certified.   It appears that this test will be in place in the third quarter of this year (2009).  True certifications can only last a certain amount of time before they need to be renewed, usually through a test. Over 65,000 people have become CSMs and they will have two years to take the test or lose their certification. </p>

<p>This is quite a change. All the certifications have gotten more serious. I think this is a good thing. It is part of the maturing of Agile. People are starting to request these certifications and the certifications are starting to have value. It is interesting to watch how this has changed over the years. </p>

<p><strong>Bill</strong>: Let me get some more context here. Who administers these certifications? </p>

<p><strong>Jeff</strong>: Up until this point for the CSM whenever a Certified Scrum Trainer gave a class he would submit the names of the people who were there to the Scrum Alliance who would issue the certification.  The Scrum Alliance administers the certification and they will now administer the test. So as things go forward the certifications will expire and you will have to take another test and demonstrate that you have been practicing Scrum. </p>

<p><strong>Bill</strong>: What is the Scrum Alliance? Who are they? Who supports them financially? How is it run?</p>

<p><strong>Jeff</strong>: The Scrum Alliance is group of people who are practicing and interested in Scrum. You are invited to join when you become a CSM.  It‘s mission  to help promote Scrum, handle certifications, and do publicity. They hold the Scrum Gatherings twice a year, one in Europe and one in the North America. This year there is an additional Scrum Gathering  in Brazil. They are typically three-day events where people interested in Scrum get together and talk about their experiences. </p>

<p>They have a great web site, <a href="http://www.scrumalliance.org">http://www.ScrumAlliance.org</a>. You can go there and see a lot of papers and other useful information. </p>

<p><strong>Bill</strong>: Is it run as an academic or professional organization? I am curious because in my experience with knowledge management, there were a number of certification efforts that were really designed to be money making efforts for the person running them and very self-promoting. They were trying to create a business for themselves out of this movement or approach. Now this is not necessarily a bad thing if it is appropriate.  In the case of knowledge management some times it was not or it was  a gray area.  So is this a volunteer organization or a business in itself? How does all this come to play?</p>

<p><strong>Jeff</strong>: Well, originally it was just a group of people and then there were some money making aspects. The actual formation of the Scrum Alliance as a legal entity only occurred about three years ago even though certifications have been given out by Ken Schwaber for quite a while. It is now a legal non-profit organization. It is not designed to make money. It is not designed to support particular people. It has an independent Board of Directors from various companies. It does have a director and some staff to manage the web site, the events, and the certification process.  </p>

<p>Ken Schwaber was the main early advocate of Scrum. He wrote some books and kept pushing it while the rest of us went off and did things. He was involved with <a href="http://jeffsutherland.com/">Jeff Sutherland</a> very early in the process. </p>

<p>These recent moves have made the Scrum certifications more substantial. There was talk before that it only meant you attended a class. Now the requirements are more involved. The Alliance made a decision not to change the name of the certification (CSM) because of all the people who already had it. They just added the testing requirement.</p>

<p><strong>Bill</strong>: Is the Scrum Alliance sponsored by a software firm or firms, or is it independent?</p>

<p><strong>Jeff</strong>: There are a number of firms who help sponsor the events but it is independent.</p>

<p><strong>Bill</strong>: So it is an organization run by the evangelists rather than sponsored by several software firms.</p>

<p><strong>Jeff</strong>: Yes. The Agile Alliance is a similar type of organization. It was formed later. They put on the biggest Agile conference. </p>

<p><strong>Bill</strong>: The state of the nation of the Agile Alliance sounds like a good topic for another post. </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/M29GrWfat-U" height="1" width="1"/>]]></content:encoded>


<category>Interviews</category>
<category>Scrum</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Sat, 18 Apr 2009 07:13:48 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/04/the-state-of-certification-within-the-scrum-alliance.html</feedburner:origLink></item>
<item>
<title>Does Agile Development Require UML?</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/ZXWtlGhjFEc/does-agile-development-require-uml.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/04/does-agile-development-require-uml.html</guid>
<description>I am often asked about UML or Unified Modeling Language. A lot of young developers don't seem to be using UML or any kind of modeling language when doing development. I think this is a big mistake. When we go back to the roots of Agile, which I consider to be extreme programming, we see the issue of quality elevated to the highest level of importance. Quality is very important and low quality can affect new feature development, team morale, and drown an organization in bug triage, reporting, fixing, regressing, documenting and forward fixing. We know that unit testing and...</description>
<content:encoded><![CDATA[<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689ddd22970c-pi"><img class="at-xid-6a0111689afdf1970c0111689ddd22970c" alt="Picture 3" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689ddd22970c-120wi" style="margin: 0px 5px 5px 0px;" /></a><br />
I am often asked about <a href="http://www.uml.org/">UML or Unified Modeling Language</a>.  A lot of young developers don't seem to be using UML or any kind of modeling language when doing development.<br />
I think this is a big mistake. </p>

<p>When we go back to the roots of Agile, which I consider to be extreme programming, we see the issue of quality elevated to the highest level of importance.  Quality is very important and low quality can affect new feature development, team morale, and drown an organization in bug triage, reporting, fixing, regressing, documenting and forward fixing.</p>

<p>We know that unit testing and even better, test driven development, can drive the quality higher.  But what does that have to do with UML?</p>

<p>The best way to have much better software is to have better design.  Having a better design is the product of communication with your other team members about design choices.  A great language for that communication is UML. </p>

<p>Text or just word-based communication about design is slow and subject to interpretation errors.  Most folks find communication about patterns, which are really just examples of good designs for common problems, much easier with UML. (This is why we use UML in my <a href="http://community.serena.com/hives/4b67755324/summary">Emergent Design Class</a>.)</p>

<p>When I talk about UML, I do not mean UML models that are so specified that code can be <a style="float: right;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689dde52970c-pi"><img class="at-xid-6a0111689afdf1970c0111689dde52970c" alt="Picture 2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689dde52970c-120wi" style="margin: 0px 0px 5px 5px;" /></a><br />
generated directly from them.  I mean 'blackboard UML'.  Usually this is the class diagram, the sequence diagram and the interaction diagram - just three of the possible diagrams in UML.  Other diagrams can be used in specific situations.  State and component diagrams are seen as well.  I would say that if you only use class diagrams, you have achieved a significant percentage of the value.  For a simple introduction to the class diagram go here.  The book on UML I like best is <a href="http://martinfowler.com/books.html#uml">UML Distilled by Martin Fowler.</a></p>

<p>High performing Agile teams tend to have visual things around their work areas or on their wikis.  In particular I see UML on white boards or on wiki pages to show high-level designs of areas of their work.  People have good discussions around these.  And make changes as the project unfolds. Product Owners use UML to capture Domain Models.</p>

<p>I believe that every person (or at least every developer) on an agile team should be able to use simple (blackboard) UML to talk about their work.  And everyone should be able to diagram the high level abstractions in the team’s code - the architecture as it were. What do you think? </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/ZXWtlGhjFEc" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Interviews</category>
<category>Posts by Jeff McKenna</category>
<category>UML</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Thu, 02 Apr 2009 00:45:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/04/does-agile-development-require-uml.html</feedburner:origLink></item>
<item>
<title>Agile Myth Busters at Serena Tag 2008</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/Lnk6TrGf8FQ/agile-myth-busters-at-serena-tag-2008.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/agile-myth-busters-at-serena-tag-2008.html</guid>
<description>I blogged much of the Serena Tag 2008 conference. This was post eight about Serena’s moves into Agile led by Jeff McKenna and the Agilistas. While waiting for the start, I listened to the Stones mashed up with Queen. This mashing up of music greats was constant theme of the conference music. Nice job. Now there is a video of some local high school kids creating graffiti style backgrounds for the event. Serena also gave us cow bells with the More Cowbell! label. Rene Bonvanie kicked off the program designed to squash some Agile myths. Jeff McKenna (see above) came...</description>
<content:encoded><![CDATA[<p>I blogged much of the Serena Tag 2008 conference. This was post eight about <a href="http://www.serena.com/">Serena’s</a> moves into Agile led by Jeff McKenna and the Agilistas. While waiting for the start, I listened to the Stones mashed up with Queen. This mashing up of music greats was constant theme of the conference music. Nice job. Now there is a video of some local high school kids creating graffiti style backgrounds for the event. Serena also gave us cow bells with the More Cowbell! label. Rene Bonvanie kicked off the program designed to squash some Agile myths.</p>

<p><a style="display: inline;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011168a5690b970c-pi"><img class="at-xid-6a0111689afdf1970c011168a5690b970c" alt="Picture 1" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c011168a5690b970c-500wi"  /></a></p>

<p>Jeff McKenna (see above) came on to the sound of cow bells to deal with these myths. He introduced the Agilistas from <a href="http://www.valtech.com/com/index.html">Valtech</a> and Serena. Myth one: Agile means you never have to write documentation. Both sides were briefly covered. The audience was asked and 79% said it is false. This is also the position of Serena and Valtech. However, documentation can be produced at the right time when the system is ready. There is less editing and revisions.</p>

<p>Myth Two: Agile is more disciplined than other methods. Again, both sides were briefly covered. The audience was asked. 43% - false and 41% true. The panel believes that Agile is more disciplined but it is bottom up discipline rather than imposed discipline. There is more feedback and engagement. This is a common, and counter intuitive, aspect of enterprise 2.0. With transparency you get accountability and more discipline. It results in greater productivity. I have seen many examples of the switch to more transparent project management leading to significant increases in productivity. Below is a panel debate.</p>

<p><a style="display: inline;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0112791a4e5728a4-pi"><img class="at-xid-6a0111689afdf1970c0112791a4e5728a4" alt="Picture 2" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0112791a4e5728a4-500wi"  /></a></p>

<p>Myth Three: Agile means I can change my mind whenever I want to. Both sides were briefly covered by the panel. The audience was asked and 79% said it is false. This is also the position of Serena and Valtech. There needs to be some stability. Within the sprints in development, change needs to be on hold. Then there can be times for change.</p>

<p>Myth Four: Agile works on all sizes of projects. Both sides were briefly covered. The audience was asked and 59% said true. This is the position Serena and Valtech but you need to recognize that there are greater needs for large projects for them to succeed. The key differential is that you can keep Agile teams small and link together these teams to handle size. One large project had 27 teams successfully linked together.</p>

<p>Myth Five: Agile means teams cannot be controlled by management. Both sides were briefly covered. The audience was asked and 72% said false. Serena and Valtech agrees with this. Agile is about control through planning, monitoring, and adapting. Management is about getting more done by removing obstacles. There is a different style of management.</p>

<p>Myth Six: Agile requires detailed architecture and design. Again, both sides were briefly covered by the panel. The audience was asked. 55% said true but Serena and Valtech disagree with this. There is less architecture and design. You need architecture but it is not the driver. Architecture comes out in dealing with the problem and should not be a guiding factor. Let architecture emerge and be open to change.</p>

<p>Myth Seven: Agile is just the latest hype. Both sides were briefly covered. The audience was asked. 62% said false and Serena and Valtech agrees with this. It has been around for a while. There are demonstrated successes. Most employees like it and there are productivity improvements.</p>

<p>Myth Eight: Agile works on complex projects. Both sides were briefly covered. The audience was asked and 71% said true. Serena and Valtech agree with this. However, it does require more management.</p>

<p>Myth Nine: Agile teams do not work hard, they just play foosball. Both sides were briefly covered. The audience was asked and 75% said false. Serena and Valtech agree with this. There is a balance of work and fun required. Focus is key.</p>

<p>Myth Ten: Agile is only used for mission critical projects. Both sides were briefly covered. The audience was asked and 95% said false. Serena and Valtech agree with this.</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/Lnk6TrGf8FQ" height="1" width="1"/>]]></content:encoded>


<category>Agile Myths</category>
<category>Posts by Bill Ives</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Tue, 31 Mar 2009 00:46:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/agile-myth-busters-at-serena-tag-2008.html</feedburner:origLink></item>
<item>
<title>Comments on Amr Elssamadisy's new book Agile Adoption Patterns</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/7G1cHcmJU7g/comments-on-amr-elssamadisys-new-book-agile-adoption-patterns.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/comments-on-amr-elssamadisys-new-book-agile-adoption-patterns.html</guid>
<description>I just took a detailed look at Amr Elssamadisy's new book Agile Adoption Patterns - A Roadmap to Organizational Success. I like it. It brings together a wide range of agile practices and gives good analysis of each. As with good pattern books, it shows why, how, why not, and such for each pattern. Since there are 38 (!) practices, finding the one that matters for you is important. They have been clustered a bit and are still hard to find. I personally find patterns a useful way to capture and present what is needed and at the same time...</description>
<content:encoded><![CDATA[<p><a style="float: left;" href="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689df3a8970c-pi"><img class="at-xid-6a0111689afdf1970c0111689df3a8970c" alt="Picture 1" src="http://jeffmckenna.typepad.com/.a/6a0111689afdf1970c0111689df3a8970c-120wi" style="margin: 0px 5px 5px 0px;" /></a><br />
I just took a detailed look at <a href="http://www.amazon.com/Agile-Adoption-Patterns-Roadmap-Organizational/dp/0321514521">Amr Elssamadisy's new book Agile Adoption Patterns</a> - A Roadmap to Organizational Success.</p>

<p>I like it.  It brings together a wide range of agile practices and gives good analysis of each.  As with good pattern books, it shows why, how, why not, and such for each pattern.  Since there are 38 (!) practices, finding the one that matters for you is important.  They have been clustered a bit and are still hard to find. </p>

<p>I personally find patterns a useful way to capture and present what is needed and at the same time difficult to understand.  Since I already understand these patterns I found them useful and occasionally found a new way to think about a particular one.  If I did not already know the pattern, I am not so sure how useful the book would be.  I will defer on this to others in that position.</p>

<p>And one comment early in the patterns did catch my attention and has, I hope, influenced my thinking: Amr comments on the importance of learning.  Much of the agile feedback mechanisms can be viewed as opportunities for the team to learn.</p>

<p>The importance of the learning cannot be dismissed.  Getting better in every aspect of creation - planning, design, measuring, coding, testing, communication, delivery - is critical to create a high performance team. Such teams look at every change, comment, bug, and hick-up as an opportunity to improve.</p>

<p>I use the repetition of activities as an easy way to identify an area for improvement.  If the team is spending time on activity over and over again then an opportunity exists for improvement.  In particular these opportunities often are automated to eliminate the human time/errors that are present.<br />
So, Amr, thanks for the stimulation.  </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/7G1cHcmJU7g" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Book Reviews</category>
<category>Posts by Jeff McKenna</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Thu, 26 Mar 2009 00:45:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/comments-on-amr-elssamadisys-new-book-agile-adoption-patterns.html</feedburner:origLink></item>
<item>
<title>Conducting Release Retrospectives in Agile Development</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/4jzYJKjFL8w/conducting-release-retrospectives-in-agile-development.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/conducting-release-retrospectives-in-agile-development.html</guid>
<description>In this post Bill and I discuss the concept of release retrospectives that I briefly touched on in the blog overview. Bill: You mentioned how you turned a software development retrospective on its head and discussed what went right rather than what went wrong. This is a nice twist on lessons learned and should encourage participation and engagement. After all what you want to repeat is what went right. So let’s have the details. Jeff: This project had been going for six months. I talked with management about having a release retrospective. Most people are familiar with having a retrospective...</description>
<content:encoded><![CDATA[<p>In this post Bill and I discuss the concept of release retrospectives that I briefly touched on in the blog overview. </p>

<p><strong>Bill:</strong>  You mentioned how you turned a software development retrospective on its head and discussed what went right rather than what went wrong.  This is a nice twist on lessons learned and should encourage participation and engagement.  After all what you want to repeat is what went right. So let’s have the details. </p>

<p><strong>Jeff:</strong> This project had been going for six months. I talked with management about having a release retrospective.  Most people are familiar with having a retrospective after each iteration or spread. This usually occurs about every four weeks for an hour or two with each team doing this independently. But we also recommend that after longer periods, say after a major milestone is reached, two practices. First, the teams take a week off and stop the sprinting and breathe for a bit. And second, the teams have a more relaxed release retrospective. </p>

<p><a style="float: left;" href="http://blog.agile-action.com/.a/6a0111689afdf1970c011168d1b4fd970c-pi"><img class="at-xid-6a0111689afdf1970c011168d1b4fd970c" alt="Picture 2" src="http://blog.agile-action.com/.a/6a0111689afdf1970c011168d1b4fd970c-120wi" style="margin: 0px 5px 5px 0px;" /></a><br />
In the book <a href="http://www.pragprog.com/titles/dlret/agile-retrospectives">Agile Retrospective</a>, Esther Derby and Diana Larsen talk about the need for the shorter sprint retrospectives while you are still in the fray. These typically last one hour or so and involve one team.  In contrast, the release retrospective involves the whole group of teams and takes a longer look. </p>

<p><strong>Bill:</strong> What was the problem that set up this release retrospective? Why did you do it?</p>

<p><strong>Jeff:</strong> The problem is a generic one. People need time if they are going to learn.  One of the Agile tenets is that teams need to be able to learn and reflect. The release retrospective is looking at it from a longer time perspective and from the perspective of all the teams on the project. Typically problems are solved at the individual team level. So as we move to the multiple team level I am a little less concerned with specific problems and more concerned with attitude and making sure that people feel they are on a larger project where teams are working together.  </p>

<p>The heads down sprint-to-sprint activity in a team can be very focused and sometimes isolating.  It can be harder to come up and breathe. So in the release retrospective there are discussions at a higher level about such things as the vision for the next six months or big changes that are being considered.  People can reestablish the larger context that they are working in. </p>

<p>There is a type of inquiry called <a href="http://appreciativeinquiry.case.edu/">appreciative inquiry</a> that is a technique for exploring issues that allows people to focus on solutions and positive aspects of their experiences. It is referred to as the discipline of positive change. There is some data in research that indicates that larger groups of people who focus on things that work and spend less time on problems such as we typically do in our industry, people feel better, are more productive, and their customers are happier.  I was exposed to this research and I thought it might be interesting to bring this approach into the retrospective.</p>

<p>Here is what we did. </p>

<p>First we had everyone introduce themselves and provide a fact about themselves that they felt no one else knew. This activity helped establish a relaxed atmosphere.</p>

<p>We we used a time line.  We had put a 20 foot roll of brown paper on the wall and listed key events during the six months (e.g., the big snow storm, the hiring of key people). Then in the retrospective individuals put on the key events that mattered to them.  We ended up with this long time line with all these sticky notes that documented the things that mattered to individuals. </p>

<p>As each person put up a note they told the group about the event. This generated lots of laughing and feeling that they were together on this thing. It was fun, interesting and informative. </p>

<p>Next we added a temperature reading. People went along and added below the time line their memory of their general feeling at that time.. This is a technique where people say things like I was feeling really good about things here and not so good here and all that. All thirty five people did this. In this particular time line case was only one situation were there was an alignment of feelings. Everyone felt bad when we slipped a date by three weeks. Other than that some people were up and others were down at any particular time. People began to realize to that people were different. People enjoyed this. </p>

<p>Next, we had people tell stories about when they worked on teams that went really well and they loved the experience. This is appreciative inquiry technique. </p>

<p><strong>Bill:</strong> Do you mean they told stories about events not just on this project but in general?</p>

<p><strong>Jeff: </strong>Yes, in general. Some people called out things on the project. Some people called out things from the other parts of their life. This was fascinating as well. We told stories in small groups of five. Each group picked the best story to present to the larger group.  As the stories were told we abstracted out the commonalties. We recorded what were the things that mattered.  </p>

<p>A this point in time we were at five hours since we had had breaks and lunch. People were feeling jazzed. They felt they had heard what was important from each other and had expressed what was important to them. So we quit early which always makes people feel good. Hopefully, I will have a chance to go back to the same group after another major cycle and continue this.</p>

<p>People came up to me afterwards and said they had been very worried that we were going to spend six hours talking about what went wrong in the prior six months. There was even one guy who did not come into work that day and started the session on the phone. He got so interested that he drove in to participate live and be more involved. The most senior person there was excited as he valued building a cohesive team. Everyone was pleased with the reverse in expectations. </p>

<p><br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/4jzYJKjFL8w" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Interviews</category>
<category>Posts by Jeff McKenna</category>
<category>Retrospectives</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Mon, 23 Mar 2009 00:31:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/conducting-release-retrospectives-in-agile-development.html</feedburner:origLink></item>
<item>
<title>Report on the Scrum Gathering</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/eL_CLx0seAY/report-on-the-scrum-gathering.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/report-on-the-scrum-gathering.html</guid>
<description>I am in Orlando at the biannual Scrum Gathering put on by the Scrum Alliance. The gathering alternates between the US and outside the US and is attended by Scrum Masters, Practitioners, Trainers and Coaches. There are some 260+ folks attending this one. Jim Cundiff has been running the Scrum Alliance for a bit over a year now and I am glad to report that I am seeing considerable improvement in the professionalism, focus and activity level of the Alliance. The program for this meeting has brought in a number of folks from outside the immediate Scrum community. Ron Jeffries...</description>
<content:encoded><![CDATA[<p>I am in Orlando at the biannual Scrum Gathering put on by the Scrum Alliance.  The gathering alternates between the US and outside the US and is attended by Scrum Masters, Practitioners, Trainers and Coaches.  There are some 260+ folks attending this one.</p>

<p>Jim Cundiff has been running the Scrum Alliance for a bit over a year now and I am glad to report that I am seeing considerable improvement in the professionalism, focus and activity level of the Alliance.  The program for this meeting has brought in a number of folks from outside the immediate Scrum community.  Ron Jeffries and Chet Hendrickson from XP, Dr. Alistair Cockburn of Crystal, Dr. Mark Paulk of CMM, and Gregory Balestrero from PMI and Jim Coplien of Patterns are all here and adding to a more inclusive feel of the gathering.  In particular Mark is beginning some academic research on Scrum and the PMI is 'embracing' Scrum with a large number of PMP folks attending.</p>

<p>The Alliance is showing off the redesigned <a href="http://www.scrumalliance.org">Scrum Alliance website</a>.  I suggest you take a look.  It appears to be much more comprehensive and there is a lot of content now easily accessible.</p>

<p>Last night I met with 8 other Certified Scrum Coaches as we considering our next moves.  I was involved with the initial definition, construction and roll-out of the Scrum Coach certification program.  It is a rigorous certification with a non-trivial application and thoughtful evaluation.  One really has to be a Scrum Coach to get certified.  Initially there were six of us certified.  Now the number is up to 12 and increasing each month.  The coaches I met with last night were from Australia, Germany, Denmark, South Africa and the US.  I am proud of the work we have done on this program and we are hoping that it grows and becomes recognized as a guide level certification.</p>

<p>With Alliance support we are seeing more and more Scrum User Groups getting started.  Now over 50 world wide.  And also growing.  Some folks have wondered if at over 50,000 certified Scrum Masters if the 'market' was becoming saturated.  It appears not to be so.  Altho training rates have slowed somewhat, the demand is still reasonably strong.  The requests for coaching are increasing as well.</p>

<p>In short, Scrum is alive and well and in fact, thriving.<br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/eL_CLx0seAY" height="1" width="1"/>]]></content:encoded>


<category>CMMI</category>
<category>Extreme Programming (XP)</category>
<category>Posts by Jeff McKenna</category>
<category>Scrum</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Tue, 17 Mar 2009 08:09:59 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/report-on-the-scrum-gathering.html</feedburner:origLink></item>
<item>
<title>Achieving Immediate and Continuous Bug Fixes in Agile Development</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/tO5UXTbz9uI/achieving-immediate-and-continuous-bug-fixes-in-agile-development.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/achieving-immediate-and-continuous-bug-fixes-in-agile-development.html</guid>
<description>As I mentioned in our blog overview, most development shops spend noticeable time prioritizing and dealing with bugs. However, that effort only manages the symptoms. It can be more useful in the long run to look at the operational side of development. An interesting issue is the time that elapses from when a bug enters the system and when it is detected. I have been in situations were this time was measured in minutes. Then developers could quickly learn from their mistakes, make immediate corrections, and move on. They learned and over time produced fewer and fewer bugs. Then we...</description>
<content:encoded><![CDATA[<p>As I mentioned in our <a href="http://blog.agile-action.com/2009/03/welcome-to-jeff-mckennas-agile-development-blog.html">blog overview</a>, most development shops spend noticeable time prioritizing and dealing with bugs.  However, that effort only manages the symptoms. It can be more useful in the long run to look at the operational side of development. An interesting issue is the time that elapses from when a bug enters the system and when it is detected. I have been in situations were this time was measured in minutes. Then developers could quickly learn from their mistakes, make immediate corrections, and move on.  They learned and over time produced fewer and fewer bugs.  Then we did not spend time prioritizing and dealing with long lists of bugs.</p>

<p>Bill and I had a conversation going into more depth on how this might work. </p>

<p><strong>Bill:</strong>  How do you get the bug reporting time down to minutes? I am used to seeing many bugs getting all the way out to users as an accepted byproduct of software development. Some vendors are famous for this. </p>

<p><a style="float: left;" href="http://blog.agile-action.com/.a/6a0111689afdf1970c01127946ac4528a4-pi"><img class="at-xid-6a0111689afdf1970c01127946ac4528a4" alt="Picture 1" src="http://blog.agile-action.com/.a/6a0111689afdf1970c01127946ac4528a4-120wi" style="margin: 0px 5px 5px 0px;" /></a><br />
<strong>Jeff:</strong> The first thing you need to do is to establish the practice of continuous build, or better continuous integration. Most successful Agile development<br />
shops have this practice in place. This means that every time a developer turns in their code, the application is rebuilt and tested with the new code. So you are able to quickly see if the new code brings in any unwanted behavior, aka bugs. This integration often takes a few minutes to build a typical change. The book <a href="http://www.amazon.com/Continuous-Integration-Improving-Addison-Wesley-Signature/dp/0321336380">Continuous Integration</a> by Paul Duvall, Steve Matyas, and Andrew Glover is a good resource on this topic. </p>

<p>So the first part is having the ability to quickly turnover the integration of new and old code. The second step is to have good unit tests. These tests should be part of the automatic build.  If a unit test fails, the ‘build’ fails.  If you have unit tests in the area being changed, the effects of the bad code will show up right away.  </p>

<p><strong>Bill:</strong> I have often heard of unit tests but usually just assume I know what they are.  I think I need to make sure I know what you mean here. </p>

<p><strong>Jeff:</strong> Unit test are the lowest level of tests. They test classes and methods and small assemblies. They look at code function to see if it does what the developer wants it to. Functional tests on the other hand look at code to see if it performs what the customer or end-user wants. Unit test are designed to run very fast and look at all the code on a specific section of the application.  Test coverage measurements should be made on unit tests.</p>

<p>If you use a technique call “test first,” then no line of code is written except in response to a failing test. That means that there is not a lot of code in the system that was produced without a test informing the code’s development. This gets interesting because what this means that every line of code has a test associated with it. So if something changes the code later the unit test can see if anything breaks. </p>

<p>Because the unit tests are so fine grained you will know right away what the problem is without having to debug.  Debugging is figuring out what is wrong and with unit tests you know what is wrong. So if you make a code change and it breaks right away you know right away the cause. You still need to understand it but you do not need to spend time finding it. </p>

<p>So the combination of continuous build and unit test allow you to get to the condition of bugs being found right away. In the particular case I was thinking of we did not need a bug tracking system. In this effort we had twelve developers over eighteen months and only had about five bugs at any one time. There was no need to prioritize bugs. We said all bugs are important and need to be fixed right away. </p>

<p><strong>Bill:</strong> So this makes total sense to me. Why doesn’t everyone do it? </p>

<p><strong>Jeff:</strong> There are a couple of reasons. One reason is that historically we have considered testing not part of development. We have considered testing as something done by QA, often by a different department. Code got thrown over the wall for someone else to deal with and quite a bit of development was done before testing occurred.  Responsibility was passed on and not shared. </p>

<p>The other reason is that we do not tend to measure debugging effort so the cost is not apparent. It is almost always much more than people think. When we do not measure fixing bugs there is not any drive to improve the process. Also, folks just assume there will be lots of bugs. ‘That is just how software is.’ Well, it does not have to be that way and I think it is time to change our attitude.</p>

<p><strong>Bill:</strong> So is the concept of immediate fix one of the cores of Agile development? </p>

<p><strong>Jeff:</strong> Let’s say that most successful Agile teams just do it. One of the practices in extreme programming (XP) is the concept of collective code ownership. In this case an individual does not have ownership of code. So no one can say, “well I cannot fix this code because it is someone else’s code.” So when in Agile we all own the code so if I see a bug, I just fix it.  </p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/tO5UXTbz9uI" height="1" width="1"/>]]></content:encoded>


<category>Agile Development</category>
<category>Continuous Integration</category>
<category>Interviews</category>
<category>Posts by Jeff McKenna</category>
<category>Quality</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Mon, 16 Mar 2009 00:31:00 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/achieving-immediate-and-continuous-bug-fixes-in-agile-development.html</feedburner:origLink></item>
<item>
<title>Lightning  Interview by Ward Cunningham</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/4UpapgBHIu8/lightning-interview-by-ward-cunningham.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/lightning-interview-by-ward-cunningham.html</guid>
<description>I thought it might be fun to show you an interview that Ward Cunningham did with me late last year. For those of you who do not know of him, Ward is a brilliant developer. He has many claims to fame including the development of CRC (Class Responsibility Collaboration) cards as a design tool and invention of the wiki. I had the pleasure of working with Ward in the late 1980's at Tektronix in Oregon. We were working on Smalltalk and working on Patterns and the beginnings of the development style now known as Agile. Other interesting folks were at...</description>
<content:encoded><![CDATA[<p>I thought it might be fun to show you an interview that <a href="http://c2.com/~ward/">Ward Cunningham</a> did with me late last year.  For those of you who do not know of him, Ward is a brilliant developer. He has many claims to fame including the development of CRC (<a href="http://en.wikipedia.org/wiki/Class-Responsibility-Collaboration_card">Class Responsibility Collaboratio</a>n) cards as a design tool and invention of the wiki.</p>

<p>I had the pleasure of working with Ward in the late 1980's at Tektronix in Oregon.  We were working on <a href="http://en.wikipedia.org/wiki/Smalltalk">Smalltalk</a> and working on Patterns and the beginnings of the development style now known as Agile. Other interesting folks were at Tektronix at that time including Kent Beck, Rebecca Wirfs-Brock and Norm Kerth.  It was a heady time and place with lots of passion and lots of great software.</p>

<p>Ward and I have kept in touch and this interview was an early one in his <a href="http://www.youtube.com/WardCunningham">lightning series</a>.</p>

<p><br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/CIU9o08w-k0&hl=en&fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/CIU9o08w-k0&hl=en&fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/4UpapgBHIu8" height="1" width="1"/>]]></content:encoded>


<category>Interviews</category>
<category>Posts by Jeff McKenna</category>

<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Fri, 13 Mar 2009 22:07:22 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/lightning-interview-by-ward-cunningham.html</feedburner:origLink></item>
<item>
<title>Welcome to Jeff McKenna’s Agile Development Blog</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/dOAoQQXoCMo/welcome-to-jeff-mckennas-agile-development-blog.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/welcome-to-jeff-mckennas-agile-development-blog.html</guid>
<description>This blog will share my thoughts on Agile development and broader issues of team dynamics that go beyond Agile and software. I started this blog for several reasons. I have been coaching software development teams for some time (see Author Overview). Now I am focusing on the transition from traditional software development to Agile. In these efforts, I notice a lot of things and wanted a place to write my ideas down, share them, and start conversations. I also want a platform for my general musings on Agile development. I am partnering with other people including Bill Ives and David...</description>
<content:encoded><![CDATA[<p>This blog will share my thoughts on Agile development and broader issues of team dynamics that go beyond Agile and software. I started this blog for several reasons. I have been coaching software development teams for some time (see <a href="http://blog.agile-action.com/2009/03/our-agile-development-blog-team-and-roles.html">Author Overview</a>). Now I am focusing on the transition from traditional software development to Agile. In these efforts, I notice a lot of things and wanted a place to write my ideas down, share them, and start conversations. I also want a platform for my general musings on Agile development. I am partnering with other people including <a href="http://billives.typepad.com/portals_and_km/">Bill Ives</a> and David Socha in order to provide other perspectives (see <a href="http://blog.agile-action.com/2009/03/our-agile-development-blog-team-and-roles.html">Author Overview</a> for their backgrounds and how we will work together).  We plan to experiment with a number of different blog formats and welcome your input. </p>

<p>While I will reflect on the tools a bit, tool technology is not my main focus. I am more interested in the team and process issues since it is people, in the end, that have to get these tools to work. I have studied family and team dynamics and like to apply principles of complex adaptive systems. I feel that when things break down, or even better before breakdown occurs, we need to move beyond managing symptoms and treat root causes.</p>

<p>Let me offer an example, in most development shops noticeable time is spent prioritizing and dealing with bugs.  That effort only manages the symptoms. It can be more useful in the long run to look at the operational side of development. An interesting issue is the time that elapses from when a bug, an unwanted change, enters the system and when it is detected. I have been in situations were that time was measured in minutes. Then developers could quickly learn from their mistakes, make immediate corrections, and move on.  They learned and produced fewer and fewer bugs.  Then we did not have to spend time prioritizing and dealing with long lists of bugs. </p>

<p>I will get into much more detail on many stories such as this one in the blog. </p>

<p>Sometimes it helps to turn things on their head. I was once asked to faciltate a release retrospective for a group of teams.  I asked for six hours of their time. In these sessions in the past they would engage in examining what went wrong. The groans were loud and some team members decided to only dial in. Instead of looking at the mistakes, we  talked about the times when they were most thrilled with a team’s performance. We never once discussed what went wrong, the positive energy level rose, and some of those on dial in came into the office for the remainder of the session.  The team got back on a more positive track. Of course, I do not always get it right and I will share these stories also. </p>

<p>This blog is sponsored by <a href="http://www.serena.com/">Serena Software</a>, a provider of application development and business software for companies of all shapes and sizes.  I work for Serena.  Some Serena’s tools and services support Agile development. We might talk about Serena on occasion, but this conversation is not about Serena, it is about the issues that everyone faces in Agile development. </p>

<p>Bill, David and I encourage you to browse our categories and not just look at our latest content. The categories contain the archives of our past posts. Many of these posts should remain useful as we will discuss issues in depth and not simply provide current news. Also use our search field. Often good blog content gets buried as it moves off the front page.</p>

<p>If you like what you find here please join the conversation through our comment fields. Our blog will allow us to learn of your comments regardless of when the original post was published. We look forward to hearing from your perspectives. We want to learn from you and we look forward to your participation.</p>

<p>a</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/dOAoQQXoCMo" height="1" width="1"/>]]></content:encoded>



<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Thu, 12 Mar 2009 10:19:45 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/welcome-to-jeff-mckennas-agile-development-blog.html</feedburner:origLink></item>
<item>
<title>Our Agile Development Blog Team and Roles</title>
<link>http://feedproxy.google.com/~r/JeffMckennasAgileDevelopmentBlog/~3/nlb1IOtuXwY/our-agile-development-blog-team-and-roles.html</link>
<guid isPermaLink="false">http://blog.agile-action.com/2009/03/our-agile-development-blog-team-and-roles.html</guid>
<description>Welcome to this blog on Agile development. I am Jeff McKenna, the Chief Agile Evangelist at Serena Software, I will be leading this blogging effort and creating most of the content (see Blog Overview for our plans). In this effort, I hope to capture some of my random and perhaps not so random thoughts, musings, teachings and rants as they occur to me. Here is a bit about my background. I have been involved in software development for over 45 years and have been actively participating in the creation and delivery of agile software development since 1987. I have been...</description>
<content:encoded><![CDATA[<p>Welcome to this blog on Agile development. I am Jeff McKenna, the Chief Agile Evangelist at <a href="http://www.serena.com/">Serena Software</a>, I will be leading this blogging effort and creating most of the content (see <a href="http://blog.agile-action.com/2009/03/welcome-to-jeff-mckennas-agile-development-blog.html">Blog Overview</a> for our plans). In this effort, I hope to capture some of my random and perhaps not so random thoughts, musings, teachings and rants as they occur to me.</p>

<p>Here is a bit about my background. I have been involved in software development for over 45 years and have been actively participating in the creation and delivery of agile software development since 1987. I have been involved in all areas of software product development from programming, system design and architecture to project management, testing, sales and marketing. Since the late 1980s I have focused on the people/process side of development. Jeff Sutherland, John Scumniotales, and I created the <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum methodology of agile software development</a> in 1993 at Easel Corporation and started the very first Scrum team. (Little did we know what we were creating!)</p>

<p>I have worked extensively with object-oriented programming systems, languages and applications and was the Chair of OOPSLA in 1994 that helped to incubate and increase adoption of several related disciplines including agile software development. Working with IBM, Cigna, ObjectShare, Easel Corp, Millennium Pharmaceutical and the US Air Force, I provided expertise in architecture, design and implementation for their first Smalltalk based object-oriented projects.   As an Architect at Rational Software (now IBM), I made various contributions to Rational’s industry leading Rose product.  These included extensions to the <a href="http://www.uml.org/">Unified Modeling Language (UML)</a> to support a UML model of testing. </p>

<p>I also worked with industry pioneers, including Grady Booch, to extend the Rational Rose product to natively support Design Patterns. I am a Certified Scrum Coach, Certified Scrum Trainer and Scrum Master, I have taught, coached and mentored agile teams using Scrum and Extreme Programming practices for many companies, including Oracle, PayPal, Borland, Vanguard, Microsoft, Google, Lockheed Martin, Tumbleweed Communications, V-Mark and Net Objectives. </p>

<p>Philosophically I am a Buddhist and I love good food and race cars.  My wife of more than 27 years is Cory.</p>

<h2>Bill Ives</h2>
I have asked <a href="http://billives.typepad.com/portals_and_km/">Bill Ives</a> to join me in this effort. Bill is veteran blogger who writes for two group blogs on enterprise 2.0 (<a href="http://www.theappgap.com/">the AppGap</a> and <a href="http://www.fastforwardblog.com/">FastForward</a>), as well as his own Portals and KM. Bill has helped Serena with its blogging efforts before (see <a href="http://billives.typepad.com/portals_and_km/2008/08/serena-tag-conf.html">Blogging Serena TAG</a>), including covering my S<a href="http://billives.typepad.com/portals_and_km/2008/09/blogging-sere-7.html">erena TAG session on Agile Myth Busters</a>. 

<p>Bill has served for over 25 years in leadership positions as a consultant in knowledge management, community building, and other business applications of emerging technologies. He has worked with large and small companies in a variety of industries, and is currently focused, as a consultant and writer, on what the new Web brings to business. Bill also participates in several search-based start-ups including <a href="http://www.iquestglobal.com/">iQuest</a>, and <a href="http://www.wikigazette.com/">Wikigazette</a>. Prior to his present roles, Bill led the Knowledge Management - Portals Practice at a major consulting firm. Bill has a Ph.D. in educational psychology from the University of Toronto and conducted post-doc research on how media affects cognition at Harvard. </p>

<p>Bill’s oldest daughter spent two years in a Buddhist country, Mongolia, and he also likes their views, especially respect for women. He is a painter when not blogging. </p>

<p>Bill is engaged to provide a partner and outside perspective to the discussions.  Since this blog is about conversations, we will be starting many of these conversations between ourselves. Operating under the model of two heads being better than one, at times Bill may interview me, challenge what I present, or act as a sounding board on discussions.  In some cases he may contribute posts to offer another perspective. However, we will be clear on the authorship on all posts and list whether it is post by myself, Bill, or a combined effort. You see the author or authors as a category at the bottom of each post and browse the blogs in each category in our right side bar. We also do conversations between the two of us and they are categorized as Interviews. We see this as an opportunity to experiment with different models of conversation and blog collaboration in a transparent manner. We plan to have fun and hope it is contagious. We welcome your input. </p>

<h2>David Socha</h2>
David Socha is another colleague who will be co-blogging with me. David is a long-term student of the human side of software development. He holds a PhD in Computer Science and Engineering from the University of Washington, and has spent 18 years as a leader and programmer in a variety of software organizations.

<p>I introduced David to agile practices back in 1999 when we both worked at Rational. As David recalls it, one day I said to him "Let's go to the bookstore. There is an interesting new book that I want to look at." That was Kent Beck's book Extreme Programming Explained: Embrace Change. According to David, software development has not been the same since for him. It made software development much more engaging. Ever since, he has been using agile practices and his people skills to help organizations improve their practices. He is a Certified ScrumMaster and Certified Product Owner, and has a particular fondness for <a href="http://www.biomimicry.net/">biomimicry</a>.<br />
</p><img src="http://feeds.feedburner.com/~r/JeffMckennasAgileDevelopmentBlog/~4/nlb1IOtuXwY" height="1" width="1"/>]]></content:encoded>



<dc:creator>Jeff McKenna</dc:creator>
<pubDate>Thu, 12 Mar 2009 10:17:40 -0700</pubDate>

<feedburner:origLink>http://blog.agile-action.com/2009/03/our-agile-development-blog-team-and-roles.html</feedburner:origLink></item>

</channel>
</rss><!-- ph=1 --><!-- nhm:dynamic-ssi -->
