<?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>Hey, it&#039;s OPOWER! &#187; Workflow</title>
	<atom:link href="http://www.heyitsopower.com/category/workflow/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.heyitsopower.com</link>
	<description>Energy Efficiency Starts at /usr/home</description>
	<lastBuildDate>Tue, 27 Jul 2010 20:14:37 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Slides on Improving Your Agile Development Process</title>
		<link>http://www.heyitsopower.com/development/slides-on-improving-your-agile-development-process/</link>
		<comments>http://www.heyitsopower.com/development/slides-on-improving-your-agile-development-process/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 17:32:40 +0000</pubDate>
		<dc:creator>Dave Copeland</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Workflow]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[devdays]]></category>
		<category><![CDATA[process improvement]]></category>

		<guid isPermaLink="false">http://www.heyitsopower.com/?p=131</guid>
		<description><![CDATA[Dead last, after the headline act, and after Joel Spolsky told everyone to go home, I did a lightning talk at DC&#8217;s recent DevDays (A StackOverflow production) on how we have used process metrics from our bug tracker to improve our process.
Improving your Agile Process
View more documents from David Copeland.

]]></description>
			<content:encoded><![CDATA[<p>Dead last, after the headline act, and after Joel Spolsky told everyone to go home, I did a lightning talk at DC&#8217;s recent DevDays (<a href="http://www.stackoverflow.com">A StackOverflow</a> production) on how we have used <a href="/development/measuring-our-awesomeness-iteration-by-iteration/">process metrics</a> from our bug tracker to improve our process.</p>
<div id="__ss_2359457" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Improving your Agile Process" href="http://www.slideshare.net/davetron5000/measuring-agile-process-shorter-2359457">Improving your Agile Process</a><object style="margin:0px" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=measuringagileprocess-shorter-091027130310-phpapp01&amp;rel=0&amp;stripped_title=measuring-agile-process-shorter-2359457" /><param name="allowfullscreen" value="true" /><embed style="margin:0px" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=measuringagileprocess-shorter-091027130310-phpapp01&amp;rel=0&amp;stripped_title=measuring-agile-process-shorter-2359457" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/davetron5000">David Copeland</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.heyitsopower.com/development/slides-on-improving-your-agile-development-process/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tweaking the Agile Calendar</title>
		<link>http://www.heyitsopower.com/development/tweaking-the-agile-calendar/</link>
		<comments>http://www.heyitsopower.com/development/tweaking-the-agile-calendar/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 16:24:57 +0000</pubDate>
		<dc:creator>Tom Vaughan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.heyitsopower.com/?p=100</guid>
		<description><![CDATA[For the first five iterations, the dev team had been following this schedule:
<ul>
	<li>Iteration N, Week 1 = Design for iteration N and 2nd week of QA for iteration N-1</li>
	<li>Iteration N, Week 2 = Development</li>
	<li>Iteration N, Week 3 = Development</li>
	<li>Iteration N, Week 4 = 1st week of QA for iteration N</li>
	<li>Iteration N, Week 5 / Iteration N +1, Week 1 = 2nd week of QA for iteration N, design for iteration N + 1</li>
</ul>
We started to notice a couple things that have caused us to try out a new schedule in our upcoming 6th iteration.]]></description>
			<content:encoded><![CDATA[<p>For the first five iterations, the dev team had been following this schedule:</p>
<ul>
<li>Iteration N, Week 1 = Design for iteration N and 2nd week of QA for iteration N-1</li>
<li>Iteration N, Week 2 = Development</li>
<li>Iteration N, Week 3 = Development</li>
<li>Iteration N, Week 4 = 1st week of QA for iteration N</li>
<li>Iteration N, Week 5 / Iteration N +1, Week 1 = 2nd week of QA for iteration N, design for iteration N + 1</li>
</ul>
<p>We started to notice a couple things that have caused us to try out a new schedule in our upcoming 6th iteration.</p>
<p>First, we realized that we left very little time for fit to hit the shan.  If we had a tough QA cycle, we didn&#8217;t design enough.  If we didn&#8217;t design enough, we underestimated how much development would be needed (i.e. too many story points).  If we had too many story points, we&#8217;d go in to QA late.  And the cycle repeats.</p>
<p>Note that many of you Agile purists out there will cringe at the above description, especially this sentence: &#8220;If we had too many story points, we&#8217;d go in to QA late.&#8221;</p>
<p>I know.  We cringed too.</p>
<p>We&#8217;re committing to a couple new explicit practices going in to our next iterations:</p>
<ol>
<li>More formal velocity check-ins.  If less than 50% of our story points are closed by COB of the first Friday, we should have a come-to-jeebus meeting on Monday morning.</li>
<li>We absolutely need to respect the impact that dedicated design time has on the effectiveness of everything down-stream.  It&#8217;s too easy to say &#8220;Agile&#8221; as a synonym for &#8220;code by the seat of your pants,&#8221; but that&#8217;s not what it&#8217;s about and we know that.  We just need to get better at dedicating time to it.</li>
</ol>
<p>So with those ideas in mind, we&#8217;re moving to something like the following:</p>
<p><img class="aligncenter size-full wp-image-107" title="iteration_detail_screenprint_cropped" src="http://www.heyitsopower.com/wordpress/home/35481/domains/heyitsopower.com/html/wordpress/wp-content/uploads/2009/10/iteration_detail_screenprint_cropped.PNG" alt="iteration_detail_screenprint_cropped" width="1050" height="246" /></p>
<p>It&#8217;s a five-week iteration, with 2 solid weeks built in for QA and 1 dedicated week of design.</p>
<p>I think if we can get to a point where our regression and automation testing is good enough (and we develop enough confidence our automated tests), that we may be able to get back to a 4 week cycle.  In the mean time, we&#8217;re going to see if we can actually go faster by slowing down.</p>
<p>Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.heyitsopower.com/development/tweaking-the-agile-calendar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile impressions, 5 iterations in&#8230;</title>
		<link>http://www.heyitsopower.com/development/agile-impressions-5-iterations-in/</link>
		<comments>http://www.heyitsopower.com/development/agile-impressions-5-iterations-in/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 15:45:38 +0000</pubDate>
		<dc:creator>Tom Vaughan</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Workflow]]></category>

		<guid isPermaLink="false">http://www.heyitsopower.com/?p=92</guid>
		<description><![CDATA[I'm assuming from the amount of hype out there that if a development team isn't using "Agile" right now, they probably feel like the one kid on the block who didn't have a Nintendo (with the Duck Hunt option, of course).

<img class="alignright size-medium wp-image-93" title="duckhunt" src="http://www.heyitsopower.com/wordpress/home/35481/domains/heyitsopower.com/html/wordpress/wp-content/uploads/2009/10/duckhunt-300x165.png" alt="duckhunt" width="300" height="165" />Well, we here at OPOWER loved our Duck Hunt, so we've been attempting to use "Agile" for the last 5 months or so.  Agile means a lot of things to a lot of people, so I'll spell out what it means for us and then reflect on some of the pros, cons, and room-for-improvement in our practice.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m assuming from the amount of hype out there that if a development team isn&#8217;t using &#8220;Agile&#8221; right now, they probably feel like the one kid on the block who didn&#8217;t have a Nintendo (with the Duck Hunt option, of course).</p>
<p><img class="alignright size-medium wp-image-93" title="duckhunt" src="http://www.heyitsopower.com/wordpress/home/35481/domains/heyitsopower.com/html/wordpress/wp-content/uploads/2009/10/duckhunt-300x165.png" alt="duckhunt" width="300" height="165" />Well, we here at OPOWER loved our Duck Hunt, so we&#8217;ve been attempting to use &#8220;Agile&#8221; for the last 5 months or so.  Agile means a lot of things to a lot of people, so I&#8217;ll spell out what it means for us and then reflect on some of the pros, cons, and room-for-improvement in our practice.</p>
<ul>
<li>&lt;cringe&gt;Embrace change&lt;/cringe&gt; (duh)&#8230;but especially in this startup environment, we need to remember to do no more than is necessary, because any &#8220;extra mile&#8221; functionality is likely to be totally unused as priorities and direction changes.</li>
<li>Be scientific about development&#8230;<a href="/development/measuring-our-awesomeness-iteration-by-iteration/">measure, measure measure</a>.  We track velocities, average-open-days-per-bug-by-severity, etc.</li>
<li>&#8220;Individuals and interactions over processes and tools&#8221;&#8230;we self-organize, aren&#8217;t afraid to try new combinations of responsibilities and assignments, provide regular feedback to each other and we don&#8217;t dictate a development environment or technology stack.</li>
</ul>
<p>The best thing about the technical side of this company is that the entire development team and project management team is on-board with the idea of rapid iterations, continuous improvement and a focus on technical excellent and &#8220;maximizing the amount of work not done.&#8221;</p>
<p>This manifests itself in several practices that I&#8217;d chalk up in the &#8220;pro&#8221; column:</p>
<ul>
<li>Light weight documentation&#8230;use wikis and person-to-person contact (recorded on bug tickets for posterity) to flush out designs and requirement.</li>
<li>Continuous integration and continuous improvement (we just installed Sonar last week&#8230;we&#8217;ll blog about its effectiveness later)</li>
<li>Regular code reviews, 360 reviews, and &#8220;how did we collectively perform this iteration&#8221; meetings</li>
<li>Few formal meetings, many informal, impromptu &#8220;drive bys&#8221;</li>
</ul>
<p><strong>But the best thing about our Agile environment</strong> right now is that it is a work-in-progress &#8220;process framework&#8221; that repeats quickly enough for us to remember what to improve.</p>
<p>What do I mean by that?</p>
<p>It&#8217;s my impression that on the longer, more drawn-out software engagements (say&#8230;6 or 12 months), you can make a series of mistakes in the design phase, the build phase, the qa phase, etc. and then by the time you&#8217;re on the next project you repeat all those mistakes again because it&#8217;s been 6 or 12 months since you last learned your lesson.  Instead of concrete lessons, you develop a career full of &#8220;gut instincts.&#8221;</p>
<p>We&#8217;re still honing in on the right amount of measurement and process for OPOWER, but because we&#8217;re all on board with the idea of quick-hit iterations with a continuous focus on improvement, I have high hopes for our ability to become (stay?) a top-notch software engineering organization.</p>
<p><img class="alignleft size-medium wp-image-95" title="duckhunt_many" src="http://www.heyitsopower.com/wordpress/home/35481/domains/heyitsopower.com/html/wordpress/wp-content/uploads/2009/10/duckhunt_many-300x213.png" alt="duckhunt_many" width="300" height="213" />There&#8217;s lots of room for improvement, that I think I&#8217;ll save for another post on another day.  We could definitely stand to &#8220;communicate out&#8221; more&#8211; with the product team and with our operations team.  We need to do a better job of making sure our iterations are lining up with the corporate strategy.  We could improve on the whole &#8220;customer collaboration over contract negotiation&#8221; part of the manifesto.  But you can only squeeze that trigger so fast, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.heyitsopower.com/development/agile-impressions-5-iterations-in/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
