<?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>Codelab Blog &#187; Agile</title>
	<atom:link href="http://blog.codelab.co.nz/tag/agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.codelab.co.nz</link>
	<description>Technical Articles and News from Codelab Ltd</description>
	<lastBuildDate>Tue, 17 Jan 2012 13:10:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Guidelines for Managing Evolutionary Information Systems</title>
		<link>http://blog.codelab.co.nz/2010/02/17/guidelines-for-managing-evolutionary-information-systems/</link>
		<comments>http://blog.codelab.co.nz/2010/02/17/guidelines-for-managing-evolutionary-information-systems/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 09:14:02 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=188</guid>
		<description><![CDATA[Here is a paper that I wrote several years ago that covers some in-depth research regarding manging for-ever changing systems in a Agile way.   I have attached the full paper as a PDF here Guidelines for Managing Evolutionary Information Systems Abstract “A competitive advantage comes only with superior IT.” &#8211; (Aetna Healthcare Chairman/CEO Richard Huber) [...]]]></description>
			<content:encoded><![CDATA[<p>Here is a paper that I wrote several years ago that covers some in-depth research regarding manging for-ever changing systems in a Agile way.   I have attached the full paper as a PDF here <a rel="attachment wp-att-187" href="http://blog.codelab.co.nz/2010/02/17/guidelines-for-managing-evolutionary-information-systems/envolvinginfosysfinal/">Guidelines for Managing Evolutionary Information Systems</a></p>
<p><strong>Abstract</strong></p>
<p><em>“A competitive advantage comes only with superior IT.” &#8211; (Aetna Healthcare Chairman/CEO Richard Huber)</em></p>
<p>Organisations are faced with difficult challenges when strategic decisions are made to upgrade, migrate, integrate or even re-develop their information systems.   While business processes are forever changing so does the need to keep their information systems functioning to the required specifications.</p>
<p><em> </em></p>
<p><em>“Better! Cheaper! Faster!”</em></p>
<p>During the 1990’s this was the theme for IT project management.</p>
<p><em> </em></p>
<p><em>“To produce better and cheaper products or services and get them to market quicker requires better, cheaper, faster processes.”</em></p>
<p>In today’s information systems, the model has matured and we factor in the following themes:</p>
<ul>
<li>Do it right the first time</li>
<li>Do only manageable portions at a time</li>
<li>Do it in a reusable and adaptable manner</li>
</ul>
<p>Agile Practices (AP) and Object Oriented Analysis and Design (OOAD) include these themes in managing the development of information systems.</p>
<p>In this paper we provide a solution to help IT managers execute an efficient and agile way of managing the process of upgrading/developing their information systems.</p>
<p><em><strong>References:</strong></em></p>
<p>Tim Brown &#8211; <a rel="attachment  wp-att-187" href="http://blog.codelab.co.nz/2010/02/17/guidelines-for-managing-evolutionary-information-systems/envolvinginfosysfinal/">Guidelines for Managing Evolutionary Information Systems</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2010/02/17/guidelines-for-managing-evolutionary-information-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Stories and Agile Development  &#8211; Part 1</title>
		<link>http://blog.codelab.co.nz/2009/02/03/user-stories-and-agile-development-part-1/</link>
		<comments>http://blog.codelab.co.nz/2009/02/03/user-stories-and-agile-development-part-1/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 03:49:17 +0000</pubDate>
		<dc:creator>Tim</dc:creator>
				<category><![CDATA[Agile Development]]></category>
		<category><![CDATA[Agile]]></category>
		<category><![CDATA[Scrum]]></category>

		<guid isPermaLink="false">http://blog.codelab.co.nz/?p=67</guid>
		<description><![CDATA[I am reading a inspiring book “User Stories Applied: For Agile Software Development” by Mike Cohn (2004) which explains writing lengthy requirement specifications is a waist of time and how applying “User Stories” involves the client from start to end, keeps the communication standardised and balances the client/developer’s input to gathering requirements the same. User [...]]]></description>
			<content:encoded><![CDATA[<p>I am reading a inspiring book <strong><em>“User Stories Applied: For Agile Software Development”</em></strong> by Mike Cohn (2004) which explains writing lengthy requirement specifications is a waist of time and how applying “User Stories” involves the client from start to end, keeps the communication standardised and balances the client/developer’s input to gathering requirements the same.</p>
<p><strong>User roles</strong></p>
<p>User roles are the type of user who will be using the application.   Typically we write requirements based on a user, but we should brainstorm the type of users and consolidate them into different user roles.</p>
<p>For example, we are developing an Online Cemeteries Web Application that allows users to search where people are buried etc.</p>
<p>We can brainstorm the different types of users who potentially could use the web application:</p>
<ul>
<li>Genealogists</li>
<li>Grand parents</li>
<li>Family tree experts</li>
<li>Younger generation</li>
</ul>
<p>We consolidate them further</p>
<ul>
<li>Genealogists/Expert family history</li>
<li>General Public</li>
</ul>
<p>Finally we refine and came up with one user role as there will be no functionality to have a separate area of Genealogists in the system.</p>
<ul>
<li>User role: General Public</li>
</ul>
<p><strong>User Stories</strong></p>
<p>Mike talks about the acronym INVEST</p>
<p>User stories should be:</p>
<ul>
<li><em><strong>Independent</strong></em></li>
<li><em><strong>Negotiable</strong></em></li>
<li><em><strong>Valuable to Purchases or Users</strong></em></li>
<li><em><strong>Estimable<br />
</strong></em></li>
<li><em><strong>Small</strong></em></li>
<li><em><strong>Testable</strong></em></li>
</ul>
<p>Typically user stories are written on cards with the front side having the story and any recorded “reminders” that summarise what developers have discussed with the client.  The back side describes all the test cases that will meet the client’s expectations about the story.   The more test cases are made before the code is written the better the developer can factor this into their code.</p>
<p>Here is an example from when we developed the Online Cemeteries Web Application:</p>
<p><em>Story:</em> The general public can perform a simple search entering a first and last name which returns a list of results</p>
<p><em>Test Cases</em></p>
<ul>
<li>What happens when the general public enters no first name or last name?</li>
<li>Can they enter 1 or none?</li>
</ul>
<p><em>Story: </em>The general public can perform a advanced search entering several parameters which results a list of results<br />
<em><br />
Test Cases</em></p>
<ul>
<li>What happens when the general public enters no parameters?</li>
</ul>
<p><em>Story: </em>The general public can view an individual cemetery record which consists of several cemetery specific items</p>
<p><em>Story: </em>The general public can go back and change their simple/advanced parameters to perform another search</p>
<p><em>Test Cases</em></p>
<ul>
<li>Does the system remember the general public&#8217;s input so that they can come back to the website and get the same results?</li>
</ul>
<p><strong>Tips –</strong> Here are some tips to building better user stories:</p>
<ul>
<li>If a story is too long and have too much detail, break the story down into smaller stories (keeping in mind they should run with the INVEST attributes).</li>
<li>Don’t be technical! This is written from the client’s perspective!</li>
<li>You can also write down non-functional stories!</li>
<li>Try to not include any UI specific details as this can cause confusion later on during implementation</li>
</ul>
<p>PART 2 will be on estimation and planning using “User Stories”.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.codelab.co.nz/2009/02/03/user-stories-and-agile-development-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

