<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-284399302764909932</id><updated>2011-11-21T04:19:33.675-08:00</updated><category term='Agile Planning'/><category term='power point'/><category term='story'/><category term='teamwork'/><category term='task cards'/><category term='story titles'/><category term='electronic planners'/><category term='Scrum'/><category term='rally'/><category term='task boards'/><category term='standup'/><category term='communication'/><category term='stories'/><title type='text'>Confessions of an Agile Coach</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-4783766997749788844</id><published>2011-10-13T11:06:00.000-07:00</published><updated>2011-10-13T11:06:39.972-07:00</updated><title type='text'>Pair Programming Jokes</title><content type='html'>Ok, I have only one, but it is a goody.&amp;nbsp; Especially told by a guy named Arkadiy who delivers this with a Russian accent.&amp;nbsp; If you know more jokes, please add them into the comments.&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&lt;span style="font-size: large;"&gt;Dude, dude, refactor&lt;/span&gt;&lt;br /&gt;Two drug addicts are driving down the road.&amp;nbsp; Suddenly one of them says, "Dude, dude, watch out there's a bird," and the van drives over it. Later, he says, "Dude, dude, slowdown, there's a cat," but they run over the cat too.&lt;br /&gt;Then there's a dog and the guy says, "Dude, dude! Lookout, there's a dog."&lt;br /&gt;The other guy says, "Dude, you look out.&amp;nbsp; You're the one driving."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-4783766997749788844?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/4783766997749788844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/10/pair-programming-jokes.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/4783766997749788844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/4783766997749788844'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/10/pair-programming-jokes.html' title='Pair Programming Jokes'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-6783362349606427317</id><published>2011-09-20T07:16:00.000-07:00</published><updated>2011-09-20T07:16:59.546-07:00</updated><title type='text'>Developing Organizational Standards to Support Agile Teams</title><content type='html'>&lt;span style="font-size: x-large;"&gt;Abstract&lt;/span&gt;&lt;br /&gt;At the department level, Agile processes are less descriptive on how to increase delivery excellence across all their teams.&amp;nbsp; One approach is to provide implementation-free constraints/goals that drive teams to better delivery and then encourage a culture of cross team information exchange.&amp;nbsp; The constraints/goals will create direction and incentive for teams throughout the organization, while information exchange at the team level allows new 'best of class' solutions to these constraints/goals to propagate across the organization.&amp;nbsp; By inserting a few organizational standard items into&amp;nbsp; team &lt;i&gt;Working Agreements&lt;/i&gt;, using &lt;i&gt;Build Monitors&lt;/i&gt; to make quality visible, and learning events such as &lt;i&gt;Book Groups&lt;/i&gt;, the organization can create a minimum "bar" across teams that will force some teams to improve their delivery excellence, yet won't get in the way of teams who already have good delivery excellence (yet potentially non-standard though innovative development methods).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;Most agile methodologies come with a built-in form of information exchange at the team level:&lt;br /&gt;daily standup meeting, retrospectives, sprint demos, pair programing, planning meetings that include the entire team, retrospectives, and code reviews.&amp;nbsp; eXtreme Programming, for example, contains the most extreme form of team viral information sharing--pair programming, which has developers working with each other and improving all their development craftsmanship on a daily basis (including soft skills), but sometimes people can't get along with each other.&amp;nbsp; Other forms are lightweight and helpful, but reduced efficiency--code reviews, for example, help people become better OO programmers (a part of craftsmanship), but the practice increases work-in-progress, creates an additional future integration point (integration of design ideas), discourages code experimentation (might not make it past the code review), and doesn't help people learn how to use their software tools such as the IDE more efficiently.&lt;br /&gt;&lt;br /&gt;Although most Agile methodologies come with good information exchange at the team level, finding how to direct efforts across the organizational is rarely discussed.&amp;nbsp; (Scrum has Scrum of Scrum and Meta Scrum.&amp;nbsp; Others practices?&amp;nbsp; Please use the blog comments to add more knowledge if you see something missing.)&amp;nbsp; Here are strategies that I've seen implemented to a good effect across an organization and creates a minimum bar of delivery excellence across all the teams, forcing some teams to discover better ways to deliver code, yet doesn't disrupt teams that already are excellent at delivering code. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Working Agreements&lt;/span&gt;&lt;br /&gt;The best working agreements have fewer than eight items and are visible in the team's working area.&amp;nbsp; Here is Fred.&amp;nbsp; &lt;a href="http://4.bp.blogspot.com/-npUqW6NiR-M/TngrWNAvAQI/AAAAAAAAAF0/1ZT7pJRpm4Y/s1600/IMG_7489.jpeg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://4.bp.blogspot.com/-npUqW6NiR-M/TngrWNAvAQI/AAAAAAAAAF0/1ZT7pJRpm4Y/s1600/IMG_7489.jpeg" /&gt;&lt;/a&gt;Off camera is the rest of his team.&amp;nbsp; Although this working agreement was developed by the team, organizational standards were incorporated without being "too" proscriptive.&amp;nbsp; This way, the team takes ownership of their "implementation" and use their own tools/processes to accomplish the working agreement.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Team Working Agreement&lt;/span&gt;&lt;br /&gt;Teams get a lot of value by having a written agreement on how we work together and handle day to day issues.&amp;nbsp; This agreement often puts into writing the answers to the "typical" questions that non-self directed teams recieved by asking their project manager, "hey, this happened, what should I do?"&amp;nbsp; This working agreement is often referred to by the following names: Team Working Agreement, General Working Agreement, or Daily Working Agreement.&amp;nbsp; The editorial comments in parenthesis aren't explicitly written down on the working agreement, but are understood by the team.&lt;br /&gt; &lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;br /&gt; Example:&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;br /&gt;&lt;u&gt;&lt;span style="font-size: small;"&gt;Team Working Agreement&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;- Automated tests are added for all discovered production issues before the code is written&lt;br /&gt;- Standups always include a dial-in (for teams that have remote team members/PO)&lt;br /&gt;- solving production fires is top priority&lt;br /&gt;- stop what your doing to address failing automated unit tests&lt;br /&gt;- the state of all automated tests is visible in the team area&lt;br /&gt;- all system tests, unit tests, UI tests are executed by CI&lt;br /&gt;- all unit tests are executed at least daily&lt;br /&gt;- comprehensive test passes are executed before release to live (all automated + manual)&lt;br /&gt;- all code changes are developed using TDD (legacy code and new code)&lt;br /&gt;- QA starts writing system tests on day one of sprint&lt;br /&gt;- everyone is a tester&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Organizational Standard&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;span style="font-size: small;"&gt;Setting some core standards across all teams about what few items must be in Team Working Agreement works well.&lt;/span&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; Common subset of the above that I've seen in practice are: &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;all system tests, unit tests, UI tests are executed by CI&lt;/li&gt;&lt;li&gt;all unit tests are executed at least daily&lt;/li&gt;&lt;li&gt;visible burndown chart&lt;/li&gt;&lt;li&gt;Scrum is practiced (this is usually implied)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;Story Definition of Done&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;This is the team's agreement on what "done" means when they say, "this story is done."&amp;nbsp; All the steps to the story being done must be met to get "credited" with the story being finished so the team can accumulate the story's estimate in Story Points/Units into the team's Velocity.&amp;nbsp; When the team starts a new Definition of Done, the SM needs to be vigilant until the team has got it.&amp;nbsp; If the team can't follow it, then we look for "why not" in the Retrospective and find some way to handle the impediment (fix some problems, adjust definition of done)&amp;nbsp; This definition of done is important for maintaining the team's standard of potentially shippable at the end of each sprint.&amp;nbsp; The editorial in the parenthesis isn't typically added to definitions of done but understood by the team.&lt;br /&gt;&lt;br /&gt;Example: &lt;br /&gt;&lt;u&gt;&lt;span style="font-size: small;"&gt;Story Definition of Done&lt;/span&gt;&lt;/u&gt;&lt;br /&gt;- All public methods are unit tested&amp;nbsp; (except for machine generated code that isn't changed by human hands, or DataValue objects that are "identity--I=I" getter/setters) &lt;br /&gt;- Story functionality is tested with an automated system/UI test &lt;span style="font-size: small;"&gt;(also called acceptance tests, functional tests, ...)&lt;/span&gt;&lt;br /&gt;- Manual tests are executed&lt;br /&gt;- Rally is updated (Rally is an electronic story tracking tool)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Organizational Standard&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt; all public methods are unit tested&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size: small;"&gt;stories have automated system tests (also called acceptance tests, ...) &lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size: large;"&gt;Sprint Definition of Done&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;Because a sprint is time boxed, the sprint is finished regardless of the "pass/fail" of the items in the Sprint Definition of Done, but the retrospective should be used to identify the root causes and create actions to solve problems.&lt;br /&gt;&lt;br /&gt;Example: &lt;br /&gt;&lt;br /&gt;&lt;u&gt;Sprint Definition of Done&lt;/u&gt;&lt;br /&gt;- Each sprint, the code coverage increases&lt;br /&gt;- All automated tests are green at the end of the sprint&lt;br /&gt;- All manual tests for the stories are executed&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Organizational Core Standard&lt;br /&gt;&lt;ul&gt;&lt;li&gt;code coverage increases each sprint&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;Other Working Agreements&lt;/span&gt;&lt;br /&gt;The following working agreements may also be useful to teams.&amp;nbsp; The art is to find the fewest agreements so we aren't buried by paperwork and yet have the ones that are necessary because problems happen when we don't have them: Task Definition of Done, Release Definition of Done (contains activities to be done before the software goes live, such as performance testing, security testing, or other things that for some reason, there are impediments to getting them done during typical sprints.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Build Monitors&lt;/span&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-kx0AcD-56Ug/TnhMW9fGV0I/AAAAAAAAAF8/YOgJCswFCXE/s1600/R0012177.jpeg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-kx0AcD-56Ug/TnhMW9fGV0I/AAAAAAAAAF8/YOgJCswFCXE/s400/R0012177.jpeg" width="400" /&gt;&lt;/a&gt;These devices show the "headlines" of the projects quality status.&amp;nbsp; Anyone can "click" for details.&amp;nbsp; This team modified the continues integration system's CSS to get the clear and simple style they wanted.&amp;nbsp; (Unfortunately, most CI environments have overly complicated dashboards.)&amp;nbsp; The monitor the left has the biz tier (unit tests) and web services tier (system tests) for the SAME app.&amp;nbsp; The build was split into logical levels.&amp;nbsp; The first level compiles, then runs unit tests for the biz tier, and then runs system tests for the web services tier.&amp;nbsp; The monitor on the right is the system tests that test the UI.&amp;nbsp; These three levels are common.&amp;nbsp; It's not hard to imagine adding a SQL level would be useful for a team doing work with stored procedures.&amp;nbsp; The success of one level cascades to the next level.&amp;nbsp; A failure at level one (can't compile) stops it all.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Book Groups&lt;/span&gt;&lt;br /&gt;Books a great way to get information across many people in an organization.&amp;nbsp; Just buying everyone in your department a book is a weak play (I still haven't read "The HP Way" which was given to me by my manager when I started work at HP).&amp;nbsp; Books are great learning tools if they are actually used.&amp;nbsp; I don't recommend buying people books unless they ask for them or it comes with a plan reading and using the knowledge.&amp;nbsp; Book groups are groups that get together and discuss reading and using the knowledge (or actually demonstrating the knowledge).&amp;nbsp; To encourage the Cross Pollination of Information, find someone to start a cross organizational book group that meets each week over lunch (companies often buy lunch and the books, and if people are meeting about the books).&amp;nbsp; Encourage the group to develop activities to put the knowledge to work: get members to sign up to teach or demonstrate or lead discussion for each chapter of the book.&amp;nbsp; DO-CODE-ON-PROJECTOR with a mob watching is my personal favorite tactic.&amp;nbsp; Books I recommend are: Martin Fowler's Refactoring, Diana Larson's Agile Retrospectives.&amp;nbsp; Teams I've been a part of have done this with books on Refactoring, GOF Design Patterns, eXreme Programing Explained, and Java Concurrency. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: small;"&gt;Delivering to all your teams core standards for their working agreements creates quality bars that teams aim for and hurdle over.&amp;nbsp; If the organization focuses on the desired outcome and allows the teams to develop how to reach those outcomes, the teams will find solutions that work best for their personal and project makeup, and they'll become vested in the implementation.&amp;nbsp; Adding in collaborative cross-organizational sharing and learning events such as book groups that are driven by employees, will give the employees a process for driving their own development and collaborating/learning with other team members.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Troubleshooting&lt;/span&gt;&lt;br /&gt;Here is a troubleshooting guide that covers some common problems that may occur implementing the above activities.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Team finished sprint with zero velocity. &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Maybe their working agreements were too hard.&amp;nbsp; Inspect and adapt for next sprint.&amp;nbsp; Maybe they need to embedded a coach for a sprint.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Team releases with bugs.&amp;nbsp;&amp;nbsp;&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Not enough testing.&amp;nbsp; Zero bug releases are expected.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;A team's CI environment isn't visible&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Are their tests failing?&amp;nbsp; What are they hiding?&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Team refuses to try new practices/process for even a sprint. &lt;/li&gt;&lt;ul&gt;&lt;li&gt;Too much release pressure?&amp;nbsp; Team embedded in their old ways?&amp;nbsp; Is the company culture so risk adverse that any failure has political implications?&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;References:&lt;br /&gt;XP practices &lt;a href="http://en.wikipedia.org/wiki/Extreme_programming_practices"&gt;http://en.wikipedia.org/wiki/Extreme_programming_practices&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-6783362349606427317?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/6783362349606427317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/developing-organizational-standards-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6783362349606427317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6783362349606427317'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/developing-organizational-standards-to.html' title='Developing Organizational Standards to Support Agile Teams'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-npUqW6NiR-M/TngrWNAvAQI/AAAAAAAAAF0/1ZT7pJRpm4Y/s72-c/IMG_7489.jpeg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-1536785410109797914</id><published>2011-09-08T06:07:00.000-07:00</published><updated>2011-10-12T16:04:53.362-07:00</updated><title type='text'>What do studies say about Agile?</title><content type='html'>&lt;span style="font-size: x-large;"&gt;Agile Studies&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;This is going to be a different posting.&amp;nbsp; This one will be organic and added to as I find other good bits of information.&amp;nbsp; I need something like this to make it easier to go over an inventory of studies.&amp;nbsp; I need this to solve my "searching for studies" impediment which comes up periodically.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;Help me keep this up to date.&amp;nbsp; If you have an Agile paper you want cited, comment about it. &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Test Driven Development:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt; &lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://www.infoq.com/news/2009/03/TDD-Improves-Quality"&gt;TDD Improves Quality&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Abstract: A paper first published in the &lt;a href="http://www.springer.com/computer/programming/journal/10664"&gt;Empirical Software Engineering&lt;/a&gt; journal reports: "TDD seems to be applicable in various domains and can significantly reduce the defect density of developed software without significant productivity reduction of the development team."  The study compared 4 projects, at Microsoft and IBM that used TDD with similar projects that did not use TDD.&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;&lt;span style="font-size: large;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBoQFjAA&amp;amp;url=http%3A%2F%2Fdigitalcommons.calpoly.edu%2Fcgi%2Fviewcontent.cgi%3Farticle%3D1027%26context%3Dcsse_fac&amp;amp;rct=j&amp;amp;q=%22Does%20Test-Driven%20Development%20Really%20Improve%20Software%20Design%20Quality&amp;amp;ei=cY1oTtSGNcPiiAKN_eSDBA&amp;amp;usg=AFQjCNEuVXXd8NZXaPdfGMBkgZ2xEx8Iag&amp;amp;cad=rjt"&gt;Does Test-Driven Development Really Improve Software Design Quality?&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;David S. Janzen, California Polytechnic State University, San Luis Obispo Hossein Saiedian, University of Kansas&lt;br /&gt;Lance's summary: &lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;TDD allows simpler design == less lines of code to do the same thing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Summary: Software developers are known for adopting new technologies and practices Software developers are known for adopting new technologies and practices&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a class="contentpagetitle" href="http://www.wakaleo.com/blog/217-test-driven-development-and-software-quality"&gt;Test-Driven Development and Software Quality&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;&lt;span style="font-size: small;"&gt;Lance's summary: a blog that comments on the IEEE paper &lt;/span&gt;&lt;/span&gt;"Does Test-Driven Development Really Improve Software Design Quality."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-large;"&gt;Pair Programing: &lt;/span&gt;&lt;br /&gt;A good summary about the practice along with a little satire at &lt;a href="http://en.wikipedia.org/wiki/Pair_programming"&gt;wikipedia&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF"&gt;&lt;span style="font-size: large;"&gt;The Costs and Benefits of Pair Programming&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Alistair Cockburn &amp;amp; Laurie Williams&lt;br /&gt;&lt;br /&gt;Lance's summary: Pair programing creates a lot of value over the total product lifecycle (higher code quality, lower defects, reduces team bottlenecks, and increases work satisfaction) at the cost of 15% more development time.&lt;br /&gt;&lt;br /&gt;ABSTRACT&lt;br /&gt;Pair or collaborative programming is where two programmers develop software side by side at one computer. Using interviews and controlled experiments, the authors investigated the costs and benefits of pair programming. They found that for a &lt;u&gt;development-time cost&lt;/u&gt; of about 15%, pair programming &lt;b&gt;&lt;u&gt;improves&lt;/u&gt;&lt;/b&gt; design quality, reduces defects, reduces staffing risk, enhances technical skills, improves team communications and is considered more enjoyable at statistically significant levels.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://simula.no/research/se/publications/Arisholm.2006.2/simula_pdf_file"&gt;&lt;span style="font-size: large;"&gt;Evaluating Pair Programming with Respect to System Complexity and Programmer Expertise&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Erik Arisholm, Member, IEEE, Hans Gallis, Tore Dyba ̊, Member, IEEE Computer Society, and Dag I.K. Sjøberg, Member, IEEE&lt;br /&gt;&lt;br /&gt;Abstract—A total of 295 junior, intermediate, and senior professional Java consultants (99 individuals and 98 pairs) from 29 international consultancy companies in Norway, Sweden, and the UK were hired for one day to participate in a controlled experiment on pair programming. The subjects used professional Java tools to perform several change tasks on two alternative Java systems with different degrees of complexity. The results of this experiment do not support the hypotheses that pair programming in general reduces the time required to solve the tasks correctly or increases the proportion of correct solutions. On the other hand, there is a significant 84 percent increase in effort to perform the tasks correctly. However, on the more complex system, the pair programmers had a 48 percent increase in the proportion of correct solutions but no significant differences in the time taken to solve the tasks correctly. For the simpler system, there was a 20 percent decrease in time taken but no significant differences in correctness. However, the moderating effect of system complexity depends on the programmer expertise of the subjects. The observed benefits of pair programming in terms of correctness on the complex system apply mainly to juniors, whereas the reductions in duration to perform the tasks correctly on the simple system apply mainly to intermediates and seniors. It is possible that the benefits of pair programming will exceed the results obtained in this experiment for larger, more complex tasks and if the pair programmers have a chance to work together over a longer period of time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.140.1522&amp;amp;rep=rep1&amp;amp;type=pdf"&gt;All I Really Need to Know I Learned in Kindergarten&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;By Robert Fulghum (Fulghum 1988)&lt;br /&gt;Lance's Comment: Not really a study, but important information for people interested in pairing studies.&amp;nbsp; This paper contains a lot of the behaviors needed for successful pair programming.&lt;br /&gt;&lt;br /&gt;Abstract:&lt;br /&gt;Share everything.&lt;br /&gt;Play fair.&lt;br /&gt;Don’t hit people.&lt;br /&gt;Put things back where you found them.&lt;br /&gt;Clean up your own mess.&lt;br /&gt;Don’t take things that aren’t yours.&lt;br /&gt;Say you’re sorry when you hurt somebody.&lt;br /&gt;Wash your hands before you eat.&lt;br /&gt;Flush.&lt;br /&gt;Warm cookies and cold milk are good for you.&lt;br /&gt;Live a balanced life – learn some and think some and draw and paint and sing and dance and play and work every day some.&lt;br /&gt;Take a nap every afternoon.&lt;br /&gt;When you go out into the world, watch out for traffic, hold hands and stick together.&lt;br /&gt;Be aware of wonder.&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;a href="http://c2.com/cgi/wiki?PairProgrammingTestimonials"&gt;Pair Programming Testimonials&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;Abstract:&lt;br /&gt;If you would like to share your pairing experiences or read about other people's, this is the place. Describe the good and bad of your experiences pairing to help others in a similar situation - just a paragraph or two would be great . . . what worked well, what didn't work so well, what kinds of things did you 'attack' together, tips and tricks, etc. A great example of a testimonial is by Ron Jeffries in the July/August 2000 IEEE Software page 25.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-1536785410109797914?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/1536785410109797914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/what-do-studies-say-about-agile.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1536785410109797914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1536785410109797914'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/what-do-studies-say-about-agile.html' title='What do studies say about Agile?'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-5927258680452261339</id><published>2011-09-02T20:50:00.001-07:00</published><updated>2011-09-03T08:44:42.236-07:00</updated><title type='text'>The ONE right way to Scrum</title><content type='html'>&lt;div align="left" class="bloggerplus_text_section"&gt;What is the right way to Scrum?&lt;br /&gt;This question is brought up a lot in organizations that are transforming to Scrum to improve their ability to deliver products. It's a natural question for smart people to ask when they are receiving Scrum training and then discover other teams adjusting from the "default" or "standard" implementation of their company's Scrum process. &lt;/div&gt;&lt;h2&gt;Is there one way to do Scrum?&lt;/h2&gt;It's better to ask yourself, "should there be one way?"&lt;br /&gt;&lt;br /&gt;When anthropologists talk of societies and biologists talk of evolution and virus colonies, history has shown that the results of monocultures are dangerous. The societies, governments,  organisms, or colonies that survive are those that could respond to a change that wiped the others out.  Having everyone thinking and agreeing all the time means new ideas aren't getting tried out.  On the other hand, having only conflict/chaos means poor productivity/survival.  &lt;br /&gt;&lt;a href="http://mobile.eweek.com/c/a/Database/Security-Experts-Debate-Danger-of-Computing-Monoculture/" target="_blank"&gt;Computing monoculture&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.gagazine.com/the-dangers-of-monocultures/" target="_blank"&gt;agricultural monocultures&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;What is Scrum?&lt;/h1&gt;Scrum has been around for over 10 years.&amp;nbsp; (You can read Martin Fowler's 2005 overview of Scrum in&lt;br /&gt;&lt;a href="http://martinfowler.com/articles/newMethodology.html" target="_blank"&gt;The new methodology called Scrum) &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Scrum says once the planning meeting has finished and the sprint starts, the planning conflict (conflict over resources) is over (or at least is moved outside the team) and the execution of the plan begins. For the team, conflict moves to technical implementation as they discover the best designs (test plans, class designs, craftsmanship) to meet the plan's goals. At the end, the team, ScrumMaster, and ProductOwner inspect the results and proposes a "new experiment" to improve software delivery. &lt;br /&gt;&lt;br /&gt;&lt;h2&gt;What is Scrum (or basic scrum)&lt;/h2&gt;Three roles: team that does the project work, a ScrumMaster, and a single person to be ProductOwner. &lt;br /&gt;A fixed backlog of work for a sprint.&amp;nbsp; A sprint is a fixed length of time.&lt;br /&gt;A quick planning meeting. &lt;br /&gt;Retrospective and sprint demo. &lt;br /&gt;Daily standup meetings that are no longer than 15 minutes.&lt;br /&gt;&lt;br /&gt;*Velocity, burndown charts, and task boards are also expected but aren't necessary for the empirical process other than adding more visibility. But since visibility is necessary, like a microscope is necessary to a biologist, I'm including them too.  &lt;br /&gt;&lt;br /&gt;You may ask six Agile Consultants "What is Scrum" and get six answers but I expect all six will have at least  all the above. &lt;br /&gt;&lt;br /&gt;Why six different answers?&lt;br /&gt;How I Scrum today is different than how I Scrummed in 2006. How I Scrummed in 2006 is different than 2004 (my first Scrum project). But in all cases, I did Scrum. Before 2004, I did eXtreme Programming, and did not do all the above that is Scrum and instead did other things, XP practices (pairing, TDD, system test) and how my team executed those practices changed every month/year. &lt;br /&gt;&lt;br /&gt;Why did my practices change? Because my teams inspected the WAY we did things and ADAPTED. We talked to and learned from others doing agile and tried out ideas for a sprint. Using the rigors of the experimental process (control/fix everything else but what you want to change, and then measure the results at the end) we decided what new adjustment to keep and what not to keep.  &lt;br /&gt;&lt;h1&gt;Standards&lt;/h1&gt;Should there be a standard way across an organization?&lt;br /&gt;Are you saying that you want a monoculture?  Is Scrum itself a monoculture? Maybe, but if each Scrum team is a little or a lot different so I think it's not a monoculture.  I think that doing "basic" Scrum (just Scrum) as a standard is a good idea because then everyone from development to the CEO understands the culture enough not to:&lt;br /&gt;Ask team members multitask across different projects&lt;br /&gt;Ask POs to change the team's sprint backlog while they are in mid sprint&lt;br /&gt;Discourage highly collaborative practices like Pair Programming&lt;br /&gt;Discourage differences between Scrum teams&lt;br /&gt;Ignore impediments discovered by teams&lt;br /&gt;&lt;br /&gt;We want how we work together &lt;i&gt;standard enough&lt;/i&gt; to not break each others' Scrum processes and to support teams' inspection and adaption of their own processes. &lt;br /&gt;&lt;br /&gt;&lt;h1&gt;Directing an organization without standardizing a monoculture&lt;/h1&gt;&lt;br /&gt;Standardizing on organizational goals that allow teams to self organize is a good idea.  Here are some I've seen in the industry:&lt;br /&gt;burndown chart of some kind, definitions of done, &lt;br /&gt;Automated system tests, automated unit tests, a system to show how many tests are passing/failing in the last hour, collocated teams, a highly visible team task board the team can use throughout the day, current code coverage and sprint by sprint history so we can see the trend. &lt;br /&gt;&lt;h1&gt;The one TRUE way to Scrum&lt;/h1&gt;When an organization leaves Waterfall for Scrum, people need to be well trained on what is Scrum and asked to do things they are uncomfortable with, maybe even things they can't imagine could work. They need this pressure to get started doing Scrum otherwise, before even their first sprint, they decide to inspect and adapt to something they are comfortable with, Waterfall, out of a sense of comfort rather than out of quantifiable measurements that come out of the Scrum process (Velocity is a big one). So to get a team started, they will need to take a starting Scrum model on faith until they get the idea and see results good or bad. After a few Sprints, I expect to see that the cumulative affects of inspect and adapt to show some changes from their starting Scrum model but to still see the basic Scrum model intact. &lt;br /&gt;&lt;br /&gt;If someone says that they have one true way to do Scrum, I'd start walking the other way because that person doesn't understand that Scrum requires teams to inspect and adapt their process to become efficient for their specific situation. If a team isn't inspecting AND adapting, then their Scrum process is broke. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-5927258680452261339?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/5927258680452261339/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/one-right-way-to-scrum.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/5927258680452261339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/5927258680452261339'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/09/one-right-way-to-scrum.html' title='The ONE right way to Scrum'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-2004087621031166063</id><published>2011-02-13T20:40:00.000-08:00</published><updated>2011-02-13T20:59:59.637-08:00</updated><title type='text'>Hello World, Hello Quickest end to end Implementation</title><content type='html'>What is the fastest your Agile team can bring something to market?  If you don't know, it's time to find out. You might be surprised at the answer. When working with clients who struggle to understand potentially shippable, I found that talking about releasing a Hello World story is a good way to learn how well their development, technology, and QA processes work. &lt;br /&gt;&lt;br /&gt;Recently, I worked with a ScrumMaster who said his team would need more than 1 day but less than 2 to build, test, package, deploy, and then system test the installation. This was much better than his first answer: we don't test the package during each sprint, we don't do a Sprint Deno because we can't. Talking about adding a Hello World story is a good way to structure people's thinking about an easy to visualize goal. Then it's easier to talk about what impedes realizing the goal.&lt;br /&gt;&lt;br /&gt;It's also a good way for the team to learn how to do all the engineering practices for from one end to the other: acceptance test, tdd, pair, ... And measure the overhead (what impedes them).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-2004087621031166063?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/2004087621031166063/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/02/hello-world-hello-quickest-end-to-end.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2004087621031166063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2004087621031166063'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/02/hello-world-hello-quickest-end-to-end.html' title='Hello World, Hello Quickest end to end Implementation'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-6810984202990573799</id><published>2011-02-03T23:56:00.001-08:00</published><updated>2011-02-04T22:12:12.575-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Agile Planning'/><title type='text'>Agile Resource Management and the "Perfect Method"</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.whatmyworldslike.com/blog/wp-content/uploads/2009/04/the-perfect-moment.jpg"&gt;&lt;img style="float: left; margin: 0pt 10px 10px 0pt; cursor: pointer; width: 408px; height: 279px;" src="http://www.whatmyworldslike.com/blog/wp-content/uploads/2009/04/the-perfect-moment.jpg" alt="" border="0" /&gt;&lt;/a&gt;Managers whose companies are in the agile transition period often have questions about resource management.  With Agile, it's quiet different than what they are used to.  If we understand what got us in this situation, we'll better understand how to fix it.  Here's a look at &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Agile's&lt;/span&gt; Planning Game versus traditional project management and resource allocation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;The Planning Game&lt;/span&gt;&lt;br /&gt;The goal of planning is to get the most value for the business/customer for the amount of time spent on the project.  To achieve this, we need to get development and business working well together.  If the relationship is poor or if there are many layers of middlemen (management, analysts) separating the layers, then the planning outcome will suffer, even the project is considered an Agile project.  This is why &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XP&lt;/span&gt; and Scrum both want the customer (or the Product Owner--one person who can make decisions as if she were the costumer) directly involved in the planning meetings and interacting with the team as often as possible.  Agile methodologies also ask that the team work differently together: cross-functional, small releases, pair programming, production quality code released at the end of each iteration, etc.  (See the following for more: &lt;a href="http://www.extremeprogramming.org/rules.html"&gt;http://www.extremeprogramming.org/rules.html&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Traditional Project Management in the Enterprise&lt;/span&gt;&lt;br /&gt;Traditional project management evolved into having layers of people between those who can make decisions about requirements and those who are building the software.  Among other reasons, this was done as a way to scale work out to hundreds or thousands of people.  A number of middleman roles were created and these middlemen worked more or less as a negotiating layer between the business and the development, maintaining records of decisions.  This slowed down decision making due to the team or business working through layers analysts/management to communicate with each other, and often using media (documentation, email) that was inferior to face to face communication.&lt;br /&gt;The outcome of a slow decision making and communication process is that people on both ends found other things to do while they waited.  The business people would start another project and generate business specifications, the development team would be managed by a resource manager who would find them another project to work on during this wait time.  This other project would then execute using the same traditional planning style.  Since making decisions is slow in this process, following THE PLAN became very important because changing the plan meant more meetings, more decisions, more waiting.  Sometimes, team members could be on three slow moving projects, or maybe even four.  Resource managers became very busy in making sure people's time was as fully allocated as possible.  To make their management easy, each project needed to add to THE PLAN how they were keeping each person busy.  If a project's PLAN changed, this created change in personal (adding or removing).  If estimates were found to be poor, people would do their best to come as close as possible so that THE PLAN wouldn't change, and sometimes the schedule slip was disguised for months.  If the business wanted something different done, this would also create a change in THE PLAN that everyone wanted to avoid.  THE PLAN evolved to measure the work in Perfect Engineering Days (the "Perfect Method").  If a task takes 11 Engineering days, and you have 5 Engineers, then it will finished in about 2.5 days multiplied by some Overhead constant to represent meetings, email, communication that takes the engineer away from work.  So those 11 days are "perfect engineering days."&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;Agile and the Planning Game in the Enterprise&lt;br /&gt;&lt;/span&gt;The biggest reason to move to Agile methodologies is that they make business sense.  Time to market is an important measure of a company's ability to bring new products to market.  If your product is up for sale before anyone else has a similar product, you have a huge advantage in being the only choice.  If your 2&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;nd&lt;/span&gt; generation product is out for sale while the competitors only have their first generation, again, you have a captive marketplace that can only buy from you.  Some members of the market will wait for their favorite vendor, but they won't wait forever.&lt;br /&gt;&lt;br /&gt;An Agile team team is set of people who work on one project because for a long time, we knew that multi-tasking over multiple projects creates "wait states."  Wait states within the project and wait states across the other project that the engineer is working on at the same time.  For example, engineer A on project Z waits for something from engineer B, but B is working on his other project V because his manager wants to see more progress because V is becoming the "long line" in a multi-project release.  After engineer A spending some time discovering the wait state, she finds something else to do: re-remembering what her other project, Q, is doing, setting up a build environment, and paying other Costs of Task Switching.  Everyone knows that multi-tasking adds to overhead, it's only a matter of debate about how much overhead, and finding an alternative.  The trouble is, multi-tasking breads more multi-tasking, as you saw with engineer A.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;The Agile&lt;/span&gt; Alternative&lt;/span&gt;&lt;br /&gt;Part of &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Agile's&lt;/span&gt; better execution speed is realized by breaking away from making plans that &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;mixing&lt;/span&gt; business requirements and individual resources together, by simply deciding that everyone on the team is full time on that project until it releases, and the team can manage balancing the work load.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Agile's&lt;/span&gt; productivity measure, Velocity, is a team wide metric.  Velocity measures team productivity and is updated each iteration.  Each iteration we have a Planning Meeting where we play the Planning Game&lt;br /&gt;[source: &lt;a href="http://www.c2.com/cgi/wiki?PlanningGame"&gt;http://www.c2.com/cgi/wiki?PlanningGame&lt;/a&gt;] where the team's latest Velocity and their estimates of the backlog of stories/requirements are used to give the business the most up-to-date data on what stories can/cannot be done.  Re-planning happens each iteration based on this information (stories are adjusted, people may be added/removed from the team).  We expect to re-plan, where Traditional project management expects THE PLAN to never change (which is a false assumption since it always changes).  The team, uses its Velocity to guide how much work to pull into the next iteration.  Perfect Engineering Days aren't used because it brings along with it a stipulation that only one person is working on each task (the ability to divide and conquer is implied).  The team members may use the practice of Pair Programming in order to have fully reviewed code, better designed, and a fully cross functional team where everyone understands what the software is doing.  (Note: You could choose to use Perfect Paired Engineering Days &lt;a href="http://xprogramming.com/Practices/PracIterations.html"&gt;http://xprogramming.com/Practices/PracIterations.html&lt;/a&gt;.  But there are better systems out there which are a better fit for how human brains work: &lt;a href="http://www.renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf"&gt;http://www.renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf &lt;/a&gt;) &lt;span style="font-style: italic;"&gt;[*]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;What's a manager in a transitional organization to do?&lt;/span&gt;&lt;br /&gt;If people demand that you express your team's allocation by engineering days so they can add it into a planning tool, then find a way to make them happy without having "resource allocation reporting" affecting your team's agile process (Pair Programming, using Planning Poker with a numbering system rather than "Perfect Method", cross functional team members, ...).  For example, if you have six people on your team, and based on the team's most recent Velocity, they are going to finish the most up-to-date version of the backlog in two months, then you have twelve engineering months.  Find a way to fill out the report to make the organization happy.  Eventually, and by educating your organization, you'll be able to drop this "Perfect Method" Wrapper.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;"Perfect Method" Wrapper Patterns&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Since many companies are in similar straits when transitioning from a traditional organization to an Agile organization, many project managers turned ScrumMasters or XP Coaches are faced with this problem over and over.  Wouldn't it be nice to have a list of solutions that people have done to solve this impediment?  That's where you, dear reader, come in.  If your are in a transitioning organization or have just finished a transition, use the comments section (moderation is turned off, so go for it) beneath this blog to describe what you did or going to try to keep your team agile when your department wants you to report on your use of human resources via perfect engineering days. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:130%;"&gt;[*]&lt;/span&gt;&lt;span style="font-size:100%;"&gt; I'm more proscriptive than James &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Grenning&lt;/span&gt; in that I ask teams to resist adding more numbers into their numbering system.  If you're using the Fibonacci system (1 2 3 5 8 13...), stick to it!  Otherwise the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;team'll&lt;/span&gt; waste time deciding between 5 and 6 rather than quickly finishing planning by deciding between 5 or 8.  I'm even more extreme in that I recommend a geometric series instead (1 2 4 8 16 32) which has even bigger gaps.  Having gaps are important because humans are better at making quick decisions over these gaps between numbers rather than a long debate with a liner system where there isn't much difference.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-6810984202990573799?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/6810984202990573799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/02/agile-resource-management-and-perfect.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6810984202990573799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6810984202990573799'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2011/02/agile-resource-management-and-perfect.html' title='Agile Resource Management and the &quot;Perfect Method&quot;'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-1611882419415245756</id><published>2010-07-11T21:04:00.000-07:00</published><updated>2010-07-13T23:13:42.213-07:00</updated><title type='text'>ScrumMasters should believe in UFOs!</title><content type='html'>I've been working with some new ScrumMasters that used to be project managers and the biggest thing holding them and their teams back is the attitude around resolving impediments:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;They rely only on the team *reporting* impediments to them instead of sleuthing for impediments.&lt;/li&gt;&lt;li&gt;They collect information about impediments in a notebook.&lt;/li&gt;&lt;li&gt;No one on the team or management knows the status of the impediments, how many there are, or how bad they are.&lt;/li&gt;&lt;li&gt;The ScrumMasters are writing email reports about the impediments.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Instead of the above behaviours, I'm encouraging them to believe in UFOs.  Everyone should believe in them, but it's the ScrumMaster who should give UFOs their professional treatment.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;U  -- Who is responsible for resolving impediments? U!&lt;br /&gt;&lt;/li&gt;&lt;li&gt;F ast --  U shouldn't wait long before trying to resolve them.  Don't schedule a meeting in the future or craft a report for something you can take care of now.&lt;/li&gt;&lt;li&gt;O bservable -- Impediments should be easy for anyone to see at any time.&lt;/li&gt;&lt;li&gt;S tatus -- The status of the impediments should be clear and known so the team feels something is being done beyond someone nodding their head, writing in their notebook, and crafting CYA emails.  It's best to make the status observable.&lt;/li&gt;&lt;/ul&gt;I've put together a video called &lt;a href="http://www.youtube.com/watch?v=oKFH9X_SmZ8"&gt;Living with Impediments&lt;/a&gt; which illustrates the problem and also goes over UFOs.  You can also find more Agile videos at my &lt;a href="http://www.youtube.com/user/lancerkind"&gt;YouTube channel&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Tell your ScrumMasters about UFOs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-1611882419415245756?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/1611882419415245756/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/07/scrummasters-should-believe-in-ufos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1611882419415245756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1611882419415245756'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/07/scrummasters-should-believe-in-ufos.html' title='ScrumMasters should believe in UFOs!'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-6276672233113707686</id><published>2010-06-20T00:01:00.000-07:00</published><updated>2010-06-20T00:26:48.296-07:00</updated><title type='text'>Agile Coach Debriefings: Sprint Planning and Planning Poker</title><content type='html'>Lancer is going to confess on camera about discussions he's had with clients by going over his coaching notebook.  As of now, he discusses how to schedule and organize for &lt;a href="http://www.youtube.com/watch?v=SrYb7djiW2g"&gt;Sprint Planning in a day&lt;/a&gt;, and how to have a quick session of &lt;a href="http://www.youtube.com/watch?v=Yd2-DQRqMmY"&gt;Planning Poker using the team's group intelligence&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;You can subscribe to his &lt;a href="http://www.youtube.com/lancerkind"&gt;YouTube channel&lt;/a&gt; to receive new updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-6276672233113707686?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/6276672233113707686/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/06/agile-coach-debriefings-sprint-planning.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6276672233113707686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/6276672233113707686'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/06/agile-coach-debriefings-sprint-planning.html' title='Agile Coach Debriefings: Sprint Planning and Planning Poker'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-1787761059114524663</id><published>2010-04-29T18:44:00.000-07:00</published><updated>2010-04-29T18:53:39.182-07:00</updated><title type='text'>Burn, baby, burn (part 2/2 to having great standups)</title><content type='html'>Something a SM should do every morning right before standup: take a look at the burndown chart and try to find an easy 'win'. A win is a story that is almost done and could make the line on the burndown chart burn (go) down. &lt;br /&gt;&lt;br /&gt;Then at the beginning of Standup, 'set the stage'[1]  by telling the team that they almost have a story finished which will show great progress during the sprint. Ask the team to figure out how to get THAT story (creating focus) finished so they can get an early win, burn down the chart, and show their PO that progress is being made.   &lt;br /&gt;&lt;br /&gt;This also gives you, the scrum master, focus: solve any difficulties that get in the teams way around finishing that story. If you get a TEAM of people focused on a goal, great things always happen. But it requires finding the right thing to focus on. A story that is near finish is a good thing to focus on, until it meets our definition of done.&lt;br /&gt;&lt;br /&gt;And for a bonus, you can run the story by your PO for Story Acceptance before the end of the Sprint. That will really get the PO and the team excited.   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-1787761059114524663?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/1787761059114524663/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/04/burn-baby-burn-part-22-to-having-great.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1787761059114524663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/1787761059114524663'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2010/04/burn-baby-burn-part-22-to-having-great.html' title='Burn, baby, burn (part 2/2 to having great standups)'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-575936391389696415</id><published>2009-05-22T18:12:00.000-07:00</published><updated>2009-04-23T16:27:54.786-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='standup'/><title type='text'>Flow my tears, the ScrumMaster said (Part 1/2 of Having Great Standups)</title><content type='html'>A ScrumMaster has a tough job. He is supposed to help his team perform without actually diving into the work himslef, for if he did, then when someone has an impediment, he would be busy and likely not have the broad context needed to solve the problem outside of his immediate work.   Preserving a big picture  perspective is important.   Firemen don't leave the station without their  Fire Captain.  The Captain  isn't allowed to enter the building and must stay in the fire engine (or near it) and coordinate his team via  radio.  (I've even heard  that  Fire Captains are literally locked inside the fire engine to prevent  them from abandoning their post to  rush into a burning  building.)&lt;br /&gt;&lt;br /&gt;Everyday, the ScrumMaster's job is to figure out how to get the team perform better, which is  much harder than developing code.  The worst situation a ScrumMaster can be in is have a team that isn't delivering software in a predictable fashion, and the team always claims that everything is going fine.&lt;br /&gt;&lt;br /&gt;Day after day of standups where nothing interesting is spoken of, and  sprint after sprint of missed sprint goals is enough to make a ScrumMaster cry.  If this is the case for you, then you need to fix this! &lt;br /&gt;&lt;br /&gt;Here are some methods on  "loosening up" a team so they share their problems:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ask questions about tasks which aren't progressing very well (a 1 day task going into its third day)&lt;/li&gt;&lt;li&gt;Encourage risk taking and nontraditional ideas, activities and actions&lt;/li&gt;&lt;li&gt;Figure out how to make it OK to "call uncle" so  you know they need help.&lt;/li&gt;&lt;li&gt;Don't immediately judge impediments: "That is too big to tackle, just live with it," or "that is such a small impediment when I know there are some really large ones that are holding us back."&lt;a href="#[1]"&gt;[1]&lt;/a&gt;  The team is supposed to air impediments, not be told to air only the impediments the organization wants to handle.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;When an impediment is discovered, track them!  Put them on a big visible chart of some kind.  Don't try and be a "waiter" that takes their teams "orders."  Unlike working in a diner, the cycle time of solving impediments takes more than twenty minutes, and usually up to  24 hours.  Within thirty minutes after standup, no one remembers what happened though the person who brought it up will remember at standup the next day.  The impediments should be visible in the team area so that everyone knows the status of them.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Celebrate whenever  an impediment is brought up.  Usually an "atta-boy" will work.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Acknowledge people in a public setting for exposing impediments.&lt;/li&gt;&lt;/ul&gt;For each day that your team reveals "no impediments" get worried because something is really wrong with the process.   If they are consciously avoiding to reveal them to you, there is a trust issue.  If they are un-conscious of their impediments and living with a lot of burden, then figure out how to change their perspectives.  (I'll blog on this topic next.)&lt;br /&gt;&lt;br /&gt;It's a tough life being a ScrumMaster.  You rely on those doing the work to tell you what ails them, and you can't help them if you don't know what the problems are.  You can't be a ScrumMaster if they won't tell you of their problems.  You can't be a ScrumMaster if they don't trust you to take their problems and treat them in a way that works both for the team and for the organization.&lt;br /&gt;&lt;br /&gt;You can't solve problems that you don't know about.&lt;br /&gt;&lt;br /&gt;If all else fails, embarrass them: Tell them you'll cry if they won't do their jobs and open up about what isn't working. &lt;br /&gt;&lt;br /&gt;No one likes to see a ScrumMaster cry.  &lt;br /&gt;&lt;br /&gt;&lt;a name="[1]"&gt;[1]&lt;/a&gt; One time during a standup,  I brought up two impediments, each of which were quickly judged by an attending manager as one being too hard, and the other  too small when there were other bigger problems.  These are signs of a reluctance to change.  If an organization can't be bothered to fix small problems or is unwilling to do so, then the adapt part of Scrum is broken outside of the team's scope and that is a sad situation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-575936391389696415?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/575936391389696415/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/flow-my-tears-scrummaster-said-part-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/575936391389696415'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/575936391389696415'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/flow-my-tears-scrummaster-said-part-12.html' title='Flow my tears, the ScrumMaster said (Part 1/2 of Having Great Standups)'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-5019826065645148599</id><published>2009-01-16T15:18:00.000-08:00</published><updated>2009-03-26T15:49:30.038-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='story titles'/><category scheme='http://www.blogger.com/atom/ns#' term='stories'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='story'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><title type='text'>Good stories have Great titles</title><content type='html'>When you read a good book, you can quickly refer to it by its title: &lt;span style="font-style: italic;"&gt;We&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;Animal Farm&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;The Left Hand of Darkness&lt;/span&gt;. Having a title saves you the time of recapping the plot in order to establish that you and someone else know what the story is about.&lt;br /&gt;&lt;br /&gt;Every day, Scrum teams do a 15 minute standup during which they describe to their team how they've spent their development time.  I've noticed that teams which  have been coached to use the "as a user" format of stories (credited to    &lt;a href="http://www.testingreflections.com/node/view/5452"&gt;Rachel Davies &amp;amp; Tim Mackinnon&lt;/a&gt;, promulgated by &lt;a href="http://blog.mountaingoatsoftware.com/advantages-of-the-as-a-user-i-want-user-story-template"&gt;Mike Cohen&lt;/a&gt; and many others including my self), create an impediment by giving their stories ID numbers instead of titles.  "I worked on client authentication" turns into "I worked on story 6933," and most of the team doesn't know what this is and often just lets the information fly overhead.  Even if they were familiar with 6933, there is less information and more abstraction when assigning numbers, and it's hard to feel an emotional attachment when sharing this number to people ancillary to the team, such as stake holders or perhaps the product owner. These story serial numbers become an impediment to communication.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1BVwgGZKNf8/ScQ_Xfw8EII/AAAAAAAAADs/iupdN5qc7UU/s1600-h/R0012766.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 283px; height: 400px;" src="http://4.bp.blogspot.com/_1BVwgGZKNf8/ScQ_Xfw8EII/AAAAAAAAADs/iupdN5qc7UU/s400/R0012766.JPG" alt="" id="BLOGGER_PHOTO_ID_5315443133100331138" border="0" /&gt;&lt;/a&gt;For a while I coached  teams to save that first line for the story title.  It's easy to forget though and violates the principle of "once and only once" since the &lt;what&gt; portion of the "as a user" format already contains that information.  As a second measure, I coach them to underline the key words on the story card.  But teams still end up adding an ID number, and in the heat of giving standup, it's actually hard to parse all the words though easier to rattle off the ID prominently displayed in the upper left-hand side of the task card, so I sometimes end up wasting my breath by saying the number.&lt;br /&gt;&lt;/what&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1BVwgGZKNf8/ScQ9E-ij1PI/AAAAAAAAADU/HJ5IdCv-C-o/s1600-h/P1010434.JPG"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 304px; height: 400px;" src="http://1.bp.blogspot.com/_1BVwgGZKNf8/ScQ9E-ij1PI/AAAAAAAAADU/HJ5IdCv-C-o/s400/P1010434.JPG" alt="" id="BLOGGER_PHOTO_ID_5315440615920751858" border="0" /&gt;&lt;/a&gt;&lt;what&gt;Today I was writing some new stories and struck upon something that made felt right:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;WHAT I WANT&lt;/span&gt;&lt;br /&gt;so &lt;span style="font-style: italic; font-weight: bold;"&gt;ROLE&lt;/span&gt; can &lt;span style="font-weight: bold; font-style: italic;"&gt;BUSINESS VALUE&lt;/span&gt;&lt;what is="" needed=""&gt;&lt;role&gt;&lt;value&gt;&lt;br /&gt;&lt;br /&gt;For example:&lt;br /&gt;&lt;br /&gt;&lt;/value&gt;&lt;/role&gt;&lt;/what&gt;&lt;/what&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1BVwgGZKNf8/ScwGQbQmHnI/AAAAAAAAAD8/iboSK8HWhKY/s1600-h/P1010433.JPG"&gt;&lt;img style="float: right; margin: 0pt 0pt 10px 10px; cursor: pointer; width: 349px; height: 400px;" src="http://2.bp.blogspot.com/_1BVwgGZKNf8/ScwGQbQmHnI/AAAAAAAAAD8/iboSK8HWhKY/s400/P1010433.JPG" alt="" id="BLOGGER_PHOTO_ID_5317632139282751090" border="0" /&gt;&lt;/a&gt;I've been using this format on my last two projects and have been very happy so far.  I like how the story title has the important element coming first: What I Want.&lt;br /&gt;&lt;what&gt;&lt;what is="" needed=""&gt;&lt;role&gt;&lt;value&gt;&lt;br /&gt;Give it a try, and tell me what you think.  I'd love to here your comments.  Let's not try to describe  &lt;span style="font-style: italic;"&gt;Animal Farm&lt;/span&gt; by giving it  some meaningless number, unless we're talking about &lt;span style="font-style: italic;"&gt;1984&lt;/span&gt;.&lt;br /&gt;&lt;/value&gt;&lt;/role&gt;&lt;/what&gt;&lt;/what&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-5019826065645148599?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/5019826065645148599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2009/01/good-stories-have-great-titles.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/5019826065645148599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/5019826065645148599'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2009/01/good-stories-have-great-titles.html' title='Good stories have Great titles'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_1BVwgGZKNf8/ScQ_Xfw8EII/AAAAAAAAADs/iupdN5qc7UU/s72-c/R0012766.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-606944831666213124</id><published>2008-12-15T12:11:00.000-08:00</published><updated>2008-12-15T12:11:01.032-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='teamwork'/><category scheme='http://www.blogger.com/atom/ns#' term='Scrum'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><title type='text'>NO info DUMPING</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1BVwgGZKNf8/ST7SNgFHcwI/AAAAAAAAACQ/G3x7IhLYMRc/s1600-h/No+Info+Dumping.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 167px; height: 250px;" src="http://2.bp.blogspot.com/_1BVwgGZKNf8/ST7SNgFHcwI/AAAAAAAAACQ/G3x7IhLYMRc/s400/No+Info+Dumping.gif" alt="" id="BLOGGER_PHOTO_ID_5277886942716326658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;No Dumping&lt;/h1&gt;&lt;br /&gt;&lt;style type="text/css"&gt;  &lt;!--   @page { margin: 0.79in }   P { text-indent: 0.5in; margin-bottom: 0.08in; line-height: 150% }   H1 { margin-bottom: 0.08in }   H1.western { font-family: "Arial", sans-serif; font-size: 16pt }   H1.cjk { font-family: "MS Mincho"; font-size: 16pt }   H1.ctl { font-family: "Tahoma"; font-size: 16pt }  --&gt;  &lt;/style&gt;   &lt;p&gt;In the pursuit of good Karma, riches and fame, employees want to provide value to their employers and colleagues.  This leads to a compulsion towards DIY (do it yourself), which results in  project teams not working in pairs.  Working in pairs allows for superior information sharing but due to socialization of DIY, those who avoid pairing are not even conscious of the inefficient mechanisms that they have created to allow them to work alone.  One of these mechanisms is the info dump.&lt;/p&gt; &lt;h1 class="western"&gt;What is an info dump?&lt;/h1&gt; &lt;p&gt;The other day I was working at home and needed a stapler.  I knew it should be in my wife's office so I went there and looked in the drawer where it was supposed to be.  It wasn't there so I guessed that my wife, being a busy woman, possibly left it somewhere else.  I looked around on the desk and then on some shelves.  After five minutes had passed I realized I was going to waste a lot of time unless I got more information.  "Honey!  .  .  ."&lt;/p&gt; &lt;p&gt;She was in the living room busy doing work on her laptop.  I interrupted her and she knew right where the stapler should be.  She said she had left it in a pile of magazines shoved into a different drawer.  It took a while to describe the details of the information, which drawer, which desk, what corner to look in, but she eventually dumped the information on me and I went back into her office.  I tried to reproduce the steps but after some time I gave up and went back to the living room.  "No, not that drawer!" she said and she gave me further instructions.  I tried again until I was frustrated and asked her to come take a look.   &lt;/p&gt; &lt;p&gt;After a moment she said, "I remember using it when I was cutting out photos."  She opened another cabinet and looked.  It wasn't in there, but then I remember a pile of photo paper near the printer.  I pointed at the purple scissor handles sticking out from beneath the printer stand.  It only took a minute to find them!&lt;/p&gt; &lt;p&gt;Why did this work so well?     &lt;/p&gt; &lt;p&gt;As soon as she entered the room, the context of her surroundings jogged her memory of where she had last put it.  We were working with up to date information about the room.  She provided additional information where I could help because I was in the moment.  It took very little time when we worked together.  While trying to perform DIY, I used up over twenty minutes, randomized my wife's work, and I still didn't get the job done.   &lt;/p&gt; &lt;h1 class="western"&gt;Engineering&lt;/h1&gt; &lt;p&gt;Coworkers, bosses, and employees asking a small favor, they all want to get things done with minimal disruption to others.  People working on the same project often divide the work and then  DIY until they are really stuck like I was.  This leads to waste and each individual becomes a silo of information of how the work was performed.  This also leads to conflict when the team members integrate their work and their designs don't fit together.  Instead, if they immediately work together, their collaboration will result in a usable design.  When they each DIY, they heavily invest resources in each of their own designs so when they integrate their code, they have to decide who wins.  They both lose in the end since the project will finish only as fast as the slowest item of work.     &lt;/p&gt; &lt;h1 class="western"&gt;Conclusions&lt;/h1&gt; &lt;p&gt;Now that you know what in info dump is, watch for it in your office and you'll see it happen over and over.  Two people will get together to discuss adding functionality and invest time in one of the below Info Dump Anti-Patterns.  Each requires a significant amount of time and then also requires future iterations of doing it over again once new information is found.  From my experience, it always takes more time to use info dumps and try to work in parallel, than to serialize the work and have two parties work side by side at one workstation.  At that workstation, they execute a "doing" strategy where, in the moment of "doing", the pair can immediately discuss, make decisions, and execute; discuss, make decisions and execute; . . .  Below are some anti-patterns I've observed in the wild.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;style type="text/css"&gt;  &lt;!--   @page { margin: 0.79in }   P { text-indent: 0.5in; margin-bottom: 0.08in; line-height: 150% }   H1 { margin-bottom: 0.08in }   H1.western { font-family: "Arial", sans-serif; font-size: 16pt }   H1.cjk { font-family: "MS Mincho"; font-size: 16pt }   H1.ctl { font-family: "Tahoma"; font-size: 16pt }  --&gt;  &lt;/style&gt;  &lt;h1 class="western"&gt;&lt;br /&gt;&lt;/h1&gt;&lt;h1 class="western"&gt;Info Dump Anti-Patterns  &lt;/h1&gt; &lt;p&gt;Each pattern has two roles: the "implementer" (the person doing the work), and the expert (the person who has a little more history and more knowledge about how the work could be done).&lt;/p&gt; &lt;p&gt;&lt;b&gt;Mental Gymnastics&lt;/b&gt; - This occurs when two (or more) people discuss a coding related problem for 20 minutes or more.  It's not possible know the code base well enough to be this detailed.  The discussion will contain inaccuracies but the participants continue like it's some kind of limbering of the mind, or mental gymnastics.  Even more waste happens when these two gymnasts argue over their recollections on how the code operates.  When the gymnastics is over, the implementer goes to her workstation and within minutes, discovers that the code works differently than either of them thought.  At that point, she either redesigns a solution by herself (DIY) or goes back to the expert and updates him, and then they have another session of mental gymnastics.  I've seen this process repeated up to four times in one day.&lt;/p&gt; &lt;p style="line-height: 150%;"&gt;&lt;b&gt;Tome of Knowledge&lt;/b&gt; - The expert spends half the day (or more) writing a design document.  At best, it is written immediately after reviewing the code so the information is accurate on that day.  The tome is given to the implementer and hopefully the implementer does the work before the information is out of date.  Even with an up to date tome, the implementer's knowledge is incomplete and has to visit the expert for a session of mental gymnastics.&lt;/p&gt; &lt;p style="line-height: 150%;"&gt;&lt;b&gt;No Do, just Code Review&lt;/b&gt; - The expert and the implementer sit together at a workstation to learn how the code works.  The benefit is that the information is completely up to date and the session is interactive between the implementer and expert.  But since they don't actual "do" any coding, they perform mental gymnastics to predict design changes and guess at how the new functionality will hook in.  Ideally, the implementer immediately develops the code after the code review.  But before the hour is over, the implementer starts to find challenges in getting the code to work as expected.  So the implementer performs DIY or often needs to visit the expert for more mental gymnastics, tome updates, or code reviews.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-606944831666213124?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/606944831666213124/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/no-info-dumping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/606944831666213124'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/606944831666213124'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/no-info-dumping.html' title='NO info DUMPING'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1BVwgGZKNf8/ST7SNgFHcwI/AAAAAAAAACQ/G3x7IhLYMRc/s72-c/No+Info+Dumping.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-8384491799570074986</id><published>2008-12-04T14:17:00.000-08:00</published><updated>2008-12-09T11:02:33.246-08:00</updated><title type='text'>Agile's PR problem--people who don't do it right give Agile a bad name</title><content type='html'>Jim Shore posted an interesting blog, &lt;a href="http://jamesshore.com/Blog/The-Decline-and-Fall-of-Agile.html"&gt;The Decline and Fall of Agile&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;It's well thought out and genuine and I agree with him except saying it's the "decline and fall of agile" felt like a fear tactic to get notice.   (terror!)&lt;br /&gt;&lt;br /&gt;I'll go this far: Agile is going to have a PR problem.&lt;br /&gt;&lt;br /&gt;Scrum allows one to teach agile planning without agile engineering.&lt;br /&gt;Sometimes you can't fix everything at once.  When you go into an organization that is doing up-front (but not really since the requirements always change) and teach them to do agile, if you can get them to at least execute Scrum and have them doing it all rather than Scrum (but not really) you have improved the situation.&lt;br /&gt;&lt;br /&gt;Are they going to struggle if they aren't doing XP practices?  Hell yes.  Some of them evolve a little to automate their tests and many evolve to Water Scrum (a waterfall life-cycle during the sprint so two weeks development, two weeks of "stabilization for testing", terrible stuff really, but they do a lot of planning just like Jim said.  And that's an improvement because they have closer to truth about the state of things).&lt;br /&gt;&lt;br /&gt;Also, I have been involved in agile roll outs that teach both Scrum and XP.  It's really expensive to the organization to do booth, both in time and money.  I'm with Jim in saying that it's going to be cheaper in the long haul, but it does create a high barrier to winning business.&lt;br /&gt;&lt;br /&gt;The existence of consulting gigs to make Agile teams better is a better situation for the client because their mistakes are costing them less.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-8384491799570074986?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/8384491799570074986/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/agiles-pr-problem-people-who-dont-do-it.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/8384491799570074986'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/8384491799570074986'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/12/agiles-pr-problem-people-who-dont-do-it.html' title='Agile&apos;s PR problem--people who don&apos;t do it right give Agile a bad name'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-2176303483381476062</id><published>2008-11-10T09:45:00.000-08:00</published><updated>2008-11-10T12:39:31.782-08:00</updated><title type='text'>Just another Westside Story (the Wiki's versus Sharepoint)</title><content type='html'>There has been a battle at my company over how to store and disseminate knowledge.  We (speaking as a member of development) have used the Confluence wiki for many years and were happy with it.  But less technical staff such as managers, marketing, and sales really hated it.  So there was a shift at the IT management level to move everyone to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Sharepoint&lt;/span&gt;.  Their main argument was that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Sharepoint&lt;/span&gt; was free due to our MS licensing agreements.&lt;br /&gt; &lt;br /&gt;It turns out that it wasn't really free because it required many resources from IT to actually get the system up and running in an organized and useful fashion, and even then, development hated it because managing content using a word processor was heavy weight compared to editing a wiki page.  (Using a wiki page is nearly as simple as writing things down into a text file.)  The non-development types will disagree with this saying that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Sharepoint&lt;/span&gt; is easy because it is like a word processor, a tool they are familiar with.  But the type of work they do is more akin to publishing results where development uses a wiki for knowledge dissemination and creation, more akin to jotting down notes.  If it isn't quick and easy to do, developers will just live without doing it at all and this will create some efficiency losses.  For development tools, throughput is king, not tools for making things look pretty. &lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Sharepoint&lt;/span&gt; supporters will also say that there is a wiki in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Sharepoint&lt;/span&gt;.  But its really an abuse of the term.  It comes with a rich-text editor which gets in the way of everything that makes using a wiki nearly as easy as creating plain text files.  The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Sharepoint&lt;/span&gt; wiki is a great way to persuade everyone to retreat back to the word-file/upload/download paradigm that is native to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Sharepoint&lt;/span&gt;. &lt;br /&gt;This creates problem's in development.  The best team collaboration pattern is a community of cross-functional team members that change/maintain the team's knowledge sharing system with little effort.  (It's like Web2.0 content communities versus Web1.0 web pages.) &lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;IT's&lt;/span&gt; push to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;sharepoint&lt;/span&gt; caused some splinter groups in development: one faction moved to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Sharepoint&lt;/span&gt;, a faction of development stayed with Confluence (though under threat from IT that they would pull the plug), and a new faction organized around media-wiki. &lt;br /&gt;The later two groups formed out of frustration of using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Sharepoint&lt;/span&gt;. &lt;br /&gt;&lt;br /&gt;Recently, I was coaching one of the team's that kept their documentation in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Sharepoint&lt;/span&gt;.  Only one or two people bothered to put add/maintain information in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Sharepoint&lt;/span&gt;.  Many did use the site as readers.  This created a culture of very little documentation which was out of date.  When I moved some of their documentation to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;mediawiki&lt;/span&gt;, suddenly more people started updating any problems they saw and added more documentation.  It was amazing to see how using the right tool enabled this to happen. &lt;br /&gt;&lt;br /&gt;I've been working with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;wikis&lt;/span&gt; since 2001 and  one thing that holds true is that there is a small learning curve that some members of the team may not cross, unless they are pairing with someone to get them going.  I've found one simple exercise that quickly gets people using &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;wikis&lt;/span&gt; is to ask them to add their contact information to the team's wiki.  (Put it on the backlog if they aren't taking it seriously.)  To perform this &lt;a href="http://www.merriam-webster.com/dictionary/milk%20run"&gt;milk run&lt;/a&gt;, they are exposed to a few tools which gets them immediately productive, and with that critical mass knowledge, they know how to find more advanced features or how to use existing pages as pedagogical devices.  Learning from existing pages is a property that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Sharepoint&lt;/span&gt; lacks.  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Sharepoint&lt;/span&gt; relies on the usual hunting through menus and buttons because there isn't any "markup source" that can be used to learn from other people's postings.&lt;br /&gt;&lt;br /&gt;Remember that wiki means quick.  If a wiki doesn't fit this term, then find one that does.  Otherwise, no one will use it and that free &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Sharepoint&lt;/span&gt; tool is going to cost you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-2176303483381476062?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/2176303483381476062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/11/just-another-westside-story-wikis.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2176303483381476062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2176303483381476062'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/11/just-another-westside-story-wikis.html' title='Just another Westside Story (the Wiki&apos;s versus Sharepoint)'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-2673540987552929941</id><published>2008-10-14T17:42:00.000-07:00</published><updated>2011-08-09T08:37:59.904-07:00</updated><title type='text'>VBA script for cleaning .XLS when Gettings Stories out of Rally</title><content type='html'>Remember in a previous posting about &lt;a href="http://confessionsofanagilecoach.blogspot.com/2008/10/mail-merge-method-of-exporting-your.html"&gt;The Mail Merge method of exporting your stories from Rally&lt;/a&gt; where I complained about the work necessary to remove all the markup from the spreadsheet?  A listener to this agile confessional took it upon himself to create a VBA script to automate this step.  Let's give Pete Turner an Internet thanks for sharing!  :-)&lt;br /&gt;&lt;br /&gt;Paste the &lt;a href="http://www.LancerKind.com/wp-content/uploads/2011/08/vba_script_cleanup_xls_for_Rally_export.txt"&gt;VBA text file&lt;/a&gt; into your into your “personal macro workbook."  Yyou should be able to open with ALT+F11. If that doesn’t work, try unhiding it using View &gt; Window &gt; Unhide.&lt;br /&gt;You can run the macro with View &gt; Macros&lt;br /&gt;&lt;span&gt;&lt;span&gt;&lt;br /&gt;Have fun!&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-2673540987552929941?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/2673540987552929941/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/vba-script-for-cleaning-xls-when.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2673540987552929941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2673540987552929941'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/vba-script-for-cleaning-xls-when.html' title='VBA script for cleaning .XLS when Gettings Stories out of Rally'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-3802119386505745594</id><published>2008-10-03T14:25:00.000-07:00</published><updated>2008-10-07T23:27:57.142-07:00</updated><title type='text'>Maven: The coolest build tool ever!</title><content type='html'>I've been through the grinder on build tools: typing in VIC20 BASIC, building from the command line, building from .sh scripts, building from make, building from xmake, building from IDEs, building from nant.&lt;br /&gt;&lt;br /&gt;It's been a glorious twenty-eight years of software development (including grade school years of software development).  I've been hearing things about maven.  A few people love it; many don't like maven.  I've stayed away from the arguments and kept clinging to my Nant and Eclipse build tools, but now I've landed on a project that's using maven 2.0.9.  I have an excuse to dive in!&lt;br /&gt;And I really love it!&lt;br /&gt;&lt;br /&gt;It was tough at first, but when I look at the time I dumped into learning Make and its implied rules, it really wasn't so bad.  The documentation on "the internets" (thank you Mr. Bush) is pretty minimal, maybe enough if you already understand the big concepts.  There is a new book out this month that looks promising: &lt;a href="http://www.amazon.com/Maven-Definitive-Guide-Sonatype-Company/dp/0596517335/ref=pd_bbs_sr_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1223071112&amp;amp;sr=8-1"&gt;Maven: The Definitive Guide&lt;/a&gt;    With only the Internet, I probably would have stayed a frustrated Maven user except a smart cookie named Jeff Ramsdale gave a colleague and I a thirty minute intro.  To give back to the internets and to put my notes on maven somewhere, here is my high level understanding of organizing a maven project.  I'm sure you'll correct me by commenting if I'm out in the weeds.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Lifecylce&lt;/h3&gt;Maven drives everything via a lifecycle.  This &lt;a href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference"&gt;lifecycle is built into maven&lt;/a&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;tt&gt;validate&lt;/tt&gt; - validate the project is correct and all necessary information is available&lt;/li&gt;&lt;li&gt;&lt;tt&gt;compile&lt;/tt&gt; - compile the source code of the project&lt;/li&gt;&lt;li&gt;&lt;tt&gt;test&lt;/tt&gt; - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed&lt;/li&gt;&lt;li&gt;&lt;tt&gt;package&lt;/tt&gt; - take the compiled code and package it in its distributable format, such as a JAR.&lt;/li&gt;&lt;li&gt;&lt;tt&gt;integration-test&lt;/tt&gt; - process and deploy the package if necessary into an environment where integration tests can be run&lt;/li&gt;&lt;li&gt;&lt;tt&gt;verify&lt;/tt&gt; - run any checks to verify the package is valid and meets quality criteria&lt;/li&gt;&lt;li&gt;&lt;tt&gt;install&lt;/tt&gt; - install the package into the local repository, for use as a dependency in other projects locally&lt;/li&gt;&lt;li&gt;&lt;tt&gt;deploy&lt;/tt&gt; - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.&lt;/li&gt;&lt;/ol&gt;A portion of this lifecycle is called a phase, so the above is a list of phases.  Maven has a configuration file called a pom.xml.  When you invoke maven: &lt;span style="font-style: italic;"&gt;$mvn&lt;/span&gt;, it looks at the nearest pom.xml and by default, it uses the "install" lifecycle.  Since install is number 7 in the above list, maven goes through phases 1, 2, 3,...,7 and may perform operations based on what is in the pom.xml.  You can also do a &lt;span style="font-style: italic;"&gt;$mvn deploy&lt;/span&gt; and mention the phase right in the command line.&lt;br /&gt;&lt;h3&gt;Profiles&lt;/h3&gt;Profiles are an abstraction layer on top of the lifecyle.  Creating a profile allows you to create configurations which affect how things are done.  For example, on our project, we have some integration tests which take two hours to run and we have two integration tests that take ten seconds to run.  Before we check in, we want to run those quick integration tests but not the long ones.  So we explicitly named the two integration tests in the configuration for the surefire plugin (a junit test runner in maven) which runs the two quick integration tests in the integration_test phase when &lt;span style="font-style: italic;"&gt;$&lt;/span&gt;mvn is executed.&lt;br /&gt;&lt;br /&gt;For the slow integration tests, we created a profile "all_integration_tests" which re-configures the surefire plugin to include running the slower integration tests too (using the naming convention of *IntegrationTest.java) when &lt;span style="font-style: italic;"&gt;$&lt;/span&gt;mvn&lt;span style="font-style: italic;"&gt; -pall_integration_tests&lt;/span&gt; is executed.&lt;br /&gt;&lt;h3&gt;Goals&lt;/h3&gt;Goals are like arguments you use to tell a plug-in what to do. By the way, everything in maven is a plug-in so plug-in's are first class citizens in maven.  A goal is an argument that you pass to the plug-in.  I don't have more to say about goals because I haven't had to use them much.  :-)&lt;br /&gt;&lt;br /&gt;After all, you've gotta save something for later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-3802119386505745594?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/3802119386505745594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/maven-coolist-build-tool-ever.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/3802119386505745594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/3802119386505745594'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/maven-coolist-build-tool-ever.html' title='Maven: The coolest build tool ever!'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-4092550601664354430</id><published>2008-10-02T10:55:00.000-07:00</published><updated>2011-08-09T07:58:49.436-07:00</updated><title type='text'>The Mail Merge method of exporting your stories from Rally</title><content type='html'>Chris Sterling, a great agile coach who I get to work with, showed me how to export stories from Rally in a more sophisticated fashion than the &lt;a href="http://confessionsofanagilecoach.blogspot.com/2008/09/exporting-from-rally-to-task-cards.html"&gt;PowerPoint method&lt;/a&gt;.  These steps build upon what he had shown me.  Again, this is all about getting the story information out of Rally and into a physical medium which can be easily interacted with by a large group of people, thus removing impediments to collaboration when we are in the same physical space.&lt;br /&gt;&lt;br /&gt;This process will produce stories on "cards", two "cards" per sheet of paper.  Before the planning event, I use a cutting board to split the sheets into two.  I'd give myself an hour before the planning event to get through this process until you are experienced.&lt;br /&gt;&lt;h3&gt;Getting the stories out of Rally and into Excel&lt;/h3&gt;Use the same steps mentioned in the PowerPoint method and stop after doing the Processing the CSV with Excel step.  If you want a stack of cards at the end of this process that are sorted by rank, then make sure your spreadsheet is sorted by rank (or that Rally is sorted by rank) so you won't have to do this by hand.&lt;br /&gt;&lt;h3&gt;Setup the Mail Merge&lt;/h3&gt;The following directions describe how to do this in Word 2007.  &lt;a href="http://www.LancerKind.com/wp-content/uploads/2011/08/Template_for_printing_stories_using_mail_merge.doc"&gt;Download the mail merge template&lt;/a&gt; and open it into Word. The first time you open the file it will give you an error message saying: "Opening this document will run the following SQL command:" because it is trying to load up the .xls file which I used for mail merge.  You should tell it "No," though no harm is done if you say yes other than getting a cranky error message.&lt;br /&gt;&lt;br /&gt;In the toolbar, click on "Mailing".&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1BVwgGZKNf8/SOZieV_YgRI/AAAAAAAAABc/xmBS9Wm57dU/s1600-h/Picture+11.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://2.bp.blogspot.com/_1BVwgGZKNf8/SOZieV_YgRI/AAAAAAAAABc/xmBS9Wm57dU/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5252994288812851474" border="0" /&gt;&lt;/a&gt;The buttons in the "Mailing" toolbar are arranged in a type of life cycle arrangement.  Since I'm providing the template, you won't necessarily use all the buttons to get to the last one, "Finish &amp;amp; Merge."  Notice the merge fields, which are the groupings surrounded by "&lt;&lt;" and "&gt;&gt;".  These are the same as the column names in the .xls file.  The data that is inserted into the merg fields will match the font characteristics of the merge fields.&lt;br /&gt;&lt;h3&gt;Loading the Excel file &amp;amp; Preview&lt;/h3&gt;Because we are using a mail merge utility, it's wording things in the way of "mailings."  For us, our set of stories are mail recipients, so the language of the buttons is going to be weird.  Click "Select Recipients"-&gt;"Use Existing List" and select the .xls which was produced in the earlier step.&lt;br /&gt;Now you can click on "Preview Results" and see how things look.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1BVwgGZKNf8/SOZnV1v_k_I/AAAAAAAAABk/yDWWePeXaj8/s1600-h/Picture+13.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_1BVwgGZKNf8/SOZnV1v_k_I/AAAAAAAAABk/yDWWePeXaj8/s400/Picture+13.png" alt="" id="BLOGGER_PHOTO_ID_5252999640277554162" border="0" /&gt;&lt;/a&gt;Now you can exit the preview and adjust the styles as you want.  I made the first line largest and easiest to read and loaded it with what I've found to be the most important info we needed for planning.  I also crammed as much info as I could onto the sheet of paper.  You may have different needs so you may want to exit preview mode and edit the template.  The "«Next Record»" merge field means to populate the 2nd "card" on the sheet of paper with the next record.  Without this, you'll end up with two copies of the same "card" on each sheet of paper.  The darkened background uses up more printer toner, though the team I was working with was taping the "cards" to a white board so they wanted them to stand out.&lt;br /&gt;&lt;h3&gt;Finish &amp;amp; Merge&lt;/h3&gt;MSWord's mail merge preview has bugs so don't be surprised to see duplicate story cards show up.  A phenomena I've seen is where the last story on the virtual sheet, shows up as the first story on the next sheet.  This actually isn't the case.  Click "Finish &amp;amp; Merge"-&gt;"Edit individual documents" to prove this to yourself before selecting "Finish &amp;amp; Merge"-&gt;"Print documents..." and sending the job to the printer.&lt;br /&gt;&lt;br /&gt;Split the sheets in half with a cutting board, and find a roll of tape, and now you are ready for you planning event!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_1BVwgGZKNf8/SOZvBKWpgUI/AAAAAAAAABs/T9vCtyA_rM0/s1600-h/R0012764_2.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_1BVwgGZKNf8/SOZvBKWpgUI/AAAAAAAAABs/T9vCtyA_rM0/s400/R0012764_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5253008081124163906" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;h3&gt;Further Improvements&lt;/h3&gt;An impediment list can be made stronger by exposing the cost to our processes.  In the below list, the bigger the number the bigger the cost.  I'm using a geometric series.&lt;br /&gt;&lt;br /&gt;16 I'd like to avoid the "cleaning" of the markup from the spreadsheet.  Anyone know how to turn those Excel cells into something that accepts the markup?  Or perhaps there is a Rally configuration that will scrub that markup out of my .csv?&lt;br /&gt;&lt;br /&gt;2 I did this process a few times with Avery card stock but this seemed wasteful since there is a lot of paper boarders that aren't used and the cards, albeit nice and thick, aren't necessary.  It would be great to buy reams of paper which are perforated to tear in half.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; Thanks to Pete Turner, I've added a later posting about a VBA script which cleans up the .xsl file: &lt;a href="http://confessionsofanagilecoach.blogspot.com/2008/10/vba-script-for-cleaning-xls-when.html"&gt;VBA script for cleaning .XLS when Gettings Stories out of Rally.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-4092550601664354430?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/4092550601664354430/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/mail-merge-method-of-exporting-your.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/4092550601664354430'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/4092550601664354430'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/10/mail-merge-method-of-exporting-your.html' title='The Mail Merge method of exporting your stories from Rally'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1BVwgGZKNf8/SOZieV_YgRI/AAAAAAAAABc/xmBS9Wm57dU/s72-c/Picture+11.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-2508702320830695749</id><published>2008-09-24T14:44:00.000-07:00</published><updated>2008-10-02T11:02:13.618-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='task cards'/><category scheme='http://www.blogger.com/atom/ns#' term='power point'/><category scheme='http://www.blogger.com/atom/ns#' term='rally'/><title type='text'>Exporting From Rally to task cards--the Power Point method</title><content type='html'>Exporting from Rally is possible though not pleasant.  I spent at least 2 hours trying to work it out the first time with someone's help. Even after I got the the process down, it still takes about one hour.  In theory, I think I could do it in fifteen or thirty minutes, but every time I try, something comes up that I need to react to.   (Like printing off the wrong backlog.)  So I'd practice this once and then give your self at least an hour before the planning event to get ready.&lt;br /&gt;&lt;br /&gt;Here are the tools you need:&lt;ul&gt;&lt;li&gt;Rally -- This contains the backlog.  You'll need to create a custom view to get the "Description" on the card.  We'll use the CSV export feature.&lt;/li&gt;&lt;li&gt;Excel (or OpenOffice) -- Use this to clean up any formatting HTML that rally has exported, read in the CSV and then copy past the rows into Word.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Word (or OpenOffice) -- Use Word to create a .doc file.&lt;br /&gt;&lt;/li&gt;&lt;li&gt; Power Point (haven't tried this with OpenOffice's Present) -- Read in the word doc which will covert the content into slides, and then print the slides.&lt;/li&gt;&lt;/ul&gt;The steps to get a Rally backlog into cards/paper:&lt;h3&gt;Export to CSV&lt;/h3&gt;You need to show your backlog on a Rally view.   My favorite is at "Backlogs &amp;amp; Schedules"-&gt;"User Stories" because it seems to be the most flexible with filtering.  If that isn't good enough, you can create your own custom view.&lt;br /&gt;&lt;br /&gt;When you select Action-&gt;export to CSV, Rally will export whatever you are showing, in the order you are showing.  So if you are missing a column of information, like the story's description, you'll need to create a new view (see the icon with the plus above the Release column in Rally, circa 8/22/2008, use this to add what columns you need).  You'll probably want to sort by the *Rank* column.&lt;br /&gt;Columns I like to have in my custom "Export to CSV" view are : Rank, Formmatted ID, Name, Schedule State, Blocked, Description, Release, Plan Estimate, Notes, Iteration, Owner, Last Update Date.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1BVwgGZKNf8/SNsA6v8NSZI/AAAAAAAAAA0/qtQNTCgLdhI/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_1BVwgGZKNf8/SNsA6v8NSZI/AAAAAAAAAA0/qtQNTCgLdhI/s400/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5249790799931853202" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Processing the CSV with Excel&lt;br /&gt;&lt;/h3&gt;&lt;br /&gt;In Excel, open the CSV that you've exported.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_1BVwgGZKNf8/SNr-hiq-GaI/AAAAAAAAAAs/9Rt-V6PfIEo/s1600-h/excell.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://1.bp.blogspot.com/_1BVwgGZKNf8/SNr-hiq-GaI/AAAAAAAAAAs/9Rt-V6PfIEo/s400/excell.jpg" alt="" id="BLOGGER_PHOTO_ID_5249788167849908642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cleaning the RTF-markup from the Story Description&lt;/span&gt;&lt;br /&gt;If you've exported the story description, there is always some work in cleaning the data of rich-text markup.  Take a look at the description column and you'll see what I mean.&lt;br /&gt;If you've never used any of the rich-text features (bullets, underlining, copy and pasting from a rich-text document such as MSWord) then cleaning up any remaining formatting is tractable.&lt;br /&gt;Using Find-Replace-All, you can clean up the markup.  Replace the following with nothing:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1BVwgGZKNf8/SNrcSCcO54I/AAAAAAAAAAM/Nb-uqASgk2A/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_1BVwgGZKNf8/SNrcSCcO54I/AAAAAAAAAAM/Nb-uqASgk2A/s400/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5249750518104778626" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Replace the following with a space: "&amp;NBSP;"&lt;br /&gt;Look over the Description column and remove more choice bits of markup cluttering your data:&lt;br /&gt;&lt;h3&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_1BVwgGZKNf8/SNreKGpjFNI/AAAAAAAAAAc/2mIfYQtVVLU/s1600-h/Picture+3.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_1BVwgGZKNf8/SNreKGpjFNI/AAAAAAAAAAc/2mIfYQtVVLU/s400/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5249752580818670802" border="0" /&gt;&lt;/a&gt;&lt;/h3&gt; &lt;span style="font-size:100%;"&gt;Other things to do:&lt;/span&gt;&lt;br /&gt;If you exported the Blocked field from Rally, you'll want to select that excel column and do a find-replace-all on "True" to "blocked", and "False" to nothing.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Make a Word Document&lt;/h3&gt;Swap the excel columns so they show up in an order that makes sense, and delete the columns that you don't want.   Highlight the rows you want to print out, copy/paste them into a word processor, and then save the file to a MSWord .doc.&lt;br /&gt;&lt;h3&gt;Adjust the layout in Power Point&lt;/h3&gt;In Power Point (I'm using power point 2007), the name of the game is adjusting the format of the font so that it fits on the slides without pushing into the next slide.  When you get it looking pretty, print it.   What I do to get things looking good is edit the master slide to be one big text box and change the font size to about 20.  Then I leave the master slide view, go to the left hand slide selection area, do a ctrl-A, click on Layout-&gt;select my theme.  And then all the slides are using my theme.&lt;br /&gt;&lt;br /&gt;Power point is great if you are OK applying one formatting style to the whole slide.   Ideally, you want to produce something like in this:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_1BVwgGZKNf8/SNrend5lLpI/AAAAAAAAAAk/gFM49k4XwZY/s1600-h/R0012669_2.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer;" src="http://3.bp.blogspot.com/_1BVwgGZKNf8/SNrend5lLpI/AAAAAAAAAAk/gFM49k4XwZY/s400/R0012669_2.JPG" alt="" id="BLOGGER_PHOTO_ID_5249753085276139154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But I don't know how to apply different formatting to different sections of the slide using this method.  The only way I know how to do that is using Mail merge which I'll post about later.  With this method, you can get a backlog out of Rally and onto paper and then tape the paper on the walls for your agile planning events.&lt;br /&gt;&lt;br /&gt;If you know of any refinements to this or any other ways to get data out of Rally and onto cards or paper, then I beg you to comment!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-2508702320830695749?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/2508702320830695749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/09/exporting-from-rally-to-task-cards.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2508702320830695749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2508702320830695749'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/09/exporting-from-rally-to-task-cards.html' title='Exporting From Rally to task cards--the Power Point method'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_1BVwgGZKNf8/SNsA6v8NSZI/AAAAAAAAAA0/qtQNTCgLdhI/s72-c/Picture+7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-284399302764909932.post-2192380508632918591</id><published>2008-08-28T14:40:00.000-07:00</published><updated>2008-09-24T14:43:27.325-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='electronic planners'/><category scheme='http://www.blogger.com/atom/ns#' term='task boards'/><category scheme='http://www.blogger.com/atom/ns#' term='rally'/><title type='text'>A Tale of Tasks Boards and Electronic Project Planners</title><content type='html'>Using electronic tools for agile planning initially seems like a great idea:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;You have access to it anywhere you have access to the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;InterWeb&lt;/span&gt;,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You save environmental resources because you don't have to print things out,&lt;br /&gt;&lt;/li&gt;&lt;li&gt;You can quickly search through requirements since there is a DB,&lt;/li&gt;&lt;li&gt;Auditing and revision tracking can be applied so you can see what changed and pose the question to someone--why did you change to that?&lt;/li&gt;&lt;li&gt;You have a backup.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The problem with electronic planners is that:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;They are easier to ignore than a big task board.&lt;/li&gt;&lt;li&gt;They are hard to use by a group during a meeting.&lt;/li&gt;&lt;li&gt;They don't allow spacial organization where task boards can have layout schemes that fit the problem at hand.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;They suck the energy out of the users.  The activity of getting up out of your chair and moving things around on a wall gets the blood and energy flowing.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;They aren't as flexible.  Task boards are limited to the imagination where electronic tools are limited by the code.&lt;/li&gt;&lt;/ol&gt;When I started doing &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eXtremeProgramming&lt;/span&gt; in 1999, we only used a task board.  Today, many projects I work on use tools like Rally because nine times out of ten, we work with an &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;off site&lt;/span&gt; product owner.  This sucks and slows us down, but using Rally gives the product owner a way to manage the backlog.&lt;br /&gt;&lt;br /&gt;Using Rally becomes an impediment when the product owner and team can meet and work together on release planning, backlog grooming, and sprint planning, because during these meetings, physical cards really get things done faster and with more energy than using Rally (with a project).  Remember a principle of agile is interaction over documentation, and fiddling with Rally is much less interactive and quickly feels more like a document review than a discussion over acceptance criteria on a story.&lt;br /&gt;&lt;br /&gt;It's critical that electronic planning tools make it easy to convert to physical collateral which can be worked with in our three dimensional space where it can be slapped on a wall via a sticky, (or a card with tape) and moved around. &lt;br /&gt;&lt;br /&gt;This isn't easy to do in &lt;a href="http://Rallydev.com"&gt;Rally&lt;/a&gt;.  But it is possible.  Watch for my upcoming posts on this topic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/284399302764909932-2192380508632918591?l=confessionsofanagilecoach.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://confessionsofanagilecoach.blogspot.com/feeds/2192380508632918591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/08/tale-of-tasks-boards-and-electronic.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2192380508632918591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/284399302764909932/posts/default/2192380508632918591'/><link rel='alternate' type='text/html' href='http://confessionsofanagilecoach.blogspot.com/2008/08/tale-of-tasks-boards-and-electronic.html' title='A Tale of Tasks Boards and Electronic Project Planners'/><author><name>Lance</name><uri>http://www.blogger.com/profile/17911134415607573037</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://4.bp.blogspot.com/_1BVwgGZKNf8/SOfceD02WKI/AAAAAAAAAB4/lHI7Gim76bk/S220/IMG_3251.JPG'/></author><thr:total>0</thr:total></entry></feed>
