<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>effective software development</title>
    <link>http://dnicolet1.tripod.com/agile/</link>
    <description></description>
    <lastBuildDate>Wed,  3 Dec 2008 14:06:36 -0500</lastBuildDate>
    <language>en-us</language>
    <docs>http://backend.userland.com/rss</docs>
    
    <item>
      <title>Manager&amp;#39;s Introduction to TDD video is online</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861770</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861770</guid>

      <description>&lt;br&gt;&lt;p&gt; &lt;a href=&quot;http://www.infoq.com&quot;&gt;InfoQ&lt;/a&gt; made a video of the presentation &lt;a href=&quot;http://www.linkedin.com/in/karlscotland&quot;&gt;Karl Scotland&lt;/a&gt; and I gave of the &lt;a href=&quot;http://davenicolette.wikispaces.com/TDD+for+Managers&quot;&gt;Manager&amp;#39;s Introduction to Test-Driven Development&lt;/a&gt; sesion at &lt;a href=&quot;http://www.agile2008.org&quot;&gt;Agile2008&lt;/a&gt; in Toronto last August. They have put the video online on their site at this URL: &lt;a href=&quot;http://www.infoq.com/presentations/TDD-Managers-Nicolette-Scotland&quot;&gt;http://www.infoq.com/presentations/TDD-Managers-Nicolette-Scotland&lt;/a&gt;. You can download the accompanying materials from here: &lt;a href=&quot;http://davenicolette.wikispaces.com/TDD+for+Managers&quot;&gt;http://davenicolette.wikispaces.com/TDD+for+Managers&lt;/a&gt;. Karl and I hope you will find it useful. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861770</comments>
	
      <pubDate>Tue,  2 Dec 2008 15:15:56 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>Whose line item is it, anyway?</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861701</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861701</guid>

      <description>&lt;br&gt;&lt;p&gt; Not long ago, &lt;a href=&quot;http://www.davenicolette.net/agile/index.blog/1847906/a-common-yardstick-for-comparing-business-value-delivered-by-different-development-methods/&quot;&gt;I wrote&lt;/a&gt; that &lt;em&gt;value&lt;/em&gt; has to mean &lt;em&gt;business value&lt;/em&gt;, and &lt;em&gt;business value&lt;/em&gt; has to mean &lt;em&gt;return on investment&lt;/em&gt;. I also asserted that &lt;a href=&quot;http://www.functionpoints.com&quot;&gt;Function Points&lt;/a&gt; would not be a meaningful way to measure agile software projects, since with adaptive development methods we don&amp;#39;t know in advance how many of each type of &amp;quot;function&amp;quot; there will be in the finished product. Since then, I&amp;#39;ve had cause to reconsider these opinions. &lt;/p&gt; &lt;p&gt; I still think that business value primarily means &lt;em&gt;return on investment&lt;/em&gt;, although a business enterprise may value other considerations besides return, such as market share, employee retention, environmental stewardship, community relations, and (in some cases) ethics. I still think that &lt;a href=&quot;http://en.wikipedia.org/wiki/Throughput_accounting&quot;&gt;Throughput Accounting&lt;/a&gt; represents a simple and meaningful approach to calculating return on investment (even if we have to pretend the project budget is equivalent to the &amp;quot;sales price&amp;quot; of the software). I still think that &lt;a href=&quot;http://www.netobjectives.com/blogs/calculating-earned-business-value-for-an-agile-project-a-new-metric&quot;&gt;Earned Business Value&lt;/a&gt; (even if it is based on subjective, customer-defined relative weighting of features or stories) offers a realistic and practical measure of the business value delivered by a software project.  &lt;/p&gt; &lt;p&gt; What I have learned, however, is that not everyone thinks like a business person. There is another concept of &amp;quot;value&amp;quot; we have to take into consideration in order to satisfy certain stakeholders. Some stakeholders value &lt;em&gt;productivity&lt;/em&gt;. &lt;/p&gt; &lt;p&gt; &lt;em&gt;Productivity&lt;/em&gt; is a dangerous word. A single-minded focus on productivity can easily lead to the problem of &lt;em&gt;local optimization&lt;/em&gt;. If a team or an organization works in specialized silos with hand-offs of interim artifacts via work-in-process queues (the most typical model today), then when each silo concentrates on maximizing its own productivity the inevitable result will be local optimization, with all its detrimental effects on the organization&amp;#39;s ability to deliver value to its customers. So, you may well question the wisdom of valuing productivity for its own sake. As is true of so many issues, it&amp;#39;s all a question of context. &lt;/p&gt; &lt;p&gt; Given present economic circumstances, a business person will look at the IT portfolio of his/her company and ask, &amp;quot;Which of these initiatives can we discard?&amp;quot; This is because the business person is responsible for revenue generation, cash flow, and profitability. The person in charge of the IT department asks a very different question. He/she asks, &amp;quot;How can I carry out all these initiatives with a smaller staff, lower budget, and shorter timelines?&amp;quot; Why does he/she not consider trimming the portfolio? Because IT management is not responsible for revenue generation, cash flow, and profitability. IT management is responsible for managing a fixed budget and carrying out the tasks that have been assigned. That is how their job performance is measured. &lt;/p&gt; &lt;p&gt; Therefore, the approach we take to quantifying and demonstrating &lt;em&gt;value&lt;/em&gt; must depend on the audience who will consume the information. If we are dealing with business management, then the tools I wrote about before will be sound choices. If we are dealing with IT management, then we need something different. We need to be able to show differences in productivity based on which software development methodology is applied. The key to that sort of comparison turns out to be our old friend, Function Points.  &lt;/p&gt; &lt;p&gt; A couple of colleagues set me straight about a few things. Most of the people we interact with when trying to describe the value of adaptive methods such as &amp;quot;agile&amp;quot; and &amp;quot;lean&amp;quot; software development are in IT management roles, not business managment roles. They have a cost center mentality, not a profit center mentality. They are measured on how well they execute against the IT portfolio, not on their judgment of which initiatives are worthwhile. Typically, they know exactly where they stand with respect to their budget burn-down for the fiscal year, but they have no idea of the true costs of software development and delivery. The last thing they would relate to is an analysis of return on investment; after all, they &lt;em&gt;live&lt;/em&gt; in the world the Standish Group found delivers about $0.59 for every $1.00 spent, on average. It would be too painful for them to know their own numbers, let alone to do a hard-nosed business value calculation based on those numbers. What they &lt;em&gt;do&lt;/em&gt; care about is how effectively they can deliver the projects that have been assigned to them. That is, they care about &lt;em&gt;productivity&lt;/em&gt; &amp;mdash; how to deliver more projects in less time with fewer people and less money.  &lt;/p&gt; &lt;p&gt; A colleague of mine, &lt;a href=&quot;http://www.linkedin.com/ppl/webprofile?action=vmi&amp;amp;id=10505249&quot;&gt;Mark Smith&lt;/a&gt;, suggests using Function Points as a common yardstick for measuring productivity. While it is true that agile development projects don&amp;#39;t use Function Points &lt;em&gt;during development&lt;/em&gt;, it is also true that any finished software product can be measured in terms of Function Points. It&amp;#39;s possible to count the Function Points in a product regardless of the methodology that was used to create the software. Furthermore, Function Point counting is an ISO standard, it has an official governing body that certifies Function Point counters, and it has a long history of widespread use in the IT industry. In other words, IT managers already understand Function Points. We can talk to them about &amp;quot;value&amp;quot; in familiar terms; they needn&amp;#39;t learn about Throughput Accounting or Earned Business Value just to have a conversation about value.  &lt;/p&gt; &lt;p&gt; Depending on your audience, you may want to express the value of agile and lean methods in terms of real business value, or you may want to express it in terms of relative effectiveness for delivering IT projects. For the latter purpose, Function Points are a practical and realistic basis for measurement and comparison. &lt;/p&gt;&lt;p&gt;You could say (hypothetically) that a team using a waterfall process can deliver 10,000 FP in 12 months with a team of 25 at a cost of $2,000,000, while a team using an agile process can deliver 10,000 FP in 6 months with a team of 8 at a cost of $300,000. That sort of comparison would be meaningful to an IT manager. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861701</comments>
	
      <pubDate>Tue,  2 Dec 2008 10:59:16 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>Refactorings in gro&amp;amp;szlig;en Softwareprojekten</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861689</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861689</guid>

      <description>&lt;br&gt;&lt;p&gt; &lt;a href=&quot;http://www.thalia.de/shop/buch_startseite_thalia/suchartikel/refactorings_in_grossen_softwareprojekten/martin_lippert/ISBN3-89864-207-0/ID4629754.html?jumpId=7101266&quot;&gt;&lt;em&gt;Refactorings in gro&amp;szlig;en Softwareprojekten&lt;/em&gt;&lt;/a&gt; by &lt;a href=&quot;http://www.stefanroock.de&quot;&gt;Stefan Roock&lt;/a&gt; and &lt;a href=&quot;http://www.martinlippert.com&quot;&gt;Martin Lippert&lt;/a&gt; is a welcome addition to the literature in the area of scaling agile in large enterprises. It&amp;#39;s not a new book &amp;mdash; it was published in 2004 &amp;mdash; but I&amp;#39;ve only just discovered it recently, and I wanted to be sure people are aware of it. &lt;/p&gt; &lt;p&gt; Other books on the subject of agile-in-the-large focus on either management and governance issues or on the challenges of agile adoption. This book addresses an important aspect of the application of agile thinking and principles to enterprise IT: Refactoring for incremental improvement of enterprise architecture. The title may be a bit misleading, in that problems of architectural refactoring often affect an organization&amp;#39;s technical infrastructure as a whole. As such, they are not really project-related problems; not even for relatively large projects. The authors introduce specific &lt;em&gt;architectural smells&lt;/em&gt; and suggest specific refactorings to deal with each smell. They cover issues that are usually (but not always) beyond the scope of individual software development projects. &lt;/p&gt; &lt;p&gt; The authors cover topics not usually discussed in books about agile software development, including database refactoring and refactoring of published APIs. While they make an effort to keep the material at a general level, the authors&amp;#39; deep experience with Java colors the material. For example, they mention cyclic dependencies between packages as a general architectural smell, while it is a problem that almost always occurs in products written in Java. In my view, the Java focus takes nothing away from the general value of the authors&amp;#39; advice. Most of the issues they raise are not language-specific.   &lt;/p&gt; &lt;p&gt; The specific refactoring advice is based on fundamental principles of object orientation. This is a strong and proven basis for building robust, reliable, and performant technical infrastructures and complex solutions. The authors describe several key principles such as &lt;em&gt;separation of concerns&lt;/em&gt;, &lt;em&gt;don&amp;#39;t repeat yourself&lt;/em&gt;, and the &lt;em&gt;open-closed principle&lt;/em&gt;. I was surprised that they do not mention one of the most important fundamental OO principles: the &lt;em&gt;single responsibility principle&lt;/em&gt;. I call SRP &amp;quot;fundamental&amp;quot; because several other commonly-cited principles can be derived from SRP in obvious ways. Thus, including SRP would have kept the list shorter. SRP applies very naturally at the level of enterprise and solution architecture. Just as a class should have a single responsibility, so should a component and so should an architectural layer. Even so, the authors do not overlook anything because SRP is omitted from their list of principles.  &lt;/p&gt; &lt;p&gt; I recommend this book for anyone who has an interest in large-scale agile in an enterprise IT context. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861689</comments>
	
      <pubDate>Tue,  2 Dec 2008 09:28:34 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>Fertig ist fertig</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861686</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861686</guid>

      <description>&lt;br&gt;&lt;p&gt; Sometimes, when a concept is described using different words than you usually use, it causes you to look at the concept with a fresh eye. In the Scrum workshop at XP Days Germany, the last column on the task board was labeled &lt;em&gt;fertig&lt;/em&gt;, which translates into English as &amp;quot;ready.&amp;quot; When I read it, I wondered in which sense the presenters meant it: Ready for testing? Ready for deployment? Ready for actual use? One of the participants asked about it, and the answer was that &amp;quot;ready&amp;quot; means ready for use by the end user.  &lt;/p&gt; &lt;p&gt; Of course, that is exactly what it &lt;em&gt;should&lt;/em&gt; mean. Unfortunately, a lot of agile teams have fallen into the routine of treating a story as &amp;quot;ready&amp;quot; or &amp;quot;done&amp;quot; as soon as they have taken the work as far as they can before encountering a dependency on something or someone outside the project team. Many development teams in the US treat stories as &amp;quot;ready&amp;quot; when all they really mean is &amp;quot;ready for acceptance testing&amp;quot; or &amp;quot;ready to wait in a work-in-process queue indefinitely before deployment.&amp;quot; We&amp;#39;ve been creating more and more definitions of &amp;quot;done&amp;quot; so that we can ignore organizational constraints that prevent us from taking a story all the way to &lt;em&gt;fertig&lt;/em&gt;, and so that we can claim credit for some number of story points greater than zero. We talk about &lt;em&gt;done&lt;/em&gt;, &lt;em&gt;done-done&lt;/em&gt;, and (yes, I&amp;#39;ve seen this in writing) &lt;em&gt;done-done-done&lt;/em&gt; as if there were really multiple definitions of &amp;quot;done.&amp;quot;  &lt;/p&gt; &lt;p&gt; What we&amp;#39;re doing is surrendering to present-day organizational dysfunction, and pretending &lt;em&gt;done&lt;/em&gt; is okay, because it&amp;#39;s all the development team can control directly. The effort and time required to correct the underlying organizational dysfunction is too great; the development team must focus on delivering the product. &lt;em&gt;Done-done&lt;/em&gt; sure would be nice, but since it&amp;#39;s not achievable we&amp;#39;ll just redefine &lt;em&gt;done&lt;/em&gt; so we can collect our story points and show a non-zero velocity for the iteration. Instead of re-shaping the organization to accommodate agile work, we re-shape ourselves to conform with whatever the present-day realities happen to be. While that may be the course of least resistance in many cases, it doesn&amp;#39;t help advance the state of the art of IT.  &lt;/p&gt; &lt;p&gt; Hey, no one said it was going to be easy. As &lt;a href=&quot;http://en.wikipedia.org/wiki/Super_Chicken&quot;&gt;Super Chicken&lt;/a&gt; said to his sidekick, Fred: &amp;quot;You knew the job was dangerous when you took it, Fred.&amp;quot; &lt;/p&gt; &lt;p&gt; Fertig ist fertig: Ready is ready. Anything short of that is...well, it&amp;#39;s &lt;em&gt;nicht fertig&lt;/em&gt;. When we compromise on this point we&amp;#39;re not fooling anyone but ourselves.  &lt;/p&gt;&lt;p&gt;On edit: Normally, I leave minor errors alone. After all, it&amp;#39;s only a blog. But writing &lt;em&gt;vertig&lt;/em&gt; instead of &lt;em&gt;fertig&lt;/em&gt; was just too stupid. I &lt;em&gt;had&lt;/em&gt; to go back and correct it! &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861686</comments>
	
      <pubDate>Wed,  3 Dec 2008 14:06:36 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>Ich bin ein Hamburger</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861685</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861685</guid>

      <description>&lt;br&gt;&lt;p&gt; Just back from Hamburg, where I participated in &lt;a href=&quot;http://www.xpdays.de/2008/de/index.html&quot;&gt;XP Days Germany&lt;/a&gt; for the third consecutive year. As always, it was a highly interactive and enriching experience for all. My day started with an &lt;a href=&quot;http://www.xpdays.de/2008/sessions/praxis_erleben.html&quot;&gt;introductory Scrum workshop&lt;/a&gt; conducted by &lt;a href=&quot;http://www.coldewey.com/&quot;&gt;Jens Coldewey&lt;/a&gt; and &lt;a href=&quot;http://www.linkedin.com/in/berndschiffer&quot;&gt;Bernd Schiffer&lt;/a&gt;. There were a couple of experienced people, but mostly the group consisted of people who had heard positive things about agile development and wanted to get a taste of it. One of the User Stories for the workshop read, &amp;quot;Spa&amp;szlig; haben.&amp;quot; Personally, I thought that should have been a non-functional requirement; otherwise, once the story was deemed &amp;quot;done&amp;quot; we would have to stop having fun. Fortunately, that didn&amp;#39;t happen. We had a lot of fun building a shuttle docking station for a Mars base out of Legos&amp;reg;. I&amp;#39;m not sure participants got a realistic sense of how Scrum works, but at least there was ample Spa&amp;szlig; to go around. My perspective may be a bit biased, but I think our team&amp;#39;s base was the best.  &lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.scrum-master.de/&quot;&gt;Alexander Kriegisch&lt;/a&gt;&amp;#39;s presentation, &lt;a href=&quot;http://www.xpdays.de/2008/sessions/Multi_Projektmanagement.html&quot;&gt;Agiles Multi-Projektmanagement - weniger ist mehr&lt;/a&gt;, dealt with the problem of keeping multiple interrelated projects in sync, whether using a single overarching backlog or separate backlogs per project. He presented techniques based on Critical Chain Project Management and Theory of Constraints with the theme, &amp;quot;less is more.&amp;quot; &lt;/p&gt; &lt;p&gt; Joseph Pelrine presented a condensed version of his one-day workshop, &lt;a href=&quot;http://www.xpdays.de/2008/sessions/Self_Organizing.html&quot;&gt;Coaching Self-Organizing Teams&lt;/a&gt;. I&amp;#39;ve had the pleasure of attending a couple of longer presentations of this material, and I learn something new every time. This is probably one of the most informative and unique sessions making the rounds of conferences in the past few years. If you get a chance to attend one of these, do yourself a favor and make time for it.  &lt;/p&gt; &lt;p&gt; The organizers made sure first-time presenters had an opportunity to run sessions. I think this is a great idea that helps build competence in the community. It would be even better if some of these presenters received a bit of coaching about effective presentation techniques. Some of the presentations, although well-researched and thoroughly prepared, consisted of sleep-inducing &amp;quot;slide shows&amp;quot; in which the speaker merely read bullet points from the presentation slides. The only thing that kept me awake was the sheer effort it took for me to follow what was being said in German. Coming directly from &lt;a href=&quot;http://www.xpday.net&quot;&gt;XP Days Benelux&lt;/a&gt;, with its strong emphasis on interactive and highly engaging session formats, the contrast was all the more dramatic. This is not a major criticism; it&amp;#39;s just a question of experience. These new presenters will improve with practice. &lt;/p&gt; &lt;p&gt; &lt;a href=&quot;http://www.linkedin.com/in/lassekoskela&quot;&gt;Lasse Koskela&lt;/a&gt; and I were scheduled to present &lt;a href=&quot;http://www.xpdays.de/2008/sessions/Resistance_Change.html&quot;&gt;Overcoming Resistance to Change&lt;/a&gt;, a session we co-developed last year and that we have presented a number of times since. Unfortunately, Lasse was ill and could not attend. I gave the session on my own, and it seemed to go fairly well. As usual, the clock ran out before the material did. There were a lot of questions and discussion afterwards, and the organizers had to shoo us out of the way to make room for the next presenters. It seems change agents in German companies are facing many of the same challenges as those in US companies. Exchanging information and experiences between these two communities could bring benefits to both. &lt;/p&gt; &lt;p&gt; Congratulations to the organizers on preparing another great conference. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861685</comments>
	
      <pubDate>Tue,  2 Dec 2008 09:22:22 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>XP Days Benelux 2008: One more thing...</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861684</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1861684</guid>

      <description>&lt;br&gt;&lt;p&gt; Another example of agile thinking in action: The &lt;a href=&quot;http://www.xpday.net/Xpday2008/Retrospective.html&quot;&gt;feedback forms&lt;/a&gt; for the conference were published last Tuesday; the second working day after the conference ended. What other conference do you know of that turns feedback around that quickly? Kudos to the organizers, once again. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1861684</comments>
	
      <pubDate>Tue,  2 Dec 2008 09:21:15 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>XP Days Benelux 2008: Personal highlights</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859956</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859956</guid>

      <description>&lt;br&gt;&lt;h3&gt;Agile Metrics&lt;/h3&gt;  &lt;p&gt; My session on &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/Agile%20Metrics.html&quot;&gt;Agile Metrics&lt;/a&gt; was well attended and well received. How do I know it was well received? First, no one got up and left in the middle of it. Second, we had a retrospective at the end of each day, &lt;a href=&quot;http://www.davenicolette.net/agile/index.blog/1859812/xp-days-benelux-2008/&quot;&gt;remember?&lt;/a&gt;. I&amp;#39;ve never gotten through all the material for this session, and this time was no exception. It isn&amp;#39;t only because of time constraints. It&amp;#39;s mainly because the presentation generates a lot of questions and discussion. I like it that way, because I&amp;#39;m more of a down-to-earth person than a theorist. Given some basic information, participants always have interesting questions about how to apply metrics in their own situations. In this case, there were over 30 participants and quite a bit of good discussion. Many people approached me after the session to ask where they could download the slides and sample spreadsheets. In case you&amp;#39;re interested, the answer to that question is &lt;a href=&quot;http://davenicolette.wikispaces.com/Agile+Metrics&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;  &lt;h3&gt;Overcoming Resistance to Change&lt;/h3&gt;  &lt;p&gt; This is a &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/Overcoming%20Resistance%20to%20Change.html&quot;&gt;session&lt;/a&gt; &lt;a href=&quot;http://www.linkedin.com/profile?viewProfile=&amp;amp;key=63183&quot;&gt;Lasse Koskela&lt;/a&gt; and I developed last year, and that we&amp;#39;ve presented several times since then. The session explores the types of resistance a change agent may encounter, the forms it may take, the various groups in an organization that may resist certain changes, their reasons and how to discover them (because they don&amp;#39;t tell you their reasons, and sometimes they don&amp;#39;t understand the real reasons themselves), and specific techniques to alleviate their concerns and encourage their support for the change. We were expecting about 20 people, and we set up the room with tables for five groups. We actually had around 33 participants. The room was a bit crowded, but everyone stayed and everyone participated actively. It seemed to go very well. Several participants told us they got value from the session and they learned some things they could apply. That&amp;#39;s just what I always hope for. If you want the materials for this one, they&amp;#39;re &lt;a href=&quot;https://davenicolette.wikispaces.com/Overcoming+Resistance+to+Change&quot;&gt;here&lt;/a&gt;.  &lt;/p&gt;  &lt;h3&gt;Interesting conversations&lt;/h3&gt;  &lt;p&gt; &lt;em&gt;Agile vs. waterfall?&lt;/em&gt; &lt;/p&gt;  &lt;p&gt; In an earlier post, I &lt;a href=&quot;http://www.davenicolette.net/agile/index.blog/1859936/xp-days-benelux-2008-seeking-to-perceive-more-than-to-be-perceived&quot;&gt;mentioned&lt;/a&gt; that the participants in the workshop in the session, &lt;em&gt;Seeking to Perceive More Than to Be Perceived&lt;/em&gt;, were asked to identify an improvement that could be made to next year&amp;#39;s conference and to come up with a plan to achieve it, but I didn&amp;#39;t say what improvement they decided on. They thought it would be a good idea to invite a prominent anti-agilist to present the case against agile development.  &lt;/p&gt; &lt;p&gt; After the session, several of us talked about the implications of that. I asked pointedly whether they really believed there was a &amp;quot;community&amp;quot; of like-minded individuals out there who self-identified as &amp;quot;waterfallists&amp;quot; and who would think this sort of debate would make any sense. It seemed to me some people were building walls to shut out people who don&amp;#39;t think the same way; there was a lot of &amp;quot;we vs. they&amp;quot; thinking and word choices.  &lt;/p&gt; &lt;p&gt; I think this is a counterproductive approach because it encourages the myth that there is some sort of &lt;a href=&quot;http://jim.webber.name/2006/11/30/a7ccc5a7-08a8-4594-a347-5f78e13f04f2.aspx&quot;&gt;&amp;quot;agile religion&amp;quot;&lt;/a&gt; that people follow because they &amp;quot;believe&amp;quot; in a rigidly-defined &amp;quot;dogma.&amp;quot; If you follow the link in the last sentence, you&amp;#39;ll notice a number of rather odd misconceptions about what the blogger thinks agile means. His opinions are not unique. It isn&amp;#39;t helpful to encourage or reinforce misconceptions like those. There is no real division between software professionals along this imaginary agile fault line. I&amp;#39;m sure most professionals know our industry has suffered from a number of endemic problems: Long lead times, cost overruns, schedule slippage, features delivered that are never used, and many more. We&amp;#39;re all interested in discovering ways to improve things. There&amp;#39;s no one who &amp;quot;believes&amp;quot; in agile. There&amp;#39;s no one who &amp;quot;believes&amp;quot; in waterfall. A confrontational &amp;quot;agile vs. waterfall&amp;quot; debate would only create needless problems.  &lt;/p&gt; &lt;p&gt; Apart from being totally meaningless to begin with, the notion of a conference track to explore weaknesses in the agile approach is not new. One of the &amp;quot;stages&amp;quot; at &lt;a href=&quot;http://www.agile2008.org&quot;&gt;Agile2008&lt;/a&gt; this year was &lt;a href=&quot;http://www.agile2008.org/stage-questioning.html&quot;&gt;Questioning Agile&lt;/a&gt;. It was far more constructive in spirit and implementation than the idea of inviting a pro-waterfall speaker to an anti-waterfall conference.  &lt;/p&gt;  &lt;p&gt; &lt;em&gt;Is the profession forking?&lt;/em&gt; &lt;/p&gt;  &lt;p&gt; After the session, &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/Invariant%20Game.html&quot;&gt;The Invariant Game&lt;/a&gt;, presented by &lt;a href=&quot;http://matteo.vaccari.name&quot;&gt;Matteo Vaccari&lt;/a&gt;, Matteo and Laurent noted that the participants in the workshop found the material very advanced and challenging, while the two of them felt it was rather basic computer science. Some of the participants had commented that going through the exercise of defining invariants didn&amp;#39;t help them craft meaningful unit tests. Instead, it just felt like doing the same work twice &amp;mdash; once to create an abstract representation of the invariant, and again to write the unit test; and defining the invariant was actually much harder than writing the unit test. So, why not just write the unit test? That&amp;#39;s the useful artifact we&amp;#39;re trying to get to, isn&amp;#39;t it? &lt;/p&gt; &lt;p&gt; All this led Laurent to speculate that the profession may be forking into two species of software developers &amp;mdash; one that just assembles building blocks into routine solutions, and one that understands how to apply logic and computer science to complex problems. He wonders whether programmers are losing some of the intellectual rigor that used to be mandatory for success in the field, since solutions to most of the basic programming problems are available in libraries and solution developers can simply call them without understanding the logic behind them.  &lt;/p&gt; &lt;p&gt; I commented that it sounded like a classic science fiction theme: A future society whose members have forgotten how to maintain the technology on which they have come to depend for their survival. Laurent said, &amp;quot;Like the Morlocks. Yes.&amp;quot; As an American of a certain generation, I was actually thinking of Star Trek. Specifically, the 1968 episode from the original series entitled, &lt;a href=&quot;http://memory-alpha.org/en/wiki/Spock%27s_Brain_(episode)&quot;&gt;&lt;em&gt;Spock&amp;#39;s Brain&lt;/em&gt;&lt;/a&gt;. &amp;quot;Brain and brain! What is brain?&amp;quot; Or: &amp;quot;Invariant and invariant! What is invariant?&amp;quot;  &lt;/p&gt;  &lt;h3&gt;Aikido fun&lt;/h3&gt;  &lt;p&gt; Consultant &lt;a href=&quot;http://www.linkedin.com/in/oliviercosta&quot;&gt;Olivier Costa&lt;/a&gt; is a student of aikido. He and his sensei, &lt;a href=&quot;http://www.warenatuur.be/WareNatuur/default.html&quot;&gt;Frank Vanhoeck&lt;/a&gt;, gave us a &lt;a href=&quot;http://www.xpday.net/Xpday2008/Working%20with%20Resistance.html&quot;&gt;quick and dirty session of aikido exercises&lt;/a&gt; after the day&amp;#39;s events on Wednesday. It was great. I felt more relaxed and yet more energetic and clear-minded at the same time. And happy. Those are the effects of this sort of practice. And it&amp;#39;s absolutely relevant to &lt;a href=&quot;http://www.davenicolette.net/taosoft&quot;&gt;software development&lt;/a&gt;. Maybe it should become a standard expectation of software professionals to begin each day with aikido practice, or tai chi, or something along those lines. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1859956</comments>
	
      <pubDate>Mon, 24 Nov 2008 16:11:57 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>XP Days Benelux 2008: Seeking to Perceive More Than to Be Perceived</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859936</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859936</guid>

      <description>&lt;br&gt;&lt;p&gt; The &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/Seeking%20to%20Perceive%20More.html&quot;&gt;session description&lt;/a&gt;&amp;quot;&amp;gt;session title comes from &lt;a href=&quot;http://www.mccarthyshow.com/Default.aspx?tabid=1324&quot;&gt;Jim and Michele McCarthy&amp;#39;s &lt;em&gt;Core Commitments&lt;/em&gt;&lt;/a&gt;, and so does one of the three techniques &lt;a href=&quot;http://emmanuelgaillot.blogspot.com&quot;&gt;Emmanuel Gaillot&lt;/a&gt; and &lt;a href=&quot;http://www.notarianni.org&quot;&gt;Bernard Notarianni&lt;/a&gt; presented in this &lt;a href=&quot;http://tip.psychology.org/rogers.html&quot;&gt;experiential&lt;/a&gt; workshop. &lt;/p&gt; &lt;p&gt; Without any explanation of what to expect, the facilitators asked for volunteers to form a circle in the center of the room. Five people did so. The rest of us formed an outer circle around them. We were the observers. Part of the value came from having the different perspectives of participants and observers. The participants were tasked with achieving a goal together: To think of an improvement to make in the conference for next year and to create a plan to achieve it. They worked in four timeboxed &amp;quot;iterations&amp;quot; with a discussion after each one in which the participants spoke first and the observers second. In each iteration, the participants used a different technique to improve the ability of each member to listen intently to his/her teammates. &lt;/p&gt; &lt;p&gt; In the first iteration, the participants were on their own. Working without any predefined process or ground rules, they used most of the available time feeling each other out and figuring out how to interact. In the retrospective, one observer commented that the group had wasted its time, since they came up with no concrete results. I countered, saying they had learned how to talk to each other, and that in itself was a useful outcome.  &lt;/p&gt; &lt;p&gt; For the second iteration, the facilitators briefly explained the Investigate Protocol, which is part of the Core Protocol developed by Jim and Michele McCarthy. At first, I didn&amp;#39;t see much value in it. You just ask questions that are meant to elicit the other party&amp;#39;s ideas. There didn&amp;#39;t appear to be much more to it than that. Before long, it became apparent that everyone was asking leading questions or loaded questions. Leading questions are designed to fish for an answer the investigator is looking for. Loaded questions convey the investigator&amp;#39;s bias toward a particular answer. Both of these are problems, since they create obstacles to clear communication. It was quite surprising to note how many of our questions are leading or loaded. Many of us tend to ask questions that way because we already have an answer in mind that we think is &amp;quot;correct,&amp;quot; and we aren&amp;#39;t asking because we want to know the other party&amp;#39;s opinion, but only so we can pass judgment. It&amp;#39;s very helpful to know a technique that helps us become conscious of this and correct it. &lt;/p&gt; &lt;p&gt; The third iteration involved a technique from the world of theater, Tadashi Suzuki&amp;#39;s &amp;quot;Soft Focus.&amp;quot; The idea is to make yourself aware of all the people in the room by trying to see all of them at once. You focus on a point in space that causes everyone to be somewhere in your field of view. You can&amp;#39;t actually focus sharply on any one person; hence the name. The idea is that you will be more receptive to the other people if you are paying attention to them, so you pay attention to everyone. Simultaneously. &lt;/p&gt; &lt;p&gt; The exercise turned out to be rather funny. One participant, Jamey, did his best to do the technique throughout the iteration. He stared at a point in space while talking and listening to the other participants. He commented that the technique forced him to pay close attention to verbal communication, since he was unable to depend on non-verbal cues as he normally does. But the way he did it had an unusual effect on one of the other participants, Ellen. Jamey did not just focus on a point in space. He bored a hole through the point with his gaze. He was utterly rigid from head to toe. I&amp;#39;m not sure, but I think he didn&amp;#39;t blink even once. Ellen grew progressively more fidgety and nervous as she tried to carry on a conversation with Jamey. She asked him several times to stop doing the soft focus thing, but he continued, saying he wanted to see the experiment through to find out what would happen. Ultimately, Ellen said the experience gave her an unnerving sensation of &amp;quot;being ignored and stared at at the same time.&amp;quot;  &lt;/p&gt; &lt;p&gt; My personal take on this is that &amp;quot;soft focus&amp;quot; might be useful as a way to prepare for a meeting or discussion. It may help clear your mind and prepare your spirit to be receptive and attentive to others. But I don&amp;#39;t see using it &lt;em&gt;during&lt;/em&gt; a discussion. People prefer you to make direct eye contact when you&amp;#39;re speaking to them. When you are listening or speaking to one individual in a group, it&amp;#39;s best to make eye contact with that individual. I suspect if we took this technique to an extreme, as Jamey did during the exercise, we may well generate reactions like Ellen&amp;#39;s. That would impair clear communication rather than enhancing it.  &lt;/p&gt; &lt;p&gt; To go along with being aware of others, the Investigate Protocol helps us become aware of ourselves and how the way we frame questions might interfere with communication. The two ideas are complementary.  &lt;/p&gt; &lt;p&gt; The fourth iteration explored the &lt;em&gt;emic&lt;/em&gt; approach to learning, elaborated by cultural anthropologist &lt;a href=&quot;http://faculty.ircc.edu/faculty/jlett/Article%20on%20Emics%20and%20Etics.htm&quot;&gt;Marvin Harris&lt;/a&gt;. &lt;em&gt;Emic&lt;/em&gt; is defined in contrast to &lt;em&gt;etic&lt;/em&gt;, and both terms are neologisms coined by the linguistic anthropologist Kenneth Pike. If you follow the link on Harris&amp;#39; name, don&amp;#39;t expect a simple and concise description. Instead, expect things like &amp;quot;the debate over emics and etics raises a number of fundamental ontological and epistemological issues.&amp;quot; It&amp;#39;s a good read for an insomniac. Apparently, Pike and Harris spent years debating the finer distinctions between the two terms and the philosophical nuances of the ideas behind them. They are made-up words, and the guy who made them up is free to make them mean whatever he wants them to mean. So what? Fortunately for us, Emmanuel had a simpler explanation. &lt;/p&gt; &lt;p&gt; The idea for the exercise was that we can learn more effectively if we ask someone to &lt;em&gt;teach us to do something&lt;/em&gt; they know how to do, rather than just asking them to &lt;em&gt;explain the thing to us&lt;/em&gt;. This certainly makes sense in many work-related situations. In the context of the workshop, it didn&amp;#39;t work quite so well. Since the group had been tasked with collaborating to identify an improvement to the conference, there wasn&amp;#39;t any particular skill that one group member could teach another. But something like this can be very useful in a team coaching situation. If we ask team members to teach us how they work, we can learn a great deal more about the &lt;em&gt;reasons&lt;/em&gt; they work that way than we could ever do just by asking them to describe how they work, or even by observing them at work. That can give us a good basis to recommend improvements. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1859936</comments>
	
      <pubDate>Mon, 24 Nov 2008 14:12:02 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>XP Days Benelux 2008: SimProject</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859878</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859878</guid>

      <description>&lt;br&gt;&lt;p&gt; SimProject is a prototype application &lt;a href=&quot;http://www.linkedin.com/ppl/webprofile?action=vmi&amp;amp;id=147664&quot;&gt;Laurent Bossavit&lt;/a&gt; is working on that supports the&lt;a href=&quot;http://www.thinking.net/Systems_Thinking/systems_thinking.html&quot;&gt;Systems Thinking&lt;/a&gt; tools, &lt;a href=&quot;http://www.satirworkshops.com/en/doe&quot;&gt;Diagram of Effects&lt;/a&gt; and &lt;a href=&quot;http://www.mindtools.com/pages/article/newTMC_04.htm&quot;&gt;Causal Loop Diagrams&lt;/a&gt;.  &lt;/p&gt; &lt;p&gt; Based on the &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/SimProject.html&quot;&gt;session description&lt;/a&gt;, I was expecting this session to consist of a demonstration of the SimProject software and a discussion of which agile practices can safely be set aside in the beginning of an organizational change. In the event, it turned out to be something much more interesting and useful: A hands-on exploration of DOEs as an aid to understanding complex problems and how causal loops can emerge from them. It really has nothing to do with which agile practices can be set aside initially. The technique is useful for identifying which problem to solve first, or solve next, when the overall performance of a work  flow is not as good as we would like it to be. We worked in small groups to diagram a problematic situation; each group was free to choose whatever problem the group members wished. &lt;/p&gt; &lt;p&gt; In complex systems such as teams of humans, a change to any variable may have many effects, some of which are quite subtle and some of which may lead to new emergent behaviors. DOEs are useful to get a sense of what the effects of a change are likely to be. More fundamentally, they are useful to gain an understanding of the &lt;em&gt;current&lt;/em&gt; state. Causal loops occur when the cause and effect relationships of elements in the diagram eventually lead back around to the starting point. The loop is &lt;em&gt;balancing&lt;/em&gt; when the effects created in one part of the loop are mitigated or reversed by effects created in another part of the loop. When effects generated in the path of a loop build on one another to create a magnified effect, the loop is called &lt;em&gt;reinforcing&lt;/em&gt;. These two types of causal loops are useful for identifying process steps, practices, or organizational constraints that tend to lock an organization into a pattern of behavior that may not be desirable. They can point to the part of a process that is likely to produce an improvement if changed. &lt;/p&gt; &lt;p&gt; Personally, I expect these tools to be most useful when exploring a client&amp;#39;s or prospect&amp;#39;s problems. I can see how they would help everyone understand what the most significant issues really are, and therefore what to address first and how to approach the problem. Very often, people assume they know what their problems are, when they may only be distracted by visible effects or by assumptions about the changes they should make.  &lt;/p&gt; &lt;p&gt; For example, our group explored a problem one of the members was having at his company. We began by drawing a circle to represent the most important problem as he saw it. In the circle we wrote, &amp;quot;Testing the product enough.&amp;quot; As we identified and discussed the causes, effects, and external factors relevant to the problem, we eventually discovered the core problem was not testing, but rather the alignment of development results with business needs. The &amp;quot;distraction&amp;quot; was the assumption that if we tested the product &lt;em&gt;more&lt;/em&gt;, we could improve the alignment of results with needs. The DOE helped us learn the issue with testing was not how &lt;em&gt;much&lt;/em&gt; testing was done, but whether we were testing &lt;em&gt;the right things&lt;/em&gt;. Testing &lt;em&gt;more&lt;/em&gt; wouldn&amp;#39;t help if we were only testing more of the wrong things. We changed the label in our first circle to &amp;quot;Testing the product effectively.&amp;quot; The discovery led us to explore what was causing us not to know what the right things to test were. In turn, that led to the discovery of a lot of ideas that ranged far afield of testing as such. Here&amp;#39;s a photo of the diagram we ended up with. It isn&amp;#39;t a finished product; the clock ran out on us. (The photo is from &lt;a href=&quot;http://www.flickr.com/photos/yveshanoulle/sets/72157609820755970/&quot;&gt;Yves&amp;#39; flickr set&lt;/a&gt;.) &lt;/p&gt;&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;http://dnicolet1.tripod.com/agile/benelux_doe_2.jpg&quot; alt=&quot;&quot; align=&quot;center&quot; /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p class=&quot;entry&quot;&gt;&amp;nbsp;&lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1859878</comments>
	
      <pubDate>Mon, 24 Nov 2008 12:00:05 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
    <item>
      <title>XP Days Benelux 2008: The best way to introduce agile?</title>
      <link>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859876</link>
      <guid>http://dnicolet1.tripod.com/agile/index.blog?entry_id=1859876</guid>

      <description>&lt;br&gt;&lt;img src=&quot;http://dnicolet1.tripod.com/agile/nicole_by_yves.jpg&quot; alt=&quot;&quot; hspace=&quot;5&quot; width=&quot;100&quot; align=&quot;left&quot; /&gt; &lt;p&gt; &lt;a href=&quot;http://www.linkedin.com/in/nicolebelilos&quot;&gt;Nicole Belilos&lt;/a&gt; facilitated a session to explore the strengths and weaknesses of various &lt;a href=&quot;http://www.xpday.net/Xpday2008/sessions/The%20best%20way%20to%20introduce%20Agile.html&quot;&gt;patterns of agile adoption&lt;/a&gt;. It&amp;#39;s no accident that the session title ends with a question mark. Her intent was to have participants share their own experiences and ideas with each other rather than to deliver a lecture. After a brief introduction, Nicole organized everyone into small groups. Each group discussed their own experiences and thoughts about the upsides and downsides of a particular approach to introducing agile into an organization.  &lt;/p&gt; &lt;p&gt; Each group dealt with one approach &amp;mdash; top-down, bottom-up, technical practices first, or iterative process first. Each group included some people who had been involved with an agile initiative of the type the group was exploring and some people who had not. Nicole used a &amp;quot;debate&amp;quot; format for the debrief portion of the workshop. Personally, I didn&amp;#39;t think that was the best possible format, since we weren&amp;#39;t trying to determine a single optimal way to introduce agile; we were trying to understand the circumstances in which each approach might be effective, and what potential pitfalls may lie in wait for the unwary. Even so, I think participants came away with a better understanding of how agile might be introduced, when to take a particular approach, and what problems to be aware of. &lt;/p&gt; &lt;p&gt; The photo is from Yves Hanoulle&amp;#39;s &lt;a href=&quot;http://www.flickr.com/photos/yveshanoulle/sets/72157609820755970/&quot;&gt;XP Days set on Flickr&lt;/a&gt;. &lt;/p&gt;</description> 
      <comments>http://dnicolet1.tripod.com/agile/control.comment?a=render&amp;blog_id=1048988&amp;entry_id=1859876</comments>
	
      <pubDate>Mon, 24 Nov 2008 11:50:58 -0500</pubDate>
      <source url="http://dnicolet1.tripod.com/agile/rss.xml">effective software development</source>     
    </item>
    
  </channel>
</rss>

  






