<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Agile Software Development</title><description>Musings on agile software development, project management, creativity and innovation</description><managingEditor>noreply@blogger.com (Simon)</managingEditor><pubDate>Wed, 13 Mar 2024 13:41:28 GMT</pubDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">18</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/">25</openSearch:itemsPerPage><link>http://agilesoft.blogspot.com/</link><language>en-us</language><item><title>Pair Programming</title><link>http://agilesoft.blogspot.com/2007/08/pair-programming.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Tue, 7 Aug 2007 07:06:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-647537657588143570</guid><description>&lt;p&gt;&lt;br /&gt;In &lt;a href="http://martinfowler.com/bliki/PairProgrammingMisconceptions.html"&gt;PairProgrammingMisconceptions&lt;/a&gt; Martin Fowler makes some very good points and I agree with everything that he writes. However, I think that there is an important point that he has not mentioned: what are the alternatives?&lt;/p&gt;&lt;br /&gt;&lt;p&gt;In traditional software engineering projects, there has been widespread use of peer review (design reviews, code inspections, code walkthroughs etc.) as a means of improving code quality. Pair Programming provides a more efficient means of reviewing both design decisions and code.&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Over the last few years I've noticed a tendency in many organisations to dispense with code reviews without replacing them with anything, let alone pair programming. If developers don't think that anyone else will have to read their code, code quality in terms of defect density and ease of maintenance will suffer.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></item><item><title>Is the Toyota Production System Responsible for Toyota&amp;#39;s Success?</title><link>http://agilesoft.blogspot.com/2007/06/is-toyota-production-system-responsible.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Sat, 9 Jun 2007 13:28:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-629281821356628382</guid><description>&lt;p&gt;In April of this year it was announced that Toyota had overtaken General Motors as the largest manufacturer of automobiles in the world in terms of vehicles sold. It seems that they will maintain this lead for some time to come. Interesting, a Toyota representative played down the achievement stating that they were focussed on meeting customer needs rather than winning a race.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Toyota Production System and the Toyota Development System, initially developed in the 1940s and 1950s and publicized in the west in the 70s and 80s, were primary inspirations for the Lean and Agile movements. So is "The Toyota Way" responsible for Toyota's success? According to a report that I overheard on BBC World Service Radio, yes, at least partially. They mentioned the Toyota Production System and stated that it is now used by most automobile manufacturers. Maybe the superficial details of the production system itself are even used by GM, but the Toyota Production System is based on much more which, according to anecdotes that I have heard, has not been adopted by GM.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;The Toyota way is based on respect for their workers and embodies important principles such as self-organisation and adaptive processes that are so important when managing complex systems. It also applies the principle of eliminating waste, so if, for example, a machine needs to be moved to enable a team to do its job better, it will happen without jumping through hoops.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;All of this does not sit comfortably with a prescriptive command and control approach, yet many Western organisations remain tied to such practices. In many cases, particularly when there is a crisis, the instinct of Western organisations (including governments) is to add additional controls to their processes (in the form of rules, laws etc.). This is often the opposite of what is required - give people the resources that they need, make them feel that they are truly valued and respected and they will deliver the results.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>TDD Workshop</title><link>http://agilesoft.blogspot.com/2007/06/tdd-workshop.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Thu, 7 Jun 2007 09:42:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-530147375479286419</guid><description>&lt;p&gt;I recently led a test-driven development (TDD) workshop for the team that I am currently coaching. We've been working together for several Sprints (every Sprint bar none has resulted in valuable functionality that has been put into production). We've previously looked at unit tests in detail and I had made a strong recommendation to try to write the tests before the code under test. Over the last couple of Sprints, the quantity and quality of unit tests in the product has increased dramatically.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;One of the outcomes of our last retrospective was that the team requested that we revisit the area, this time focusing on TDD. So I scheduled a couple of hours for a workshop.&lt;br /&gt;&lt;/p&gt;I kicked the workshop off with a few slides to explain the philosophy behind TDD, explaining that TDD is not just about testing (or even mainly about testing) but has a great deal to do with design and documenting what services the code provides. I found a quote from Bob Martin that I really like:&lt;br /&gt;&lt;blockquote&gt;“The act of writing a unit test is more an act of design than of verification.  It is also more an act of documentation than of verification.  The act of writing a unit test closes a remarkable number of feedback loops, the least of which is the one pertaining to verification of function”.&lt;/blockquote&gt;The introduction led to an extensive discussion about the pros and cons of TDD. In this type of situation, I'm not looking to convince people that a particular technique is valuable (you can't &lt;i&gt;make&lt;/i&gt; people believe in something) but to get them to try it out and then reflect on whether it works for them and the team.&lt;br /&gt;&lt;br /&gt;I fired up Eclipse and went through some examples (based on material from Frank Westphal's excellent book &lt;a href="http://www.amazon.de/exec/obidos/ASIN/3898642208/"&gt;Testgetriebene Entwicklung mit JUnit und FIT&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;By the end of the workshop, everyone had agreed to give TDD a try in the current Sprint. As normal, we'll reflect on our experiences at our end of Sprint retrospective.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Second Talk on Agile at CDTM</title><link>http://agilesoft.blogspot.com/2007/06/second-talk-on-agile-at-cdtm.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Thu, 7 Jun 2007 09:42:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-2690759691595100266</guid><description>I was recently invited to do another talk on agile methods at the &lt;a href="http://www.cdtm.de/"&gt;Center for Digital Technology and Management&lt;/a&gt; in Munich, Germany.&lt;br /&gt;&lt;p id="extended"&gt;This time, the talk covered the following areas:&lt;br /&gt; &lt;/p&gt;&lt;ul&gt;&lt;li&gt;user stories&lt;/li&gt; &lt;li&gt;agile estimating and planning&lt;/li&gt;&lt;/ul&gt;After examining some of the characteristics of good user stories, the students practiced writing some (with "As a ..., I want ..., so that ..." clauses and acceptance tests on the back).&lt;br /&gt;&lt;br /&gt;We then used the planning poker technique to estimate some user stories for the team's first Sprint.&lt;br /&gt;&lt;br /&gt;Once gain, thanks very much to Ana Balevic for organising and hosting the talk and to the students for some interesting questions and discussion.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Talk on Scrum and SOA at the CDTM in Munich</title><link>http://agilesoft.blogspot.com/2007/05/talk-on-scrum-and-soa-at-cdtm-in-munich.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Sat, 26 May 2007 08:36:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-4444846915559720748</guid><description>I was recently invited to talk about Scrum and SOA at the &lt;a href="http://www.cdtm.de/"&gt;Center for Digital Technology and Management&lt;/a&gt; in Munich, Germany. The CDTM is a partnership between two Munich universities and cooperates closely with industry. It's aim is to "prepare the students for future leadership positions in their professional career."&lt;br /&gt;&lt;br /&gt;The talk was provided as a part of a course that introduces students to an agile approach to SOA development. During the course, real functionality will be developed and demonstrated to industry partners.&lt;br /&gt;&lt;br /&gt;The talk covered the following areas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What is agile?&lt;/li&gt; &lt;li&gt;Why do we do agile software  development (what are the issues with traditional methods and how does  agile make it better in many cases)?&lt;/li&gt; &lt;li&gt;The agile manifesto, key values, principles and practices.&lt;/li&gt; &lt;li&gt;Key success factors and pitfalls for agile projects.&lt;/li&gt; &lt;li&gt;An introduction to Scrum.&lt;/li&gt; &lt;li&gt;The Dysfunctional Scrum exercise.&lt;/li&gt; &lt;li&gt;Case  studies - different ways of approaching building an SOA-based system  using Scrum, based on my experience coaching different projects  and teams.&lt;/li&gt;&lt;/ul&gt;Thanks very much to Ana Balevic for organising and hosting the talk and to the students for some very interesting questions and discussion.</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Scrum auf Deutsch</title><link>http://agilesoft.blogspot.com/2007/01/weve-translated-mike-cohns-re.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Fri, 26 Jan 2007 18:39:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-1330292917370026378</guid><description>&lt;p&gt;We've translated Mike Cohn's re-distributable "Introduction to Scrum" into German. You can get it &lt;a id=p38 href="http://simonroberts.de/wordpress/wp-content/uploads/einfuehrung-in-scrum.ppt"&gt;here&lt;/a&gt;. It's licensed using the Creative Commons Attribution-NonCommercial-ShareAlike License. Please let us know if you make improvements.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Planning Poker</title><link>http://agilesoft.blogspot.com/2007/01/planning-poker.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Thu, 25 Jan 2007 13:42:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-5150889049370464602</guid><description>&lt;div style="float: right; margin-left: 10px; margin-bottom: 10px;"&gt; &lt;a href="http://www.flickr.com/photos/srob/368002859/" title="photo sharing"&gt;&lt;img src="http://farm1.static.flickr.com/108/368002859_9f5a41b734_m.jpg" alt="" style="border: solid 2px #000000;" /&gt;&lt;/a&gt; &lt;br /&gt; &lt;span style="font-size: 0.9em; margin-top: 0px;"&gt;  &lt;a href="http://www.flickr.com/photos/srob/368002859/"&gt;Planning Poker&lt;/a&gt;  &lt;br /&gt;  Originally uploaded by &lt;a href="http://www.flickr.com/people/srob/"&gt;sjroberts&lt;/a&gt;. &lt;/span&gt;&lt;/div&gt;The estimates are starting to converge but there are still some significant differences. The participants are discussing the high and low estimates.&lt;br clear="all" /&gt;</description><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" height="72" url="http://farm1.static.flickr.com/108/368002859_9f5a41b734_t.jpg" width="72"/><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title/><link>http://agilesoft.blogspot.com/2007/01/its-end-of-first-week-with-new-client.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Fri, 19 Jan 2007 16:32:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-1481782283414586301</guid><description>&lt;p&gt;It's the end of the first week with a new client in Munich. Despite the storm on Thursday (didn't impact Munich too much apart from the S-Bahn being suspended from 20:00 on Thursday night) we've made some great progress.&lt;/p&gt;&lt;p&gt;I've tried to do a lot of listening this week and have taken part in several meetings as an observer. Some of the other activities this week have included:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Team formation. The pilot project will be reasonably large with in excess of 10 active team members. My recommendation has been to split this team into 2 Scrum teams, each of which sits together and tackles vertical slices of functionality based initially on particular functional areas. This recommendation has been, in principle, taken on board. We're still sorting out some of the seating arrangements.&lt;/li&gt;&lt;li&gt;Training workshops. We've identified three days of training to which the team members will be invited. The first of these, focussing on agile values and principles took place on Thursday. Unfortunately, the exercise that I usually like new agile inductees to do on the first day (based on the well-known XP Game), had to be abandoned due to the storm warning. We captured lots of useful insight into some of the key issues that will be encountered as this client tries to introduce agile methods. I'll be maintaining a log of these issues and tracking how we address them. The next workshop will on Friday next week when we'll be taking a closer look at Scrum and User Stories and putting the theory into practice with a fun exercise.&lt;/li&gt;&lt;li&gt;Product backlog. We've started to create the product backlog. Today I facilitated a User Story writing workshop for one of the functional areas. This had real customer involvement and produced some really useful results. It went quite slowly but definitely a good start and subsequent workshops will get faster.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Other Munich observations:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;I last worked in Munich in 1993. Either it's changed a lot or I have, or perhaps we both have. It seems much more open and more multi-cultural and a more comfortable place to be. I feel good here.&lt;/li&gt;&lt;li&gt;I've been staying in the Derag Max Emmanuel Hotel in the Munich area Haidhausen. My room is effectively a small apartment with its own mini-kitchen and even a small terrace. Very good value (80 Euro a night), clean and comfortable - recommended. I found the hotel through &lt;a href="http://www.ratestogo.com/"&gt;ratestogo.com&lt;/a&gt;. All other web sites that I tried when looking for accommodation had very limited availability due to the Bau 2007 trade fair that has been taking place this week. The web site was uncomplicated, they have a fair cancellation policy and they had accommodation available when others didn't - also recommended.&lt;/li&gt;&lt;/ul&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title/><link>http://agilesoft.blogspot.com/2007/01/monday-was-first-full-day-with-my-new.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Tue, 16 Jan 2007 09:29:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-8951872104866374194</guid><description>&lt;p&gt;Monday was the first full day with my new customer in Munich. I'm going to be here on and off for the next 5 to 6 months helping a part of a large organisation transition to agile methods. It's looking really interesting. Although this is going to be a challenging assignment (most agile transitions are!), there seems to be a genuine desire to give things a try. I have the feeling that we (that is the team including myself) are going to be able to make considerable improvements over their current process (by taking baby steps) and have a lot of fun at the same time.&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Agile Day in Munich</title><link>http://agilesoft.blogspot.com/2006/12/im-in-munich-again-visiting-my-major.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Wed, 13 Dec 2006 14:19:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-96520637740897480</guid><description>&lt;p&gt;I'm in Munich again visiting my major new agile enablement client. Today we discussed the most likely candidate for a pilot project, the makeup of the team (4 developers, 1 tester, the customer, the ScrumMaster and myself as coach and mentor) and Sprint 0 activities. These will include training the team, establishing the development and test environment and preparation of the initial product backlog etc.&lt;/p&gt;&lt;p&gt;Over the next few months, we're going to have to solve some tough issues concerning how to integrate the agile team into the wider organisation. Today showed that key people are really committed to making this a success and I'm very much looking forward to working with this team. Sprint 0 will kick-off in January.&lt;/p&gt;&lt;p&gt;As part of this engagement, I'll be facilitating a Scrum quick start, something that I've facilitated for several teams recently. This combination of customised training and facilitation is a very effective means for helping a Scrum team go from zero to starting their first Sprint, and hence starting to deliver business value, within days. I'm combining the quick start with ongoing coaching and mentoring which means that I'm there to support the team and other stakeholders when needed. I have some capacity free - please contact me if interested.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- Technorati Tags Start --&gt;&lt;br /&gt;&lt;p&gt;Technorati Tags:&lt;br /&gt;&lt;a href="http://technorati.com/tag/agile" rel="tag"&gt;agile&lt;/a&gt;, &lt;a href="http://technorati.com/tag/scrum" rel="tag"&gt;scrum&lt;/a&gt;, &lt;a href="http://technorati.com/tag/Scrum%20quick%20start" rel="tag"&gt;Scrum quick start&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;!-- Technorati Tags End --&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>New agile projects in the UK and Germany</title><link>http://agilesoft.blogspot.com/2006/12/demand-for-agile-method-consultancy.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Mon, 4 Dec 2006 18:55:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-5910604098127732899</guid><description>&lt;p&gt;The demand for agile method consultancy seems to be growing. I've secured two new clients during the last two weeks: one in Stevenage, UK and the other one in Munich, Germany.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;This week I'm with the UK client, doing a Scrum Quick Start. Last week I introduced agile to some of the key stakeholders. Today, I've taught Scrum to the project team (two sessions of about 15 people each, with a mixture of business and developers). Definitely a good bunch of people and I think that they have an excellent chance of making this a success.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Tomorrow, I'll be facilitating their first Sprint planning meetings and on Wednesday the teams will be starting their first Sprint. A Scrum of Scrums approach will be used to help coordinate the activities of the four Scrum teams. I'll be supporting the teams with regular visits over the next few weeks. It should be an interesting engagement.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;I'm also gearing up for my Munich engagement. Over several months I'll be helping a household name select a pilot project and then transition to agile (again Scrum based).&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>The Dysfunctional Scrum: An Exercise in the Management of Scrum Smells</title><link>http://agilesoft.blogspot.com/2006/11/dysfunctional-scrum-exercise-in_21.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Tue, 21 Nov 2006 18:41:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-116413448446138832</guid><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;p&gt;The Dysfunctional Scrum exercise normally goes down very well as part of agile training. It's great fun but, more importantly, lets participants experience the World’s worst Daily Scrum. The exercise can lead to a useful discussion on how to deal with common Scrum smells.&lt;/p&gt;&lt;p&gt;Read more &lt;a href="http://web.mac.com/srob/iWeb/Dysfunctional%20Scrum/Dysfunctional%20Scrum.html"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tag/agile"&gt;agile&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tag/scrum"&gt;scrum&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Agile Mythology</title><link>http://agilesoft.blogspot.com/2006/09/agile-mythology.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Mon, 25 Sep 2006 16:39:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-115919878105795730</guid><description>Overheard at an interview for a business analyst with agile experience:&lt;br /&gt;&lt;br /&gt;	"Yes I've got lots of experience using RUMP and the Agile Mythology"</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>RadRails 0.6 Released</title><link>http://agilesoft.blogspot.com/2006/03/radrails-06-released.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Fri, 17 Mar 2006 17:11:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-114261603622903901</guid><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;  &lt;p&gt; &lt;cite&gt;&lt;a href="http://www.radrails.org/"&gt;RadRails - A Ruby on Rails IDE&lt;/a&gt; &lt;/cite&gt;  &lt;/p&gt; &lt;blockquote cite="http://www.radrails.org/"&gt;"Finally, RadRails 0.6 is out! This release includes a lot of refactoring and quality improvements under the covers as well as some nifty new features. The details can be found in the changelog."&lt;/blockquote&gt;  &lt;p class="citation"&gt;  &lt;cite&gt;  &lt;/cite&gt;  &lt;/p&gt;  &lt;p&gt; I'm currently using RadRails instead of &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; for most of my playing around with &lt;a href="http://rubyonrails.org/"&gt;RubyOnRails&lt;/a&gt;. Well worth taking a look at IMHO. It's fast, free and fun!&lt;br/&gt;   &lt;/p&gt;  &lt;p&gt; 0.6 has some useful convenience features such as easy switching between related controllers and views. I'm looking forward to 0.7 which is due to have debugger support. &lt;/p&gt; &lt;p style="font-size:10px;text-align:right;"&gt;technorati tags: &lt;a href="http://technorati.com/tag/ruby" rel="tag"&gt;ruby&lt;/a&gt;, &lt;a href="http://technorati.com/tag/rails" rel="tag"&gt;rails&lt;/a&gt;, &lt;a href="http://technorati.com/tag/rubyonrails" rel="tag"&gt;rubyonrails&lt;/a&gt;, &lt;a href="http://technorati.com/tag/radrails" rel="tag"&gt;radrails&lt;/a&gt;, &lt;a href="http://technorati.com/tag/" rel="tag"/&gt;&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>HP gets 3.4x productivity gain from Agile Management techniques</title><link>http://agilesoft.blogspot.com/2006/03/hp-gets-34x-productivity-gain-from.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Fri, 17 Mar 2006 10:42:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-114259212363156842</guid><description>&lt;p&gt;&lt;a href="http://www.agilemanagement.net/Articles/Weblog/HPgets3.4xproductivitygai.html"&gt;HP gets 3.4x productivity gain from Agile Management techniques&lt;/a&gt;: "... - a reduction in lead (cycle) time from 9 months to only 2 months. Printer firmware development at HP was never this good. Imagine what this means for the people. They now go home early on Friday afternoons, they don't work overtime, they have rediscovered their social lives, their families and their passions."&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;(Via &lt;a href="http://scobleizer.wordpress.com/2006/03/16/hp-gets-34x-productivity-gain-from-agile-techniques/"&gt;Robert Scoble&lt;/a&gt;.)&lt;/p&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>James Gosling on PHP, Ruby and C# vs. Java</title><link>http://agilesoft.blogspot.com/2006/03/james-gosling-on-php-ruby-and-c-vs.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Sat, 11 Mar 2006 14:09:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-114209101319287346</guid><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://java.sys-con.com/read/193146.htm"&gt;James Gosling: "Java Is Under No Serious Threat From PHP, Ruby or C#"&lt;/a&gt; &lt;blockquote&gt; "There have been a number of language coming up lately,' noted James Gosling today at Sun's World Wide Education &amp;amp; Research Conference in New York City. 'PHP and Ruby are perfectly fine systems but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.' He then dismissed C# as having had potential, but no longer: 'We were afraid [Microsoft] were going to do something really creative - but they're hopelessly focused on one platform."&lt;/blockquote&gt;I've been a Java advocate for a long time but I really think that James has missed the point, particularly with Ruby. Ruby is actually a good general purpose language which potentially goes beyond the creation of the small to moderate scale web based systems that Rails is currently targetting. If James is referring to Ruby on Rails then I can agree with him to an extent. Rails is a framework applicable to a limited class of application areas right now, albeit in a particularly elegant way. In time, other Ruby based frameworks, possibly as extensions to Rails or as separate frameworks will address other classes of application.&lt;br/&gt;      &lt;p style="font-size: 10px; text-align: right"&gt;    technorati tags: &lt;a href="http://technorati.com/tag/ruby" rel="tag"&gt;ruby&lt;/a&gt;, &lt;a href="http://technorati.com/tag/C%23" rel="tag"&gt;C#&lt;/a&gt;, &lt;a href="http://technorati.com/tag/java" rel="tag"&gt;java&lt;/a&gt;, &lt;a href="http://technorati.com/tag/rubyonrails" rel="tag"&gt;rubyonrails&lt;/a&gt;&lt;br/&gt;  &lt;/p&gt;  &lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Agile SOA?</title><link>http://agilesoft.blogspot.com/2006/03/agile-soa.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Fri, 10 Mar 2006 19:51:00 GMT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-114223971350396492</guid><description>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;h3&gt;Benefits of SOA&lt;/h3&gt;  &lt;p&gt; It seems that everyone is talking about Service Oriented Architecture (SOA). All sorts of benefits are claimed for SOA, including: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;Cost savings by increasing reuse. The idea is that common services can be created and then reused whenever this type of service is required within the enterprise. Typical examples include a common authentication service and a common payment service. Those who have been involved in software development for a while will recognise that this was one of the objectives of object oriented technology. Object technology has a good record for achieving reuse within projects or systems but a bad record for achieving inter-project reuse.&lt;/li&gt;&lt;li&gt;Cost savings by reducing the skill required to develop enterprise applications. If a palette of ready built common services is available, maybe they can be wired together by less highly skilled developers or even directly by business people?&lt;/li&gt;&lt;li&gt;An increasing number of vendors of commercial off-the-shelf (COTS) products already have SOA or have stated that they will have SOA in the future. Maybe it will be easier to integrate these products with each other and with custom developed services?&lt;/li&gt;&lt;/ul&gt; I would suggest that the jury is still out on whether or not these benefits are actually realised in practice.&lt;br/&gt;  &lt;h3&gt;Isn't agile software development supposed to deliver some of these benefits anyway?&lt;/h3&gt;  &lt;p&gt; Agile software development directly addresses reuse in an even stronger manner than a non-agile object oriented approach. Agile takes a rigorous approach to avoiding duplication in code. This typically applies not only to the version of a system that is currently under development but also to future systems, built on its basis. &lt;/p&gt;   &lt;p&gt; Agilists tend to frown upon a large amount of architecture and design work being done up front, instead regarding design as something that is part of what software developers do every day and architecture as an emergent property of a system. At first sight, this might seem to preclude the development of an SOA based system, which surely requires considerable up-front and architecture and design work? Well, as we will see later, maybe the two are not as incompatible as they might first appear.  &lt;/p&gt;   &lt;p&gt; Agile doesn't directly address the remaining supposed benefits of SOA. Is it possible to combine agile and SOA to create a best of both worlds approach? Well, the answer is a qualified maybe. Here are some possible approaches:  &lt;/p&gt;  &lt;h3&gt;Strategies for agile SOA&lt;/h3&gt;  &lt;ol&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;Design an initial service model up-front&lt;/span&gt;. Do a small amount of design up-front to define the service architecture (including means of communication between components) and an initial partitioning of the problem space into services. Build the software using an agile approach, in business scenario focussed vertical slices, adding code to the appropriate service as you go. When necessary, introduce new services or remove ones which didn't pan out. Use a "do the simplest possible thing that works" followed by aggressive refactoring approach, to keep the flow of business functionality coming whilst still preserving the integrity of the SOA.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;Let a service model emerge&lt;/span&gt;. Do virtually no design up front, except to decide upon an outline architecture, including the the means of communication between components. Develop potential shippable system increments based on vertical slices of functionality. Periodically refactor the functionality that has been developed into services.&lt;/li&gt;&lt;/ol&gt;&lt;h3&gt;A case study&lt;/h3&gt;  &lt;p&gt; I was recently hired to agile enable a new strategic programme for a UK based company. The company concerned was insistent that a services based approach should be adopted. They provide a large range of services, most of which have overlapping functionality. They had previously expended a large amount of effort reinventing existing functionality, in some cases, several times. Business leaders in the company perceived that the development team was taking too long to respond to the market by releasing new systems. The development team was frustrated by continual drip-feed of requirements and by the apparent low esteem in which they were sometimes held by the business side of the company. All of this adds up to a classic case for agile. I was hired by the development manager who had been convinced by senior technical people to give agile a try. To add to the mix, the company wished to outsource the development of the service layer. The internal development team would handle an orchestration layer and the user interface. Strategy 1, identified above, was broadly adopted, as follows: &lt;/p&gt;  &lt;ul&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;Pre-iterations&lt;/span&gt;. Four two-week iterations were used before the main software construction iterations, during which:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;A &lt;span style="font-weight: bold"&gt;service design&lt;/span&gt; was created, which identified the main common services that should be developed, the major system compoents and the means by which they should communicate.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;Interface definitions&lt;/span&gt; for the major services were developed as Java interfaces.&lt;/li&gt;&lt;li&gt;An existing &lt;span style="font-weight: bold"&gt;proof-of-concept&lt;/span&gt; system, originally conceived as a "spike" was brought up to production quality by judicious refactoring to fit in with the service model and the addition of appropriate automated acceptance and unit test cases. Agile purists may flinch at this, suggesting the PoC should have been scrapped but I usually find that a pragmatic approach to issues like this avoids alientating clients!&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;Release and iteration planning&lt;/span&gt;. During release and iteration planning, both the internal (presentation and orchestration layers) and external (services) teams were present. Since the external team was actually offshore, the majority of the team were present virtually using video conferencing. However, representatives of the external team were also present in person.&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold"&gt;User story based vertical slices&lt;/span&gt;. When planning, the customer presented vertical slices of functionality using user stories - several weeks of coaching prior to the first planning meeting, included a number of dry runs during which the customers practiced writing stories, drawing heavily on Mike Cohn's story writing material. The internal and external teams then estimated the work necessary to implement their part of each story separately. This resulted in most stories needing to be split. Since delivery of the functionality described by the story required both teams to complete their part of the story, particular attention was placed on synchronising the outputs of the teams when release planning.&lt;/li&gt;&lt;/ul&gt;  &lt;h4&gt;Observations&lt;/h4&gt;  &lt;p&gt; The approach taken has certainly worked and the organisation now has a number of well implemented services available and end user systems based on these services are online. However, progress has been slower than would be expected from a pure agile approach. Some of this can be put down to the initial inexperience of the teams involved but the majority of it is likely to be due to the contraints imposed by the service approach. The requirement for the two teams to coordinate their activites around the service interfaces is less efficient in creating business functionality than a purer agile approach would have resulted in.&lt;br/&gt;  &lt;/p&gt; &lt;h3&gt;An emergent approach to SOA&lt;/h3&gt; &lt;p&gt;  A pure agile approach implies an almost completely emergent approach to architecture and design and would make the development of SOA based systems practically impossible.&lt;br/&gt;  &lt;/p&gt;  &lt;p&gt; SOA as currently applied by many organisations includes a large amount of up-front architecture and design and is traditionally seen as a largely deliberate approach. As agile practitioners we know that this is best avoided, particularly because it limits our ability to respond to change. &lt;/p&gt;  &lt;p&gt; A reasonable compromise is to do some up-front architecture and design by developing the service model and interfaces. This can be usually achieved as part of "iteration 0" activities. The result will perhaps not be the best of both worlds but will deliver the major benefits of both agile and SOA.&lt;br/&gt;  &lt;/p&gt;  &lt;p&gt; Just as it is now acccepted business wisdom that a combination of deliberate and emergent approaches to stragegy is most effective, a combined deliberate/emergent approach to agile SOA is likely to deliver effective results. &lt;/p&gt;  &lt;p style="font-size:10px;text-align:right;"&gt;technorati tags: &lt;a href="http://technorati.com/tag/agile" rel="tag"&gt;agile&lt;/a&gt;, &lt;a href="http://technorati.com/tag/soa" rel="tag"&gt;soa&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item><item><title>Personality preference and agile software development</title><link>http://agilesoft.blogspot.com/2004/09/personality-preference-and-agile.html</link><author>noreply@blogger.com (Simon)</author><pubDate>Mon, 20 Sep 2004 21:20:00 +0100</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-8404176.post-109571208707076878</guid><description>Over the last few years I've become increasingly interested in the relationship between various aspects of personality and how comfortable people are with an agile approach. For example, there seems to be quite good correlation between people's MBTI and how well they cope with agility.
&lt;br /&gt;
&lt;br /&gt;In terms of the MBTI (Myers-Briggs Type Indicator), strong Js (judging) are, in my experience, likely to be very unhappy with the late closure and uncertainty that XP requires. Ps (perceiving) on the other hand, are much more comfortable with XP (they are comfortable moving into action without a plan and planning on-the-go). I used to be very sceptical about MBTI (and other psychometric tests) but it seems to fit so well in a lot of cases. Of course, there are exceptions (I have read that Kent is an ENTJ) and we all have coping strategies for operating in our non-preferred modes. A team composed of purely strong Ps would present its own problems - they would tend to avoid making any sort of commitment.
&lt;br /&gt;</description><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></item></channel></rss>