<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Chris Spagnuolo's EdgeHopper &#187; Project Management</title>
	<atom:link href="http://edgehopper.com/category/project_management/feed/" rel="self" type="application/rss+xml" />
	<link>http://edgehopper.com</link>
	<description>Tales from the Edge of Technology</description>
	<lastBuildDate>Wed, 28 Jul 2010 03:57:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>ADP &#8217;08: Using Agile to Increase Value in Tough Times</title>
		<link>http://edgehopper.com/adp-08-using-agile-to-increase-value-in-tough-times/</link>
		<comments>http://edgehopper.com/adp-08-using-agile-to-increase-value-in-tough-times/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:16:06 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Conference Reports]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://edgehopper.com/adp-08-using-agile-to-increase-value-in-tough-times/</guid>
		<description><![CDATA[It&#8217;s budget season. The economy is in the tank. You know budget cuts are are on their way. How do you make sure your team and projects survive? Prove that agile increases value. That&#8217;s exactly the message Richard Leavitt and Michael Mah presented this morning. But, to get your executives to keep your team and [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s budget season. The economy is in the tank. You know budget cuts are are on their way. How do you make sure your team and projects survive? Prove that agile increases value. That&#8217;s exactly the message Richard Leavitt and Michael Mah presented this morning. But, to get your executives to keep your team and your funding, they don&#8217;t really need to understand agile per se, they need to understand the financial value of agile. That&#8217;s what they understand and care about. The numbers. So Richard and Michael gave the numbers and explained how to talk to the C-level when trying to show the advantages of agile development practices.</p>
<p>The main question: What are the documented financial returns of agile? Here are the 3 main financial impacts that your executives will understand:</p>
<p><strong>IMPACT #1: Higher, faster ROI</strong></p>
<p>It is rarely possible for traditional projects to return investments within a year. Executives are unwilling to fund projects with long ROI. Agile shows immediate ROI. Based on data from their study, Richard showed that traditional projects show about a 33% ROI after a year. The big risk in traditional projects: We never really know how we&#8217;re doing because we haven&#8217;t delivered anything at the beginning. The big question: When are we going to deliver? These projects self-fund only at the end of the project when they deliver&#8230;maybe.</p>
<p>Show how agile is different: Agile releases value immediately and incrementally. This has a dramatic effect on the ROI case. With agile, self-funding hits very early in the project and profitability hits very quickly. Overall, agile shows a 12X ROI versus only 33% on traditional projects. So, agile has a much higher ROI than traditional projects. Agile uses less income and hits profitability almost immediately. Your execs should like that!</p>
<p><strong>IMPACT #2: Build less, deliver more</strong></p>
<p>Waterfall projects cost 2X what they need to because we&#8217;re building wasted functionality. We&#8217;ve all seen the Chaos Report and we know the numbers very well by now. The main Chaos Report number to know: 64% of features developed in traditional projects are rarely or ever used. Additionally, there is are 35%higher maintenance costs for life, as well as lower performance. This leads to wasted opportunity costs and key value is delayed.</p>
<p>To demonstrate the increases in the productivity of agile teams using Scrum, Richard showed details from Jeff Sutherland&#8217;s IEEE Paper <em>Magic Potion for Code Warriors.</em> The study showed that the company Systematic Software Engineering went from CMMI Level 1 to CMMI Level 5 and showed a 31% decrease in effort by the efficiencies they gained. Next, the team moved to Scrum. By going to Scrum, they reduced effort by 65% compared to their effort at CMMI Level 1. The effort figure includes total work, rework and project focus. Overall, Scrum showed a 50% cut in rework, 80% cut in cost, and a 40% cut in defects. This translated into a 100% increase in productivity. As a result, they now double their price for clients who require a phased approach.</p>
<p><strong>IMPACT #3:</strong></p>
<p>Agile productivity gains let you do more with less. Large companies and their execs want specific metrics, not survey results to prove the impact of a process. <a href="http://www.qsma.com/index.shtml">QSMA</a> and Michael Mah have the metrics. They have a benchmarked comparison of 29 Agile projects from very large companies like CNET, Accuro Healthcare, HomeAway, Moody&#8217;s, and BMC Software. They compared these agile projects to a database of historic data from traditional projects that QSM had studied.</p>
<p>To provide the best index of productivity, QSMA uses this equation: Productivity Index = Size/(Time*Effort), where Size= the number stories, lines of code, and defects, Time=Calendar months, and Effort=Person-months.</p>
<p>To illustrate the benefits, Michael showed stats from BMC Software. BMC delivered in 5.25 months what comparable traditional teams and projects delivered in 1 year with 1/4 of the defects of traditional project teams.</p>
<p>Overall, the 29 projects QSMA studied showed that compared to traditional teams, agile teams have 37% faster time to market. Short iterations and feedback loops in agile are the source of this benefit. Agile teams also showed 16% productivity gains over traditional teams. That means that agile teams are doing more with less. And with 1/4 of the expected defects. Despite shortening schedules by more than 50%, defects remained steady, about 1/4 of what was expected compared to trad projects.</p>
<p>So, if your execs are putting your agile team under pressure, give them a few of these facts and help them understand the value of agile.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/adp-08-using-agile-to-increase-value-in-tough-times/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>If it hurts, you&#8217;re probably doing it right</title>
		<link>http://edgehopper.com/if-it-hurts-youre-probably-doing-it-right/</link>
		<comments>http://edgehopper.com/if-it-hurts-youre-probably-doing-it-right/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 20:22:49 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://edgehopper.com/?p=424</guid>
		<description><![CDATA[We all learn how to ride a bike the same way: we learn to pedal, keep our balance, and steer. And that&#8217;s it. We learn how to ride when we&#8217;re 5 years old and we&#8217;re off and riding for the rest of our lives with minimal instruction. I used this limited knowledge for years as [...]]]></description>
			<content:encoded><![CDATA[<p>We all learn how to ride a bike the same way: we learn to pedal, keep our balance, and steer.  And that&#8217;s it.  We learn how to ride when we&#8217;re 5 years old and we&#8217;re off and riding for the rest of our lives with minimal instruction.  I used this limited knowledge for years as I raced in triathlons and various cycling events.  Last week I bought a new bike (an <a href="http://www.orbea-usa.com/fly.aspx?layout=bikes&#038;taxid=57&#038;pid=137">Orbea Orca</a> for those of you who care).  As part of the deal, I got a custom bike fitting and coaching session.  I learned a lot during the session, mainly that I needed to learn how to &#8220;ride&#8221; a bike.  I learned that my cycling posture was wasting a lot of energy and that my pedal stroke was not as efficient as it could be.  I took the coach&#8217;s advice and this weekend put it into practice.  And boy, was I sore.  I was using my muscles in a whole new way.  And guess what, I was riding faster and more efficiently.  Over time, my muscles will get used to riding the right way and won&#8217;t hurt as much, and I&#8217;ll keep improving my speed and efficiency.</p>
<p>OK, so what, right?  I&#8217;m riding faster now&#8230;good for me.  But I was thinking about how we manage projects and develop software during my morning ride today.  And I realized that my experience doing these things sort of parallels my cycling experience.  I learned about project management and software development very early in my career (I was older than five).  I had a good mentor and he&#8217;s someone I still hold in high regard and respect.  However, what I learned back then was to keep my balance, steer the project, and keep pedaling forward.  But as I matured professionally, I realized that there was more to project management and software development than this.  In fact, if I stopped steering the project and let our clients and developers steer, we&#8217;d achieve better results.  If I stopped always pedaling forward and took a look back once in a while, we&#8217;d improve how we worked and what we delivered.  As for my role as a &#8220;project manager&#8221;&#8230;I found that if I stopped trying to ride the bike and just held the seat and gave a push to those on it, I was really doing my job and enabling the riders (our teams) to ride farther and faster.<br />
Sometimes it hurt a little to do these things, but after a while, our teams got used to it.  With time, we weren&#8217;t sore when practiced these &#8220;new&#8221; ways of working and we saw great improvements in efficiency and effectiveness.  So remember, when you start implementing agile project management and development practices, it going to hurt a little, but it&#8217;ll get better over time. And when you&#8217;re starting out and going through agile adoption curve, keep this in mind: If it hurts, you&#8217;re probably doing it right.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/if-it-hurts-youre-probably-doing-it-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project reporting</title>
		<link>http://edgehopper.com/project-reporting/</link>
		<comments>http://edgehopper.com/project-reporting/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:27:34 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,80a4cbd6-a5e1-4132-acc0-7c40b94ac330.aspx</guid>
		<description><![CDATA[Many organizations require a fair bit of weekly or monthly project status reports in order to provide invoices to clients and executive level visibility into project status.  Recently, I&#8217;ve been working through the issue of project reporting on our agile projects at the request of our COO.  He has implemented a policy requesting weekly project [...]]]></description>
			<content:encoded><![CDATA[<p>Many organizations require a fair bit of weekly or monthly project status reports in order to provide invoices to clients and executive level visibility into project status.  Recently, I&#8217;ve been working through the issue of project reporting on our agile projects at the request of our COO.  He has implemented a policy requesting weekly project status reports that require reporting on the iron triangle of scope, schedule and budget.  It&#8217;s not an overly complicated report and it doesn&#8217;t take much time to assemble.  However, I&#8217;m not entirely sure that it provides useful information for our customers and our executives.  It&#8217;s very easy to gloss over the facts in a line item report with very generalized reports for milestones, schedules, and forecasts reported only by a project manager.  Currently, my scope status section of the report looks something like this:</p>
<table border="0" cellspacing="0" cellpadding="2" width="538">
<tbody>
<tr>
<td width="217" valign="top"><strong><span style="color: #000000;">Milestone</span></strong></td>
<td width="83" valign="top"><strong><span style="color: #000000;">Schedule</span></strong></td>
<td width="119" valign="top"><strong><span style="color: #000000;">Current Forecast</span></strong></td>
<td width="116" valign="top"><strong><span style="color: #000000;">Status</span></strong></td>
</tr>
<tr>
<td width="216" valign="top"><span style="color: #000000;">Iteration 1: Foo Functionality</span></td>
<td width="83" valign="top"><span style="color: #000000;">3/24-4/4</span></td>
<td width="119" valign="top"></td>
<td width="116" valign="top"><span style="color: #000000;">Complete</span></td>
</tr>
<tr>
<td width="214" valign="top"><span style="color: #000000;">Iteration 2: Goo Functionality</span></td>
<td width="83" valign="top"><span style="color: #000000;">4/7-4/18</span></td>
<td width="119" valign="top"><span style="color: #000000;">On target</span></td>
<td width="116" valign="top"><span style="color: #000000;">In progress</span></td>
</tr>
</tbody>
</table>
<p>I&#8217;m not sure I see much useful data here.  What I think is so valuable about Scrum and tracking our progress in <a href="http://www.rallydev.com">Rally</a> is that we have actual metrics being reported every day directly by our development team.  We have iteration and release burndown charts that show our progress on a daily basis from real reported metrics.  We have a prioritized project backlog that shows what&#8217;s been completed and what we have left to do.  Our user stories in the backlog all have story points associated with them, and based on our team velocity, we can estimate how long it will take to complete the entire backlog or any portion of it.  Within our iteration backlogs, we have fine grained tasks with estimated and actual hours for each task.  In addition, we can add hourly rates to each developer, and based on the actuals reported through Rally, we can derive our budget status, which is especially important if we are working on a fixed-price contract.</p>
<p>I think that the metrics provided by using Scrum and <a href="http://www.rallydev.com">Rally</a> together provides far more information and visibility into the state of a project than a simple line item status report.  And, because the metrics are based on actuals being provided in near-real time by project team members, executives and customers can &#8220;peek&#8221; into the project at any given moment and know exactly what the situation is.  They don&#8217;t need to wait for the weekly or monthly status reports.  <a href="http://www.rallydev.com">Rally</a> is especially helpful in this case because it provides project, program, and workspace dashboard widgets which can provide burndown charts for all currently active projects.  With agile project reporting, there is nowhere to hide poor performance with generic terms that don&#8217;t deliver much information.  Everything is visible and accessible to everyone.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/project-reporting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Cooper Syndrome</title>
		<link>http://edgehopper.com/the-cooper-syndrome/</link>
		<comments>http://edgehopper.com/the-cooper-syndrome/#comments</comments>
		<pubDate>Thu, 20 Mar 2008 17:19:23 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Conference Reports]]></category>
		<category><![CDATA[Corporate Culture (or not)]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,ce002c0b-c084-4efe-8703-9ff534303ce4.aspx</guid>
		<description><![CDATA[Yesterday&#8217;s keynote speaker at the ESRI Developers Summit was Alan Cooper.  Cooper is the author of The Inmates are Running the Asylum and About Face.  His talk was entitled Post Industrial Management.  Mainly, he discussed how to get non-technical people to have success and achieve their goals with software products.   He did make some very [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/ad7df178682c_88EB/image_2.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/ad7df178682c_88EB/image_thumb.png" border="0" alt="image" width="186" height="136" align="left" /></a> Yesterday&#8217;s keynote speaker at the <a href="http://www.esri.com/events/devsummit/index.html">ESRI Developers Summit</a> was <a href="http://en.wikipedia.org/wiki/Alan_Cooper">Alan Cooper</a>.  Cooper is the author of <em>The Inmates are Running the Asylum</em> and <em>About Face</em>.  His talk was entitled Post Industrial Management.  Mainly, he discussed how to get non-technical people to have success and achieve their goals with software products.   He did make some very interesting and valid points regarding the management and executive view of software development.  In particular, he emphasized that organizational structure and technologies that worked in the past are failing today in the post-industrial bit-centric world.  I completely agree on this point.  Most of what passes for management today is based on industrial management, but the industrial age is over.  We need a new wave of executives to find the right organizational cultures and management tactics to support the new post-industrial knowledge workers.</p>
<p>He also hit on one of the topics that I really think is an issue in software management today and that is the difference between <a href="http://www.chrisspagnuolo.com/2007/10/09/EffectivenessVsEfficiency.aspx">effectiveness and efficiency</a> in software development.  I have written about this before and feel very passionate about it, and it&#8217;s worth mentioning again.  Cooper provided a quote from <a href="http://en.wikipedia.org/wiki/Peter_Drucker">Peter Drucker</a> that I think really summarizes this argument very well:</p>
<blockquote><p>Effectiveness is more important that efficiency.  Business can decline and even fail at the same time that process reform is dramatically improving efficiency by saving money for the company.</p></blockquote>
<p>I would agree and would argue along with Cooper that ignoring effectiveness to focus on cost reduction is a primary cause of software construction failures.</p>
<p>Cooper also made some great analogies to describe the way software is developed.  He doesn&#8217;t see software development as an industrial activity.  He believes it&#8217;s more like a pre-industrial craft in that things are made one at a time, they&#8217;re not formulaic, and they are complicated and nuanced.  But, he also see&#8217;s it as a post-industrial craft with more pieces, built by disparate teams, with abstracted notions and massive interaction between the parts.  He described the post-industrial craft of software development as existing in a brittle environment with invisible or intangible products, and working in a world of rapidly evolving tools.  I agree with most of that, except I&#8217;d like to believe that the products we produce aren&#8217;t invisible to our end users.</p>
<p>I really liked the points discussed above.  However, I found the remainder of his talk to be a little off-base and very biased to a waterfall or modified waterfall approach to software development.  In addition to promoting a waterfall approach, he made several misstatements about how agile teams work and plan.  His first comment was about planning.  He advocated that to successfully manage software projects, you <strong>must</strong> have detailed <strong>written</strong> plans.  He also claimed that contrary to engineers&#8217; claims, requirements <strong>don&#8217;t</strong> change.  He went on to slam agile practices by saying that agile practitioners say that &#8220;We shouldn&#8217;t plan because things change so rapidly&#8221;.  Anyone who has managed a software project using agile practices knows this is a huge waterfallacy (a fallacy about agile spread around by waterfall advocates).  Agile teams do plan at many <a href="http://www.chrisspagnuolo.com/2008/02/21/TheShapeOfThingsToCome.aspx">different levels</a>.  In fact, studies show that over the life of a project, agile teams do more planning that traditional development teams&#8230;they just do it iteratively.</p>
<p>Where Cooper really began to diverge from an agile approach to software development was in his description of what he called <em>The Software Construction Blueprint</em>.  Here are the required elements of Cooper&#8217;s &#8220;blueprint&#8221;:</p>
<ol>
<li> A narrative description of user personas and scenarios</li>
<li> A behavioral overview in narrative form</li>
<li> Detailed form and behavior specifications document</li>
<li> Detailed code examples showing how software will work</li>
<li> Detailed schedule and test plan</li>
</ol>
<p>According to Cooper, by definition, blueprints are buildable and biddable.  If you build the blueprint described above, Cooper wholeheartedly believes that you can give a fixed price bid that you are confident in.  Now, I don&#8217;t know about you, but I&#8217;ve worked on many projects that produced <em>blueprints</em> or whatever you want to call it, but it was heavy up-front requirements analyses.  They were not successful!  On top of that, our customers are not paying us for all of these narratives and specifications&#8230;they&#8217;re paying us for working software.  Now, according to Cooper, an interaction designer builds this entire blueprint and distills everything anyone needs to know about building the software and hands off the design to a production team that actually builds the software.  Because the interaction designer does his job and divine&#8217;s every requirement exactly, there should be no questions or problems negotiating the software development minefield on the part of the <em>production team</em>.</p>
<p>I have several issues with this line of thinking.  First and foremost, I believe this sets up serious silos within the development organization.  It says that the production team has no input on design and design has no real input on production beyond initial design.  I really believe that teams shouldn&#8217;t have different titles and divided responsibilities.  The team is the team, period. Break down these silos and strive for more cross-functional teams.  It builds a better understanding of the various project roles and makes for more <strong>effective</strong> teams.</p>
<p>A side issue I have to throw out there is the fact that Cooper is an interaction designer and really came across as <em>selling</em> his services in the keynote (something I found rather distasteful).  Afterward, someone asked Cooper if he or his organization ever builds what they&#8217;ve designed.  He answered &#8220;No, we don&#8217;t&#8221;.  I won&#8217;t elaborate here, but I&#8217;m pretty sure you&#8217;re thinking what I&#8217;m thinking.</p>
<p>The bigger issue with his line of thinking is that <strong>all</strong> requirements can be defined up front and that they don&#8217;t change over time.  We&#8217;ve all worked software projects before and we all know this isn&#8217;t true.  Customers essentially have some idea of what they want, but as the software is developed and demonstrated, they begin to understand what they really want.  In agile, we can address those new ideas or changes without any worry that our big upfront design and planning would have been wasted.  But, after asking Mr. Cooper about customer involvement in the production phase of his development model, I completely understood why he believes that requirements don&#8217;t change.  My question was simple, &#8220;Where in the production process do you share completed functionality with the customer and how do you manage the change that is inherent when a client begins looking at what has been developed?&#8221;  Aside from the relative hostility with which he answered this question, it was evident that in his model, there is no communication or collaboration with the customer in the production phase.  Apparently, it is possible for an interaction designer to not only define every last requirement up front, but they also have the innate capability to anticipate every change the client would make and addresses them in the <em>blueprint.</em> I guess it would stand to reason that if you ignore your customers and not allow their voice to be heard in the <em>production phase</em>, you&#8217;d think requirements don&#8217;t change too!</p>
<p>What really perturbed me was that Cooper said he doesn&#8217;t believe that the customer even knows what they want, and that the interaction designer knows better than anyone what they need.  I take real umbrage with this assertion.  Essentially, his opinion was ignore your customers, you know what they need.  This to me is a real problem in the software industry.  This kind of thinking is exactly what leads to the 65% of features in most software that are rarely or never used (Check out the <a href="http://www.standishgroup.com/">Standish Group&#8217;s</a> CHAOS Report).  Having someone of Cooper&#8217;s stature stand up and advocate this is not going to do anything good for the software development industry.  And, considering the already low rate of agile adoption in the GIS development world, the last thing that we needed to hear in a keynote session were these toxic, old-school notions of software development.  I&#8217;ve been searching for a term to describe this way of thinking and thanks to the keynote speech at the Dev Summit this week, I think I have one now&#8230;<strong>The Cooper Syndrome</strong>.  Maybe at next year&#8217;s Dev Summit, Dave Bouwman, myself, or someone else can give the agile counterpoint to the Cooper Syndrome.</p>
<p>If you want some more insight on the keynote, check out <a href="http://blog.dotnetspeech.net/archive/2008/03/19/esri-dev-summit-2008-keynote-alan-cooper.aspx">Jeff Certain&#8217;s blog post</a> on the keynote.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/the-cooper-syndrome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bonuses in an agile organization?</title>
		<link>http://edgehopper.com/bonuses-in-an-agile-organization/</link>
		<comments>http://edgehopper.com/bonuses-in-an-agile-organization/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 13:51:40 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Corporate Culture (or not)]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,5e053aa6-ecbb-4c8f-808e-b57cf3389609.aspx</guid>
		<description><![CDATA[A great question that I&#8217;ve heard several times now is &#8220;How do you award bonuses or implement employee incentive programs in an agile organization?&#8221;.  As we&#8217;ve been rolling out our enterprise agile strategy at DTS, we&#8217;ve been wrestling with this question too.  Since agile practices don&#8217;t encourage heroism or the individual developer but instead focus [...]]]></description>
			<content:encoded><![CDATA[<p>A great question that I&#8217;ve heard several times now is &#8220;How do you award bonuses or implement employee incentive programs in an agile organization?&#8221;.  As we&#8217;ve been rolling out our enterprise agile strategy at <a href="http://www.edats.com">DTS</a>, we&#8217;ve been wrestling with this question too.  Since agile practices don&#8217;t encourage heroism or the individual developer but instead focus on team accomplishments, we thought that bonuses needed to be dished out on a team-wide basis.  We&#8217;ve considered project based bonuses for the entire project team and we&#8217;ve also considered iteration based bonuses for the project team.  In the project based model, we&#8217;ve been considering providing bonuses if our project teams complete their work ahead of schedule, under budget, and with 100% client acceptance.  The structure of the bonus would be something like 1% of the total contract value to be divided amongst the project team as they see fit.</p>
<p>Our other option is to do iteration based bonuses.  This idea came to me from my friend <a href="http://www.paraccel.com/pages/company/management.php">Bruce Scott</a> who works at a Silicon Valley company called <a href="http://www.paraccel.com">ParAccel</a>.  Bruce ran a few &#8220;experiments&#8221; with agile teams and iteration based bonuses.  Before I just launch into the results of Bruce&#8217;s experiments you should know who Bruce is.</p>
<p>Bruce has more than 25 years of experience building successful and profitable IT enterprises.  He has been responsible for product management and engineering, research, services and support at SenSage. As VP of Engineering, he improved the product strategy and engineering process, leading to strategic partnerships with EMC, IBM, HP and Tokyo Electron. He also founded and served as CEO of PointBase, a Java-based embedded database provider. Building the company from the ground up, his licensing savvy and strategic partnerships led to its successful sale to DataMirror.  Back in 1984, Bruce co-founded Gupta Corp. As VP of Database and Connectivity R&amp;D, he developed its first database product, SQLBase, the first database server to run on a PC LAN and support the client-server architecture. Prior to Gupta, Bruce was one of four co-founders of Oracle Corp., serving as the principle engineer and architect of Oracle database&#8217;s first three versions. Hundreds of thousands of Oracle users know Bruce by the product&#8217;s default username and password &#8220;Scott/Tiger.&#8221; So, Bruce has credibility if know what I mean.</p>
<p>Bruce&#8217;s experiment was simple.  In the middle of an iteration that appeared stagnant or not very likely to conclude successfully, he announced that if his development team burned down the iteration to zero by then end of the iteration, each team member would receive a $1000 bonus.  Here&#8217;s what the burndown chart looked like for that iteration:</p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_2.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_thumb.png" border="0" alt="image" width="606" height="405" /> </a><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_2.png"> &gt; </a></p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_2.png"> What looked to be a failing iteration was rescued by providing an incentive to burn down the iteration successfully.  The burndown rate following the bonus announcement is staggering. </a></p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_2.png"> The second experiment Bruce ran was to announce a $1000 bonus at the start of the next iteration.  Here&#8217;s what the burndown chart looked like for that iteration: </a></p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_2.png"> </a><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_6.png"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Bonusesinanagileorganization_12D96/image_thumb_2.png" border="0" alt="image" width="600" height="354" /></a></p>
<p>According to Bruce, the team stayed below the ideal burndown line until 1/30 where they added another significant story. The story wasn’t completed and was removed at the end of the sprint. This was a 31 point sprint, which was the highest this team had ever done. The sprint velocity before this was 23.5!</p>
<p>So, judging from Bruce&#8217;s experiments, I&#8217;d say iteration based bonuses look like pretty good incentives to keep agile teams going.  And, when it comes to project based bonuses, here&#8217;s Bruce&#8217;s take on the subject:</p>
<blockquote><p>On the topic of bonuses per sprint or per project, I had the identical discussion with my CEO. I convinced him to do it per sprint for the following reasons:</p>
<p>1) A project bonus is un-Agile like. What if the scope of the project changes? This is easier and more realistic to manage on a sprint than a project basis.</p>
<p>2) There is a backpackers saying in regards to minimizing the weight of a backpack that says “watch the ounces and the pounds will take care of themselves.”</p>
<p>3) Per sprint bonuses provide more immediate rewards and have a more likely impact on velocity than a long term reward.</p></blockquote>
<p>I&#8217;m not sure which we&#8217;ll finally implement at <a href="http://www.edats.com/">DTS</a>, but I&#8217;m leaning heavily toward iteration based bonuses based on Bruce&#8217;s results.  If you have any opinions on the topic, or have any metrics you&#8217;d like share based on bonuses or incentives, I&#8217;d love to hear them.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/bonuses-in-an-agile-organization/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Agile Project Management for GIS now online</title>
		<link>http://edgehopper.com/agile-project-management-for-gis-now-online/</link>
		<comments>http://edgehopper.com/agile-project-management-for-gis-now-online/#comments</comments>
		<pubDate>Thu, 28 Feb 2008 14:08:06 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,2b870c07-5d11-4447-811a-12154792bd43.aspx</guid>
		<description><![CDATA[This month, Dave Bouwman and I authored an article on agile project management for GIS development projects in GIS Development Magazine.  The article was published in the hard copy magazine and is now available online also.  If you&#8217;re interested in reading the article, check it out here. © Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo [...]]]></description>
			<content:encoded><![CDATA[<p>This month, <a href="http://www.davebouwman.net/Default.aspx">Dave Bouwman</a> and I authored an article on agile project management for GIS development projects in <a href="http://www.gisdevelopment.net/">GIS Development Magazine</a>.  The article was published in the hard copy magazine and is now available online also.  If you&#8217;re interested in reading the article, check it out <a href="http://www.gisdevelopment.net/magazine/global/2008/february/32.htm">here</a>.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/agile-project-management-for-gis-now-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The shape of things to come</title>
		<link>http://edgehopper.com/the-shape-of-things-to-come/</link>
		<comments>http://edgehopper.com/the-shape-of-things-to-come/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 17:33:39 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,f66b1c2e-3434-41eb-ab24-7ec2d8eb1292.aspx</guid>
		<description><![CDATA[Yesterday, I wrote about backlogs and what your team includes in them.  Well, it seems that backlogs are on my mind a lot this week.  Today, I was working on a backlog for a new project and was considering what should be in it.  How far ahead should I be looking and what should the [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I wrote about backlogs and what your team includes in them.  Well, it seems that backlogs are on my mind a lot this week.  Today, I was working on a backlog for a new project and was considering what should be in it.  How far ahead should I be looking and what should the granularity of the stories be?  This brought to mind the idea of planning horizons and prioritization.</p>
<p>The backlog I assembled is for the rollout of agile practices throughout our company&#8217;s enterprise.  So, I have some things that require immediate attention and some that I know we won&#8217;t be considering for a few months.  What I decided was to create a backlog with several planning horizons embedded in it.  The near term horizon has stories that are well defined.  The medium range horizon (2-3 months out) has stories that are defined but are still kind of fuzzy.  And the long range horizon (3-6 months or more out) has stories that are really just headlines.  As we move ahead in time, I&#8217;ll work to increase the granularity of the medium and long range stories as they get closer to implementation.  We do this on all of our agile projects.  What is does is effectively reduce the waste of spending too much upfront time defining the details of a story that may or may not ever be implemented.</p>
<p>The next thing I had to do was start prioritizing the stories.  Instead of spending too much time prioritizing the entire list, I actually went through the list and did a top ten list of stories.  I know that we aren&#8217;t going to work through more than 10 stories in the next 4 weeks, so I think that prioritizing beyond that can be wasteful as well.  As we complete stories on the top ten list, we&#8217;ll move new stories into the top ten to keep it constantly stocked.</p>
<p>I think that the use of both of these ideas keeps the backlog in alignment with value production and reduce waste.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/the-shape-of-things-to-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drift happens</title>
		<link>http://edgehopper.com/drift-happens/</link>
		<comments>http://edgehopper.com/drift-happens/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 18:49:49 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,e81dd68f-c6d6-4be2-aef0-7c62391d881a.aspx</guid>
		<description><![CDATA[Over the course of long projects (and some short ones too), the shared understanding of the project, release, or even iteration goals can drift.  Different team members remember or interpret project aspects differently over time.  This drift can result in producing a final product that doesn&#8217;t satisfy your client&#8217;s expectations.  So how do we counter [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Drifthappens_A657/image_2.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 10px 0px 0px; border-left: 0px; border-bottom: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Drifthappens_A657/image_thumb.png" border="0" alt="image" width="187" height="123" align="left" /></a> Over the course of long projects (and some short ones too), the shared understanding of the project, release, or even iteration goals can drift.  Different team members remember or interpret project aspects differently over time.  This drift can result in producing a final product that doesn&#8217;t satisfy your client&#8217;s expectations.  So how do we counter drift throughout the life of a project?  Some say &#8220;Write a vision statement and stick it on the wall?&#8221;.  I&#8217;m not a big fan of &#8220;statements&#8221;.  I think people get lost in them, and statements, over time, can be open to interpretation as well.</p>
<p>Short of a unifying statement of sorts, how else can you keep your team synchronized with the goal&#8217;s of the project, release or iteration?    That&#8217;s where the beauty of agile practices comes in.  There are several practices which foster a cohesive, shared understanding of the goals: the iteration planning meetings, the iteration review, the retrospectives&#8230;but none more than the daily stand-up.  I think the daily stand-up helps anchor agile teams to their goals more than anything else.  On a daily basis, drift is kept in check by synchronizing the work underway.  If teams treat their daily stand-ups more as a synchronization conversation rather than a status report, I think the daily stand up can go a long way towards preventing drift from happening.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/drift-happens/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Architecture in an agile project</title>
		<link>http://edgehopper.com/architecture-in-an-agile-project/</link>
		<comments>http://edgehopper.com/architecture-in-an-agile-project/#comments</comments>
		<pubDate>Mon, 21 Jan 2008 16:22:46 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,e3c1816d-b150-4ee4-80ed-778e5151369f.aspx</guid>
		<description><![CDATA[Something our team has wrestled with over the course of our agile adoption is how architecture and framework development fit into our Scrum process.  We strive to deliver an increment of functionality to our client at the conclusion of each sprint.  However, in many of our early sprints, we have to do architecture and framework development.  [...]]]></description>
			<content:encoded><![CDATA[<p>Something our team has wrestled with over the course of our agile adoption is how architecture and framework development fit into our Scrum process.  We strive to deliver an increment of functionality to our client at the conclusion of each sprint.  However, in many of our early sprints, we have to do architecture and framework development.  The things we develop on these types of architecture/functionality tasks are not really useable by our clients and we really can&#8217;t demo them either.  <a href="http://briannoyle.wordpress.com/2008/01/17/agile-in-your-architecture-processwhere-to-put-it/">Brian Noyle</a> recently wrote a <a href="http://briannoyle.wordpress.com/2008/01/17/agile-in-your-architecture-processwhere-to-put-it/">post</a> on his blog asking a similar question.</p>
<p>So, we&#8217;ve decided that the best of course of action is to strike a good balance between architecture/framework and functionality development.  In earlier sprints, we&#8217;ve accepted that architecture/framework will be a big part of what we&#8217;re working on.  But we&#8217;ve also become cognizant of the fact that we need to show something to the client in terms of functionality.  So, we usually comb through the backlog and pick the highest prioritized backlog item that we can complete early in the first sprints, while still doing the architecture/framework tasks we need to get done.  In this way, we ensure that the client sees forward progress that they can touch and understand right out of the gate, and we build the architecture and framework to support future development efforts on the project.  As we progress through our development, architecture/framework tasks become fewer and our delivery of functionality increases steadily.  In graphic form, it looks something like this:</p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Architectureinanagileproject_83DC/image_2.png"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Architectureinanagileproject_83DC/image_thumb.png" border="0" alt="image" width="552" height="370" /></a></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/architecture-in-an-agile-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Estimating the learning curve</title>
		<link>http://edgehopper.com/estimating-the-learning-curve/</link>
		<comments>http://edgehopper.com/estimating-the-learning-curve/#comments</comments>
		<pubDate>Thu, 10 Jan 2008 19:11:28 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,7b2dcec7-6194-45a9-9df7-d8eaf40c2c52.aspx</guid>
		<description><![CDATA[Over the past two months, our development team has gone through a lot of changes&#8230;from joining a new company and setting up a new work environment to learning new technologies to serve our new clients.  In general, we were a desktop-based shop that focused on the ESRI desktop stack.  However, many of our new clients [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Estimatingthelearningcurve_A4FE/lc_2.jpg"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Estimatingthelearningcurve_A4FE/lc_thumb.jpg" border="0" alt="lc" width="230" height="244" align="left" /></a> Over the past two months, our development team has gone through a lot of changes&#8230;from joining a new company and setting up a new work environment to learning new technologies to serve our new clients.  In general, we were a desktop-based shop that focused on the ESRI desktop stack.  However, many of our new clients require web-based mapping applications.  As such, our team is currently climbing a very steep learning curve to work with a new set of technologies in a new environment.  More to the point, there are way more unknowns in what we&#8217;re currently doing than we&#8217;ve ever dealt with in the past.</p>
<p>One of the issues this has raised for us is how valid our current user story estimates are.  Right now, everything seems more complex because we are researching just about everything we&#8217;re doing.  Will the story points we assign to a user story today be valid in 6 months when our tasks become commonplace?  Can we use our current velocity based on our learning curve to provide estimates for new work? We have lots of questions running through our heads right now and we&#8217;re coming to grips with some of the answers.</p>
<p>Earlier today I was speaking with <a href="http://www.rallydev.com/management_team.jsp">Ryan Martens</a>, the CTO and Founder of <a href="http://www.rallydev.com/">Rally Software Development</a>, and I asked him what he would do in this situation.  Ryan presented two solutions, both of which I think are very useful and effective for resolving our estimating issues.</p>
<p><strong>The 3-Month Sliding Window Approach</strong></p>
<p>One way to address the learning curve is to use a 3-month sliding window approach.  In this approach, recent history is more important than long-term history.  Go ahead and give the user stories the story points you think they deserve based on your current level of knowledge.  But, as you go forward use the past 3-month&#8217;s worth of estimates to derive your team&#8217;s velocity.  Keep the 3-months of estimates and velocities sliding forward so that as you move forward and learn more, your estimates and velocity are based on your most recent metrics, not on those gathered during your earlier stages in the learning curve.  The further along in your technology transition you progress, the more stable your estimates will become.  Once your transition is complete, your estimates and velocity should be far more valid than they were at the beginning of your transition.</p>
<p><strong>Factor Out the Learning Curve</strong></p>
<p>Another way to deal with the learning curve is to just factor it out of the equation.  Split the new complex user stories into two pieces: the research component and the actual development component.  Add research spikes to your iterations to learn how to do whatever it is you&#8217;re getting up to speed on.  Once you figure out how to do it, then estimate the user story in another iteration.  The isolated user story estimate should be closer to a valid value than if you considered it together with your research task.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/estimating-the-learning-curve/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Get Your Product Owner to Prioritize</title>
		<link>http://edgehopper.com/how-to-get-your-product-owner-to-prioritize/</link>
		<comments>http://edgehopper.com/how-to-get-your-product-owner-to-prioritize/#comments</comments>
		<pubDate>Thu, 03 Jan 2008 18:42:21 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,02278be5-8749-42cd-9655-5c1dedb56da0.aspx</guid>
		<description><![CDATA[I was recently reading a short story by Jorge Luis Borges called &#8220;Funes the Memorius&#8220;. It’s a story about a man with the strange inability to forget.  He remembers every detail in his life, but he can&#8217;t distinguish between the trivial and the important.  He can&#8217;t prioritize and he can&#8217;t generalize. This made me think [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently reading a short story by <a href="http://en.wikipedia.org/wiki/Jorge_Luis_Borges">Jorge Luis Borges</a> called &#8220;<a href="http://en.wikipedia.org/wiki/Funes%2C_the_Memorious">Funes the Memorius</a>&#8220;. It’s a story about a man with the strange inability to forget.  He remembers every detail in his life, but he can&#8217;t distinguish between the trivial and the important.  He can&#8217;t prioritize and he can&#8217;t generalize. This made me think about product owners I’ve worked with in the past. They could not distinguish between the trivial and the important. They could not (or would not) prioritize or generalize.</p>
<p>I have worked with product owners in the past that considered everything a priority. That’s not reality and it certainly doesn’t help the development team focus on delivering valuable functionality quickly. So, how do we deal with a product owner that can’t make these distinctions? How do we help them understand their own priorities? It’s a tricky proposition, especially in the consulting world. It’s hard to tell a client that something they want isn’t important or isn’t of high value. But, you’ll run the risk of having a dissatisfied customer if you simply go along with the “everything is a priority” mode of thinking.</p>
<p>Here’s some practical advice to help you help your product owners prioritize. First and foremost, understand that there is no exact science to prioritizing. With that caveat, one of the techniques we have used that seems to be effective is an adaptation of <a href="http://www.processimpact.com/bio.shtml">Karl Weigers’</a> <a href="http://www.processimpact.com/articles/prioritizing.html">benefit-penalty prioritization method</a>.  We combine this with a version of the <a href="http://www.planningpoker.com/detail.html">planning poker</a> game and call it &#8220;prioritization poker&#8221;.  Using this technique, we ask our product owner and other stakeholders to walk through a list of established user stories. We then ask them to estimate the benefit that the user story will provide on a scale of 1 to 9 (1 being of no real benefit and 9 being the highest benefit). We then do the same thing again, except we have the product owner and stakeholders assign an estimate of the penalty for NOT implementing the user story, again on a scale of 1-9 (1 being of no penalty and 9 being the largest penalty).</p>
<p>We then add the numbers together to get a total value for the user story. Lower total value numbers are great indicators of what Wiegers calls “gold plating”…you know, those 65% of requirements that are rarely or never used when an application is complete. To understand how the user stories relate to each other in a real prioritization scheme, we add all of the total values for the user stories to come up with a total value for the entire application. We then divide the user story value by the total value to arrive at a value percent. We then sort the user stories by the value percent to identify the most valuable user stories to be developed. In table form it looks something like this:</p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/HowtoGetYourProductOwnertoPrioritize_A4A0/prioritization_2.jpg"><img style="border: 0px none ;" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/HowtoGetYourProductOwnertoPrioritize_A4A0/prioritization_thumb.jpg" border="0" alt="prioritization" width="550" height="274" /></a></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/how-to-get-your-product-owner-to-prioritize/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Closing agile projects</title>
		<link>http://edgehopper.com/closing-agile-projects/</link>
		<comments>http://edgehopper.com/closing-agile-projects/#comments</comments>
		<pubDate>Mon, 17 Dec 2007 15:00:29 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,02fee260-6075-4ad1-8947-b7d3408049da.aspx</guid>
		<description><![CDATA[I was giving some thought to how to close out agile projects today and realized that because agile projects are managed in an iterative manner, closing a project should be a simple affair with no surprises. During the lifespan of the project, agile teams should be conducting product review sessions at the end of every [...]]]></description>
			<content:encoded><![CDATA[<p>I was giving some thought to how to close out agile projects today and realized that because agile projects are managed in an iterative manner, closing a project should be a simple affair with no surprises. During the lifespan of the project, agile teams should be conducting product review sessions at the end of every two week iteration with their product owners. At the review sessions, the development team should present the functionality they developed in the previous iteration. During the review the product owner and other stakeholders should have the ability to comment on the functionality developed. These reviews allow the product owner to provide iterative acceptance of developed functionality.</p>
<p>Agile teams should also base their work on regularly scheduled releases. These releases should be a culmination of a series of functions and features developed over the course of several iterations. These product releases will be full releases of useable, valuable features to the product owner and their organization. A release review similar to the iteration review described above can be conducted to review release functionality. The product owner will have the ability to accept the functionality within a specified time period after the release date. This provides a second level of acceptance for the product owner.</p>
<p>The final release of the product should follow the same pattern as the release cycle described above. In this way, the final release should really have no other fanfare than any other iteration or release (except for your team’s joy at being done with a product). Because your team has been releasing and gaining client acceptance on a bi-weekly basis, there should be no surprises in this final release. Final client acceptance should just be a formalization of the collective acceptance that has been built up over the life of the project.</p>
<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Closingagileprojects_CCF1/image_2.png"><img style="border-width: 0px;" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/Closingagileprojects_CCF1/image_thumb.png" border="0" alt="image" width="391" height="261" /></a></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/closing-agile-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Client Communication over Contract Negotiation?</title>
		<link>http://edgehopper.com/client-communication-over-contract-negotiation/</link>
		<comments>http://edgehopper.com/client-communication-over-contract-negotiation/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 05:48:51 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,807cff53-83eb-4ceb-8705-5f9d67c250b5.aspx</guid>
		<description><![CDATA[Today, I spent the afternoon with a client from a large state agency here in Denver. We were onsite for a project kickoff meeting. At the meeting, we discussed several pertinent issues about the project, including our use of agile practices to manage the project. The client and our new employer are very open to our [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/ClientCommunicationoverContractNegotiati_140CC/image%7B0%7D%5B6%5D.png"><img style="border-right: 0px; border-top: 0px; margin: 0px 15px 0px 0px; border-left: 0px; border-bottom: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/ClientCommunicationoverContractNegotiati_140CC/image%7B0%7D_thumb%5B2%5D.png" border="0" alt="" width="187" height="144" align="left" /></a> Today, I spent the afternoon with a client from a large state agency here in Denver. We were onsite for a project kickoff meeting. At the meeting, we discussed several pertinent issues about the project, including our use of agile practices to manage the project. The client and our new employer are very open to our use of agile practices. However, the question arose about how to handle changing requirements over the course of the project. Now, I should state up front that this is a fixed-price contract. Essentially, we all agreed that for most changes, we would work within the bounds of Scrum and use a prioritized backlog to move items in and out of scope. However, for large scale changes to the requirements, we would probably need to use more formal channels like change orders. We discussed this for a bit, and everyone felt comfortable with this decision in the end.</p>
<p>However, on the drive home to Ft. Collins, <a href="http://blog.davebouwman.net/">Dave Bouwman</a> and I had a discussion about change management in the hybrid world of <a href="http://www.chrisspagnuolo.com/2007/10/18/FixedpriceAgility.aspx">fixed-price agile contracting</a>. The main point was about contract negotiation over the lifespan of an agile project. Now, I know…one of the tenets of the <a href="http://agilemanifesto.org/">Agile Manifesto</a> is that we value client communication over contract negotiation.  While this may be true, there is also an element of reality that requires us as consulting-ware developers to have to deal with contract negotiations in the fixed-price world.</p>
<p>In the consulting world, we are frequently bound by contracts that, at some level, define the requirements we need to deliver.  As we proceed through a project using agile practices, we frequently rearrange the priorities of these requirements (or <a href="http://en.wikipedia.org/wiki/User_story">user stories</a>).  In addition to rearranging the priority of user stories, we often find it necessary during a project’s lifespan to remove some stories from the backlog and add others.  Whether we like it or not…whether we consider it agile or something else, these changes to the product/project backlog may require change orders. Most of the time, this is not really ideal for either the consultant or the client. We’d rather just embrace the change, and move on to continue developing valuable software.</p>
<p>However, at most government agencies and even some private companies, there is a contracting officer, whose job it is to check the “boxes” to confirm that you delivered functionality X, Y, and Z at the end of the project. If we make a noticeable change to the requirements (especially removing one), we may need to change those “boxes” so we don’t get dinged for non-performance. Not quite agile…but a very realistic and common scenario.</p>
<p>So, back to the manifesto…client communication over contract negotiation, right? Well, I’m not sure that these two need to be mutually exclusive (and I don’t believe that the manifesto implies this either). I believe that they are both very relevant in the consulting-ware world. I think that if you establish an open, collaborative relationship with your client that thrives on honest communication, then contract negotiation (especially change management) can be relatively painless. If your client truly understands the agile process and feels well informed and confident about scope changes, they can become a champion for these changes with their contracting agent. They will be able to communicate in clear terms why the changes need to be affected and how these changes provide increased value and quality to their end-product. This could create an easier path to official change orders for you and your client.</p>
<p>I also believe that over time, your client may come to really appreciate the success of agile practices and possibly “sell” their contracting office on the virtues of fully agile contracts. If you and your team work to consistently deliver value and quality using agile practices, maybe you can start to help organizations change the way the way they view software development contracts in the future. Nothing sells better than success!</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/client-communication-over-contract-negotiation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile Contracting at Agile Commons and the Agile Development Practices Conference</title>
		<link>http://edgehopper.com/agile-contracting-at-agile-commons-and-the-agile-development-practices-conference/</link>
		<comments>http://edgehopper.com/agile-contracting-at-agile-commons-and-the-agile-development-practices-conference/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 04:27:32 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,62c2ba42-d1e4-40cb-b1b5-0d47fd1083c4.aspx</guid>
		<description><![CDATA[Rachel Weston and I have have started a new hive on Agile Commons called Agile Contracting.  It&#8217;s a dedicated space for the agile community to discuss and share ideas about agile contracting in a non-agile world. We&#8217;ll also be organizing an Agile Contracting discussion at the Agile Development Practices Conference in Orlando, FL, December 3-6.  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rallydev.com/westonbio.html"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 10px 0px 0px; BORDER-RIGHT-WIDTH: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/AgileContractingatAgileCommonsandtheAgil_12DBE/ac%5B6%5D.jpg" border="0" alt="" width="78" height="55" align="left" /> Rachel Weston</a> and I have have started a new hive on <a href="http://ac.hivelive.com/pages/home">Agile Commons</a> called <a href="http://ac.hivelive.com/hives/bfe2f4f471/summary">Agile Contracting</a>.  It&#8217;s a dedicated space for the agile community to discuss and share ideas about agile contracting in a non-agile world.</p>
<p>We&#8217;ll also be organizing an Agile Contracting discussion at the <a href="http://www.sqe.com/agiledevpractices/">Agile Development Practices Conference</a> in Orlando, FL, December 3-6.  If you&#8217;re interested, please contact <a href="mailto:Rachel.Weston@rallydev.com">Rachel</a> or <a href="mailto:chris@chrisspagnuolo.com">myself</a> as we are trying to organize this discussion as one of the <a href="http://www.sqe.com/agiledevpractices/Schedule/Default.aspx">Open Space</a> sessions on Thursday, December 6.</p>
<p><a href="http://www.sqe.com/agiledevpractices/"><img src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/AgileContractingatAgileCommonsandtheAgil_12DBE/agile_conf%5B8%5D.jpg" alt="" width="611" height="90" /></a></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/agile-contracting-at-agile-commons-and-the-agile-development-practices-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More on Agile contracts</title>
		<link>http://edgehopper.com/more-on-agile-contracts/</link>
		<comments>http://edgehopper.com/more-on-agile-contracts/#comments</comments>
		<pubDate>Sat, 10 Nov 2007 03:24:33 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,c75e20c2-c5d4-49e6-834a-10bd597bab60.aspx</guid>
		<description><![CDATA[In my never ending search for the holy grail of agility, the agile contract, I came across a post today from Mishkin Berteig on Agile Advice loaded with links to more agile contracting ideas.  The post includes links to contract presentations, data, and posts from Mary and Tom Poppendieck, Alistair Cockburn, and Martin Fowler just [...]]]></description>
			<content:encoded><![CDATA[<p>In my never ending search for the holy grail of agility, the agile contract, I came across a post today from <a href="http://www.berteigconsulting.com/">Mishkin Berteig</a> on <a href="http://www.agileadvice.com/">Agile Advice</a> loaded with links to more agile contracting ideas.  The post includes links to contract presentations, data, and posts from <a href="http://www.poppendieck.com/">Mary and Tom Poppendieck</a>, <a href="http://alistair.cockburn.us/index.php/Main_Page">Alistair Cockburn</a>, and <a href="http://martinfowler.com/">Martin Fowler</a> just to name a few.  Definitely worth a read.  Check out the post at <a href="http://www.agileadvice.com/archives/2007/11/agile_contracts.html">Agile Advice</a> when you get a chance.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/more-on-agile-contracts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to sell agility</title>
		<link>http://edgehopper.com/how-to-sell-agility/</link>
		<comments>http://edgehopper.com/how-to-sell-agility/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 14:23:14 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,a074806b-0914-4b82-b9d1-543fd24ff86b.aspx</guid>
		<description><![CDATA[After writing my post about agile in the fixed-price world, I received numerous comments and e-mails about the topic.  It seems like selling agile to the customer is a very common concern amongst agile practitioners, especially in fixed-price situations.  While it seems  like no one has a real magic bullet to help us navigate the fixed-price world, [...]]]></description>
			<content:encoded><![CDATA[<p>After writing my post about <a href="http://www.chrisspagnuolo.com/2007/10/18/FixedpriceAgility.aspx">agile in the fixed-price world</a>, I received numerous comments and e-mails about the topic.  It seems like selling agile to the customer is a very common concern amongst agile practitioners, especially in fixed-price situations.  While it seems  like no one has a real magic bullet to help us navigate the fixed-price world, there is quite the conversation going on in the agile community about this topic.  If you&#8217;re interested in more opinions about selling agile to your customer, check out some of the following links:</p>
<p><a href="http://www.facebook.com/topic.php?uid=2304474737&amp;topic=3138">How to Sell Agile to the Customer</a> A discussion thread on <a href="http://www.facebook.com/">Facebook</a> in the <a href="http://www.facebook.com/group.php?gid=2304474737">Agile and Lean Development Community</a> group.   Also, I highly recommend joining this group if you&#8217;re interested in agile practices.</p>
<p><a href="http://blog.davebouwman.net/2007/10/30/ChangingTheGameMakingAgileTheQuotDefaultMethodologyquot.aspx">Changing the Game: Making Agile the &#8220;Default Methodology&#8221;</a> A short post by my colleague <a href="http://blog.davebouwman.net/">Dave Bouwman</a> describing a company&#8217;s view on presenting agile practices at a short list interview as their default methodology.  And it worked.</p>
<p><a href="http://www.smartbeanz.net/blog/index.php/2007/09/03/win-a-rfp-with-an-agile-proposal/">Winning a fixed-price RFP with an agile proposal<img src="http://i.ixnp.com/images/v2.27.1/t.gif" alt="" /></a> and <a href="http://www.smartbeanz.net/blog/index.php/2007/10/16/there-is-no-such-thing-as-fixed-scope/">There is no such thing as fixed scope</a> by Eduard Liebenberger</p>
<p><a href="http://ayende.com/Blog/archive/2007/09/02/Fixed-bids-agile-projects.aspx">Fixed bids, agile projects</a> by Oren Eini</p>
<p><a href="http://www.xprogramming.com/ftp/Optional+scope+contracts.pdf">Optional scope contracts</a> by Kent Beck</p>
<p>Since this appears to be a topic of concern for most agile practitioners, I&#8217;ll keep posting any new resources about this issue as I find them.  Thanks to everyone who has contributed to this growing list.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/how-to-sell-agility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Link Karma: Fixed-price Agility</title>
		<link>http://edgehopper.com/link-karma-fixed-price-agility/</link>
		<comments>http://edgehopper.com/link-karma-fixed-price-agility/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 18:10:15 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,267909f3-7856-43c8-a694-bdfcdb7c4542.aspx</guid>
		<description><![CDATA[OK folks, I&#8217;ve done some banging around and received some excellent links from others about agile practices and fixed-price contracts.  Looks like I&#8217;m not the only one asking this question.  Unfortunately, there doesn&#8217;t seem to be too much good news out there, but here are some links to other articles on the topic: The Dire Consequences of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/LinkKarmaFixedpriceAgility_AB50/Karma.jpg"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 10px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/LinkKarmaFixedpriceAgility_AB50/Karma_thumb.jpg" border="0" alt="Karma" width="56" height="70" align="left" /></a> OK folks, I&#8217;ve done some banging around and received some excellent links from others about agile practices and fixed-price contracts.  Looks like I&#8217;m not the only one asking this question.  Unfortunately, there doesn&#8217;t seem to be too much good news out there, but here are some links to other articles on the topic:</p>
<p><a href="http://www.ddj.com/architect/199001126?cid=Ambysoft" target="_blank">The Dire Consequences of Fixed-Price Contracts</a> on <a href="http://www.ddj.com/" target="_blank">Dr. Dobb&#8217;s</a> by <a href="http://www.ambysoft.com/ " target="_blank">Scott Ambler</a></p>
<p><a href="http://www.poppendieck.com/pdfs/Ken%20Schwaber.pdf" target="_blank">Fixed Price, Fixed Date Contracts</a> at Engage by <a href="http://en.wikipedia.org/wiki/Ken_Schwaber" target="_blank">Ken Schwaber</a></p>
<p><a href="http://www.infoq.com/news/Agile-Fixed-Price-Contracting" target="_blank">Agile Fixed Price Contracting</a> on <a href="http://www.infoq.com" target="_blank">InfoQ</a> by Deborah Hartman</p>
<p><a href="http://poppendieck.com/pdfs/Fixed%20Price%20Experience.pdf" target="_blank">Fixed Price Contract &amp; Agile Software Development</a>: an &#8220;experience in process&#8221; report by Christine Moore of <a href="www.cariboulake.com/ " target="_blank">Caribou Lake Software</a></p>
<p><a href="http://www.scrumalliance.org/articles/70-why-fixed-bids-are-bad-for-clients" target="_blank">Why Fixed Bids are Bad for Clients</a> on <a href="http://www.scrumalliance.org/" target="_blank">Scrum Alliance</a> by <a href="http://www.scrumalliance.org/profiles/241-andy-brandt" target="_blank">Andy Brandt</a></p>
<p><a href="http://www.nayima.be/download/fixedpriceprojects.pdf" target="_blank">Agile Fixed Price Projects Part 1: The Price is Right</a> by Pascal Van Cauwenberghe of <a href="http://www.nayima.be/" target="_blank">Nayima</a></p>
<p><a href="http://www.nayima.be/download/agilefixedprice.pdf" target="_blank">Agile Fixed Price Projects Part 2: Do you want agility with that?</a> by Pascal Van Cauwenberghe of <a href="http://www.nayima.be/" target="_blank">Nayima</a></p>
<p><a href="http://www.think-box.co.uk/blog/2005/12/illusion-of-fixed-price-contracts.html" target="_blank">The Illusion of Fixed-Price Contracts</a> by Simon Baker on <a href="http://www.agileinaction.com/" target="_blank">Agile in Action</a></p>
<p><a href="http://thewebfarm.com/blog/archive/2005/10/20/333.aspx" target="_blank">More on Fixed Price Agile</a> on <a href="http://thewebfarm.com/blog/" target="_blank">The Webfarm Blogs</a> by Paul Webb</p>
<p>I&#8217;m sure there are plenty more out there as well.  If you have some good links about this topic, please feel free to post a comment with the link.</p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/link-karma-fixed-price-agility/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixed-price Agility?</title>
		<link>http://edgehopper.com/fixed-price-agility/</link>
		<comments>http://edgehopper.com/fixed-price-agility/#comments</comments>
		<pubDate>Thu, 18 Oct 2007 02:45:55 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Agile Practices]]></category>
		<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,6eb450f3-da34-47c4-a0b0-641784cb9677.aspx</guid>
		<description><![CDATA[This week I had to deliver a talk about Enterprise Scrum at a corporate offsite.  We were trying to sell Scrum to our entire organization.  After the presentation, the questions starting flowing.  Most, I could easily answer.  However, the tricky question of how to work a fixed-price fixed-date contract in an agile manner came up. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/FixedpriceAgility_123FD/handcuffs%5B5%5D.jpg"><img style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 0px 25px 0px 0px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" src="http://www.chrisspagnuolo.com/content/binary/WindowsLiveWriter/FixedpriceAgility_123FD/handcuffs_thumb%5B3%5D.jpg" border="0" alt="" width="240" height="181" align="left" /></a> This week I had to deliver a talk about Enterprise Scrum at a corporate offsite.  We were trying to sell Scrum to our entire organization.  After the presentation, the questions starting flowing.  Most, I could easily answer.  However, the tricky question of how to work a fixed-price fixed-date contract in an agile manner came up.</p>
<p><a href="http://www.ambysoft.com/scottAmbler.html">Scott Ambler</a> had a good <a href="http://www.ddj.com/architect/199001126?cid=Ambysoft">post</a> on this topic and he states that:</p>
<blockquote><p>&#8220;Fixed-price projects are a common practice in IT, either as the result of a fixed-cost competitive bid or as the result of budgeting pressures on internal software development projects.  Organizations often prefer fixed-price projects in an attempt to decrease their financial risk. Unfortunately, the exact opposite seems to happen in practice. Everyone seems to know this, but we somehow can&#8217;t find a way to get out of this rut.&#8221;</p></blockquote>
<p>This is something I&#8217;ve been wrestling with for quite some time.  In fact, one of my office&#8217;s main projects is a severely under-budgeted fixed-price fixed-date project and we have been struggling to manage it using Scrum.  At this point, we have forgone prioritizing the backlog with our client, because according to the contract (and our client), we have to deliver everything&#8230;therefore everything is a priority.  We also have to deliver by specific dates and with specific budgets for each release.  Essentially, we&#8217;re using Scrum to manage our bi-weekly tasking, but that&#8217;s about it.</p>
<p>What I&#8217;m wondering now is, can Scrum really work for fixed-price contracts?  I&#8217;m not sure.  In a fixed-price scenario, we&#8217;d really have no other way to work than to do heavy up front requirements analysis and design so that we can &#8220;accurately&#8221; bid the contract.  That would mean reverting to Scrum within a waterfall model (if we were to even try to do the project in an agile manner).  But then there&#8217;s a Catch-22.  Every developer knows deep down that at the start of a project, there&#8217;s no way to accurately estimate the duration of any development task.  The true complexity of any requirement is never really known until you start working on it.  No matter how in-depth the requirements are, there is always some ambiguity.  When a contract is fixed-price fixed-date, we go against all better judgement and provide cost estimates and delivery dates.  We revert to waterfall thinking.  And in the end, we usually go over budget, and our customers probably don&#8217;t get what they really want.</p>
<p>So my fellow scrummers, I have three questions for you:</p>
<ol>
<li> Given a project that requires you to work in a fixed-price fixed-date environment, would you take the project or not?</li>
<li> If you took the project, how would you effectively use scrum or agile practices to manage it?</li>
<li> How do we, as Scrum and agile practitioners, educate potential clients about the perils of fixed-price fixed-date contracts?</li>
</ol>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/fixed-price-agility/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Agile vs. Traditional Development Cost Models</title>
		<link>http://edgehopper.com/agile-vs-traditional-development-cost-models/</link>
		<comments>http://edgehopper.com/agile-vs-traditional-development-cost-models/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 06:02:10 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,834b9852-ffdc-4756-9971-c98fd2785382.aspx</guid>
		<description><![CDATA[Dave Bouwman sent me a great post today about Agile vs. Traditional Development Cost Models.  It seems the boys over at LosTechies.com have done some good thinking about the value vs. cost argument when it comes to agile practices in software development.  Check out the post at: http://www.lostechies.com/blogs/joe_ocampo/archive/2007/09/20/agile-vs-traditional-development-cost-models-maybe.aspx © Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: #000000;"><a href="http://davebouwman.net/">Dave Bouwman</a> sent me a great post today about <a href="http://www.lostechies.com/blogs/joe_ocampo/archive/2007/09/20/agile-vs-traditional-development-cost-models-maybe.aspx">Agile vs. Traditional Development Cost Models</a>.  It seems the boys over at <a href="http://www.lostechies.com/">LosTechies.com</a> have done some good thinking about the value vs. cost argument when it comes to agile practices in software development.  Check out the post at:</span> <a href="http://www.lostechies.com/blogs/joe_ocampo/archive/2007/09/20/agile-vs-traditional-development-cost-models-maybe.aspx">http://www.lostechies.com/blogs/joe_ocampo/archive/2007/09/20/agile-vs-traditional-development-cost-models-maybe.aspx</a></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/agile-vs-traditional-development-cost-models/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scrum works, even for non-development GIS projects</title>
		<link>http://edgehopper.com/scrum-works-even-for-non-development-gis-projects/</link>
		<comments>http://edgehopper.com/scrum-works-even-for-non-development-gis-projects/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 20:22:56 +0000</pubDate>
		<dc:creator>Chris</dc:creator>
				<category><![CDATA[Project Management]]></category>

		<guid isPermaLink="false">http://www.chrisspagnuolo.com/PermaLink,guid,21803864-519c-4599-8476-e52de34e6b22.aspx</guid>
		<description><![CDATA[Try this: Go to Google and search on GIS Project Management. You&#8217;ll get back about 2,490,000 results (give or take a few). Now start clicking on them and see how long it takes you to find a result that remotely resembles an Agile approach to GIS Project Management. I got about 140 results in before I [...]]]></description>
			<content:encoded><![CDATA[<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">Try this: Go to <a href="http://www.google.com/">Google</a> and search on <a href="http://www.google.com/search?q=GIS+Project+Management&amp;rls=com.microsoft:en-us&amp;ie=UTF-8&amp;oe=UTF-8&amp;startIndex=&amp;startPage=1">GIS Project Management</a>.<span style="mso-spacerun: yes"> </span>You&#8217;ll get back about 2,490,000 results (give or take a few).<span style="mso-spacerun: yes"> </span>Now start clicking on them and see how long it takes you to find a result that remotely resembles an Agile approach to GIS Project Management.<span style="mso-spacerun: yes"> </span>I got about 140 results in before I gave up.<span style="mso-spacerun: yes"> </span>Notice, I didn&#8217;t search on GIS application development or some similar search term.<span style="mso-spacerun: yes"> </span>I specifically wanted to know how people view all types of GIS Project Management.<span style="mso-spacerun: yes"> </span>There was a reason I tried this search (and no, it wasn&#8217;t due to sheer boredom at work) .<span style="mso-spacerun: yes"> </span> </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"> <span style="color: #000000;"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">The other night, I was at a get together of some regional <a href="http://www.esri.com/products.html">ArcGIS</a> developers.<span style="mso-spacerun: yes"> </span>They asked about Scrum and we started talking about the requirement that every iteration must produce some potentially shippable product increment.<span style="mso-spacerun: yes"> </span>Being <a class="snap_shots" href="http://en.wikipedia.org/wiki/Geographic_information_system">GIS</a> folks, someone asked how you would apply that &#8220;rule&#8221; to non-development GIS projects.<span style="mso-spacerun: yes"> </span>It made me sit back and think for a bit.<span style="mso-spacerun: yes"> </span>So, out of curiosity, and to find out if anyone out there used an Agile approach to these types of projects, I searched Google using several appropriate search phrases.<span style="mso-spacerun: yes"> </span>To my astonishment, I couldn&#8217;t find a single reference to anyone using Agile methods for non-development GIS Projects.<span style="mso-spacerun: yes"> </span>In fact, most led me to very rigid, stepwise, <a class="snap_shots" href="http://en.wikipedia.org/wiki/Waterfall_model">waterfall</a> approaches to GIS project management. </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"> <span style="color: #000000;"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">Before I got heavily involved in application development and enterprise GIS architecture, I was a GIS analyst and project manager on lots of non-development GIS projects.<span style="mso-spacerun: yes"> </span>How would I have applied Scrum to those projects?<span style="mso-spacerun: yes"> </span>I thought about that for a while.<span style="mso-spacerun: yes"> </span>First I thought, &#8220;Maybe it doesn&#8217;t work outside of our little software development fiefdom?”<span style="mso-spacerun: yes"> </span>I went to sleep that night without a clear answer in my head.<span style="mso-spacerun: yes"> </span>But the next day, I thought some more and decided that Agile practices, and Scrum, could be used to manage non-development GIS projects without any alteration.<span style="mso-spacerun: yes"> </span>For one thing, Scrum is not really a set of &#8220;rules&#8221;, but more a set of guidelines.<span style="mso-spacerun: yes"> </span><a class="snap_shots" href="http://en.wikipedia.org/wiki/Ken_Schwaber">Ken Schwaber</a> in his book <em><a class="snap_shots" href="http://www.amazon.com/Enterprise-Scrum-Ken-Schwaber/dp/0735623376/ref=pd_bbs_sr_1/105-4818456-3636440?ie=UTF8&amp;s=books&amp;qid=1188590237&amp;sr=8-1">The Enterprise and Scrum</a></em> states that projects are &#8220;too complex for a single set of rules to suffice in all circumstances&#8221;.<span style="mso-spacerun: yes"> </span>My second thought was that the phrase &#8220;potentially shippable product increment&#8221; was confusing to some.<span style="mso-spacerun: yes"> </span>To me, what it boils down to is that at the end of an iteration, a Team must produce <em>something of value as defined by the Product Owner</em>. </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"> <span style="color: #000000;"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">Applying my &#8220;new&#8221; definition, I started to think about how this would apply to non-development GIS projects.<span style="mso-spacerun: yes"> </span>What&#8217;s valuable to a GIS Product Owner?<span style="mso-spacerun: yes"> </span>Data, definitely data.<span style="mso-spacerun: yes"> </span>Analyses, map products, <a href="http://www.fgdc.gov/metadata">metadata</a> (always of questionable value), models, and probably others I&#8217;m not thinking of.<span style="mso-spacerun: yes"> </span>Now, in the development world, to deliver a potentially shippable increment (or &#8220;<em>something of value</em>&#8220;) every iteration, we decompose user stories into their simplest forms and provide targeted functionality to address that story.<span style="mso-spacerun: yes"> </span>In non-development projects, we can do the same thing.<span style="mso-spacerun: yes"> </span> </span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"> <span style="color: #000000;"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">Let&#8217;s consider an example involving a mutli-layer statewide data request from your Product Owner.<span style="mso-spacerun: yes"> </span>We don&#8217;t have to deliver <em>all</em> of the data in a single iteration.<span style="mso-spacerun: yes"> </span>Have your Product Owner prioritize the data layers.<span style="mso-spacerun: yes"> </span>Maybe the <a class="snap_shots" href="http://en.wikipedia.org/wiki/Hydrology">hydrologic</a> data layer is a higher priority than the <a href="http://en.wikipedia.org/wiki/Land_use">land-use</a> layer.<span style="mso-spacerun: yes"> </span>If the hydrologic layer will take longer to deliver than one iteration, break it into smaller prioritized pieces.<span style="mso-spacerun: yes"> </span>Maybe your Product Owner is really only interested in <a href="http://www.cotf.edu/ete/modules/waterq3/WQassess4b.html">second order streams</a>.<span style="mso-spacerun: yes"> </span>Produce all of the second order otream data during your next iteration.<span style="mso-spacerun: yes"> </span>If you cannot complete that data layer in a single iteration, break it down again.<span style="mso-spacerun: yes"> </span>Maybe your Product Owner is currently interested in second order streams in <a href="http://www.kitsapgov.com/">Kitsap County</a>.<span style="mso-spacerun: yes"> </span>You probably get the point by now.<span style="mso-spacerun: yes"> </span>It works for data production and will work for analyses, map products, models&#8230;and yes, even the dreaded metadata! </span></span><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">Work can always be decomposed and re-prioritized by you and your Product Owner.<span style="mso-spacerun: yes"> </span></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;"></span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"><span style="color: #000000;">The point is to constantly provide your Product Owner with something of value that s/he can use at the end of every iteration.<span style="mso-spacerun: yes"> </span>In our statewide data example above, maybe your Product Owner can only view second order streams in Kitsap County this week, but s/he can at least do that.<span style="mso-spacerun: yes"> </span>The next iteration may include second order streams in <a href="http://www.kingcounty.gov/">King County</a>, and so on.<span style="mso-spacerun: yes"> </span>This can even be a benefit to your Team.<span style="mso-spacerun: yes"> </span>You may find that you do not have to deliver a hydrologic data set for the entire state of <a href="http://access.wa.gov/">Washington</a>.<span style="mso-spacerun: yes"> </span>As you deliver valuable increments of data, your Product Owner may decide that the Puget Sound area was really all that was needed now that s/he has been using the data you already delivered.<span style="mso-spacerun: yes"> </span>You&#8217;re done with that request, on to the next &#8220;<em>something of value</em>&#8220;!</span></span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal; mso-layout-grid-align: none"><span style="font-size: 10pt; font-family: 'Arial','sans-serif';"> <span style="color: #000000;"> </span> </span></p>
<p class="MsoNormal" style="MARGIN: 0in 0in 10pt"><span style="font-size: 10pt; line-height: 115%; font-family: 'Arial','sans-serif';"><span style="color: #000000;">So, keep delivering.<span style="mso-spacerun: yes"> </span>Keep getting feedback.<span style="mso-spacerun: yes"> </span>Keep adapting your process to deliver the most value possible to your Product Owner.<span style="mso-spacerun: yes"> </span>It doesn&#8217;t matter if it&#8217;s a GIS application, analysis, map, model, or metadata&#8230;you&#8217;ll find your Team delivering higher quality, higher value GIS products faster and more efficiently using Agile practices.</span></span></p>
<hr />© Copyright 2007, ChrisSpagnuolo.com GeoScrum! by Chris Spagnuolo is licensed under a Creative Commons Attribution 3.0 United States License.</p>
]]></content:encoded>
			<wfw:commentRss>http://edgehopper.com/scrum-works-even-for-non-development-gis-projects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
