<?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>Opgenorth.NET &#187; Agile</title>
	<atom:link href="http://www.opgenorth.net/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.opgenorth.net</link>
	<description>Mindless missives of a .NET developer from the North</description>
	<lastBuildDate>Sat, 28 Aug 2010 15:58:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>So, what do you need to do to be considered Agile?</title>
		<link>http://www.opgenorth.net/2009/09/17/so-what-do-you-need-to-do-to-be-considered-agile/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=so-what-do-you-need-to-do-to-be-considered-agile</link>
		<comments>http://www.opgenorth.net/2009/09/17/so-what-do-you-need-to-do-to-be-considered-agile/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 02:56:00 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://www.opgenorth.net/2009/10/01/so-what-do-you-need-to-do-to-be-considered-agile/</guid>
		<description><![CDATA[One question that has been bouncing around in my mind is what, exactly, does one have to do to be considered Agile?&#160; Let’s look at the Agile Manifesto: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while [...]]]></description>
			<content:encoded><![CDATA[<p>One question that has been bouncing around in my mind is what, exactly, does one have to do to be considered Agile?&#160; Let’s look at the <a href="http://agilemanifesto.org/">Agile Manifesto</a>:</p>
<blockquote><p>Individuals and interactions over processes and tools      <br />Working software over comprehensive documentation       <br />Customer collaboration over contract negotiation       <br />Responding to change over following a plan</p>
<p>That is, while there is value in the items on      <br />the right, we value the items on the left more. </p>
</blockquote>
<p>Sounds pretty simple.&#160; I notice that there are twelve <a href="http://agilemanifesto.org/principles.html">Agile principles</a>:</p>
<blockquote><p>Our highest priority is to satisfy the customer      <br />through early and continuous delivery       <br />of valuable software. </p>
<p>Welcome changing requirements, even late in      <br />development. Agile processes harness change for       <br />the customer&#8217;s competitive advantage. </p>
<p>Deliver working software frequently, from a      <br />couple of weeks to a couple of months, with a       <br />preference to the shorter timescale. </p>
<p>Business people and developers must work      <br />together daily throughout the project. </p>
<p>Build projects around motivated individuals.      <br />Give them the environment and support they need,       <br />and trust them to get the job done. </p>
<p>The most efficient and effective method of      <br />conveying information to and within a development       <br />team is face-to-face conversation. </p>
<p>Working software is the primary measure of progress. </p>
<p>Agile processes promote sustainable development.      <br />The sponsors, developers, and users should be able       <br />to maintain a constant pace indefinitely. </p>
<p>Continuous attention to technical excellence      <br />and good design enhances agility. </p>
<p>Simplicity&#8211;the art of maximizing the amount      <br />of work not done&#8211;is essential. </p>
<p>The best architectures, requirements, and designs      <br />emerge from self-organizing teams. </p>
<p>At regular intervals, the team reflects on how      <br />to become more effective, then tunes and adjusts       <br />its behaviour accordingly. </p>
</blockquote>
<p>The agile principles are interesting, because in a lot of ways I can see advocates of other methodologies (BDUF) saying the believe in the same thing.</p>
<p>Asking amongst some peers, and there didn’t really seem to be a concise definition of Agile and what you need to do to call yourself.&#160; I’ve seen some places that will suggest that they are Agile because they stand up at meetings (or a manager wanders around once a day), avoid documentation, and have a meeting every three or four weeks that they call a “retrospective”.&#160; So, does anybody care to offer up their thoughts on what one needs to do to be considered Agile?&#160; I have my own thoughts, but figured I’d save them for a later blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opgenorth.net/2009/09/17/so-what-do-you-need-to-do-to-be-considered-agile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruminations</title>
		<link>http://www.opgenorth.net/2008/09/30/ruminations/?utm_source=rss&amp;utm_medium=rss&amp;utm_campaign=ruminations</link>
		<comments>http://www.opgenorth.net/2008/09/30/ruminations/#comments</comments>
		<pubDate>Wed, 01 Oct 2008 00:27:00 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://www.opgenorth.net/2008/09/30/ruminations/</guid>
		<description><![CDATA[Today was my last full time day on this contract.&#160; Tomorrow I start up full-time with another.&#160; Personally, I&#8217;ve gotten in the habit of looking a my past contract and conducting my own personal retrospective on what I learned or how I would do things differently.&#160; I figured that because my memory is getting worse [...]]]></description>
			<content:encoded><![CDATA[<p>Today was my last full time day on this contract.&#160; Tomorrow I start up full-time with another.&#160; Personally, I&#8217;ve gotten in the habit of looking a my past contract and conducting my own personal retrospective on what I learned or how I would do things differently.&#160; I figured that because my memory is getting worse in my old age, I&#8217;d started putting these things down on my blog.</p>
<p><strong>For a greenfield project, don&#8217;t use the database someone hands off to you</strong></p>
<p>The project I was working on was greenfield &#8211; almost.&#160; The business analyst spent a lot of time and effort gathering requirements, and this spilled out into him creating the database for us.&#160; On the surface, to most people, this seems like a good idea.&#160; In reality, I&#8217;d rate it slightly above mixing nuts and chewing gum for a snack.&#160; Why do I say that?&#160; Because, the database schema that was handed to me was highly normalized and (so I was told) optimized for reporting purposes &#8211; at the expense of the application.&#160; This application was more like an order-entry system, with snapshots of the data at points in time being very relevant.&#160; This &quot;&#8230;optimization for reporting&#8230;&quot; cause a lot of unnecessary work on the part of us poor developers.</p>
<p>The argument of &quot;&#8230;the schema is this way to make reporting easy&#8230;&quot; doesn&#8217;t fly with me.&#160; First off, we don&#8217;t have any reports defined.&#160; In fact, reporting wasn&#8217;t within the scope of this project.&#160; So, why are we worrying about it?&#160; Secondly, if a certain schema was necessary for reporting, then that is where views and stored procedures come into play.&#160; </p>
<p>I very much wish that we would have said, &quot;Thanks for the effort, but we will create the schema we need to delivery the product.&quot;.&#160; </p>
<p><em>Lesson learned for future projects</em>:&#160; Greenfield projects should not accept databases designed by someone who has no stake/input/authority on the application architecture.</p>
<p><strong>People are inherently obsessed with local optimization at the expense of the whole.</strong></p>
<p>One example of this I&#8217;ve already quoted:&#160; effort was expended to create an academically pure database that would be good for reporting.&#160; This local optima cost the project in the whole, because it incurred extra effort in developing the application.</p>
<p>A second example in support of this claim is a touch more elusive.&#160; I witnessed a fair bit of &quot;requirements dickering&quot;.&#160; Rather than looking at the project as a whole and trying to get the most bang for the buck (this project had a hard limit on dollars, but not on time), a lot of time was spent on arguing requirements.&#160; There was a perception that unless everything that was in the requirements document was done, &quot;professionally&quot; tested, and properly signed off, the application as a whole was not useful.&#160; It seemed that everything was important and had to be done.&#160; This obsession with getting everything done was, in my opinion, getting in the way of getting things of value done.</p>
<p>To misquote Napoleon:&#160; he who defends everywhere defends nowhere.</p>
<p><em>Lesson learned for future projects</em>:&#160; Really to me, this experience did provide more anecdotal evidence supporting the <a href="http://www.agilemanifesto.org/">Agile Manifesto</a> and agile techniques.&#160; Being a lowly contract developer, I was in no position to dictate priority or importance of work.&#160; I&#8217;m kind of used to that as a consultant.&#160; My opinion and advice was provided and the project leadership did with it what the wanted.&#160; However, the process did open my eyes a lot.&#160; I hope that if I ever find myself running the show in similar circumstances, I have the wisdom and the patience to see the big picture, and not the black and white words of some document written almost a year ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.opgenorth.net/2008/09/30/ruminations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
