<?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>Zen and the Art of Nonprofit Technology &#187; Development</title>
	<atom:link href="http://zenofnptech.org/tag/development/feed" rel="self" type="application/rss+xml" />
	<link>http://zenofnptech.org</link>
	<description>Thoughtful and sometimes snarky perspectives on nonprofit technology</description>
	<lastBuildDate>Mon, 08 Mar 2010 00:10:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Specify Story, not details</title>
		<link>http://zenofnptech.org/2009/08/specify-story-not-details.html</link>
		<comments>http://zenofnptech.org/2009/08/specify-story-not-details.html#comments</comments>
		<pubDate>Wed, 19 Aug 2009 19:42:41 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Consulting]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Technology Zen]]></category>
		<category><![CDATA[nptech]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=552</guid>
		<description><![CDATA[I&#8217;ve been a fan of user stories for several years now. User stories are a way to describe a set of functionalities of an application in a way that is focused on results &#8211; it&#8217;s easy to connect to mission. An example from an events management application:
The organization should be able to create several different [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been a fan of user stories for several years now. User stories are a way to describe a set of functionalities of an application in a way that is focused on results &#8211; it&#8217;s easy to connect to mission. An example from an events management application:</p>
<blockquote><p>The organization should be able to create several different kinds of events, and determine for each kind of event which detailed information will be taken. Those events can be displayed in a list or calendar format. Users can register for events, and pay using a credit card.</p></blockquote>
<p>There are many ways to describe this story &#8211; it certainly can be a lot more detailed, but what&#8217;s clear is the result of this functionality. And, of course, user stories are great for agile development process.</p>
<p>Developers would determine how much this function would cost (based on our knowledge of the tools we use, and the time it takes using those tools to generate this sort of functionality), and clients would know exactly what they are getting from a functionality standpoint. When this functionality is complete, everyone is happy. The developers get reasonable compensation for a job well done, and the clients get the mission-based functionality they asked for.</p>
<p>And it would avoid a situation which I have become recently far too familiar with &#8211; vendors who underbid projects, and then feel the need to resort not to the intent of the contract, but the letter. Everyone knows it is utterly impossible to specify every detail in the letter of a contract &#8211; sometimes letter of the contract, unfortunately, details things like fields and queries, not functionality. The letter of a contract will be, almost by definition unless based on functionality, an inadequate representation of the final result needed. In this case, no one really wins. The clients either don&#8217;t get the functionality they expected, or they pay extra for it, and they leave the project with a bad taste in their mouth about the vendors, which will only come around to hurt the vendors later.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/08/specify-story-not-details.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Avoiding Trainwrecks</title>
		<link>http://zenofnptech.org/2009/06/avoiding-trainwrecks.html</link>
		<comments>http://zenofnptech.org/2009/06/avoiding-trainwrecks.html#comments</comments>
		<pubDate>Thu, 04 Jun 2009 06:16:17 +0000</pubDate>
		<dc:creator>Pearlbear</dc:creator>
				<category><![CDATA[Nonprofit Tech]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[nptech]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.zenofnptech.org/?p=524</guid>
		<description><![CDATA[I spent a big chunk of my day dealing with a project that is, in no uncertain terms, a trainwreck. The client has sunk a ton of money into a product which is in, its current (first phase supposedly finished) state, unusable (client and vendor shall remain unnamed.) My role in the project has been [...]]]></description>
			<content:encoded><![CDATA[<p>I spent a big chunk of my day dealing with a project that is, in no uncertain terms, a trainwreck. The client has sunk a ton of money into a product which is in, its current (first phase supposedly finished) state, unusable (client and vendor shall remain unnamed.) My role in the project has been strategic and as a liason, not technical, which to some extent gives me a bit of a distanced view.</p>
<p>Web development trainwrecks are, sadly, far from isolated cases &#8211; they happen all the time, even when all of the parties have good intentions. And as someone who is building a business around doing this sort of work, it is of keen interest to me as to why some projects end up in the state that this project is in, and I want to make sure to avoid these kinds of situations. So how do we avoid trainwrecks? Some trainwrecks we can see coming miles away, but yet we are in complete denial about them. Some trainwrecks are like sudden derailments &#8211; it&#8217;s not at all clear where it comes from. But I think all trainwreck projects have the seed of the wreck somewhere in the history of the project.</p>
<p>The hallmarks of this particular trainwreck were so clear, that in retrospect, they scream out at me:</p>
<ul>
<li>Lack of transparency about development process</li>
<li>Lack of transparency about cost implications of increased scope</li>
<li>Waterfall development process (well, the vendor <em>said</em> they practiced Agile, but in practice, it&#8217;s been waterfall)</li>
</ul>
<p>As a practitioner of the <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile development process</a> (we use a somewhat modified form of <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a>, in particular,) I&#8217;m beginning to really see the value of this kind of process. It makes visible all sorts of things that are often hidden. It seems like the Agile methodology helps in a number of ways:</p>
<ul>
<li>Once educated, clients have a window into the development process. They know what small chunks of development are going to happen in a given time interval, and they know what they will get at the end of that time interval</li>
<li>Things are developed in priority order</li>
<li>Clients can critique things early</li>
<li>New functionality becomes a part of the &#8220;product backlog&#8221; and it is easier to have clarity about what is and is not within scope</li>
</ul>
<p>Of course, it is theoretically possible to be completely transparent in a traditional waterfall methodology, and completely opaque using Agile, but I do think that the Agile methodology makes it way more difficult to be opaque. But it also takes some work and education of clients unfamiliar with the methodology (as well as making mistakes along the way on our part as developers.)</p>
<p>And I&#8217;ve been able to watch this process work well, not only with our own projects, but also with a project I was a strategic lead on. I was pretty skeptical a year or so ago, but now I&#8217;m sold. And since transparency has always been something of real importance to me, a development process that encourages transparency is a good thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://zenofnptech.org/2009/06/avoiding-trainwrecks.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
