<?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>Barry Jones &#187; I Like Documentation! &#8211; Barry Jones</title>
	<atom:link href="http://www.barryjones.me.uk/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.barryjones.me.uk</link>
	<description>General Ramblings</description>
	<lastBuildDate>Mon, 06 Sep 2010 10:05:24 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>I Like Documentation!</title>
		<link>http://www.barryjones.me.uk/2009/12/i-like-documentation/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=i-like-documentation</link>
		<comments>http://www.barryjones.me.uk/2009/12/i-like-documentation/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 22:55:09 +0000</pubDate>
		<dc:creator>Barry Jones</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Documentation]]></category>

		<guid isPermaLink="false">http://www.barryjones.me.uk/?p=290</guid>
		<description><![CDATA[OK that probably does not leave me looking anything other than geeky, but never-the-less: I do. Why do I like it? Or should the question be why do you not? It can be an extremely efficient way of obtaining large amounts of information about a project in very little time. A visual representation of a [...]]]></description>
			<content:encoded><![CDATA[<p>OK that probably does not leave me looking anything other than geeky, but never-the-less: I do.</p>
<p>Why do I like it? Or should the question be why do you not? It <strong>can be</strong> an extremely efficient way of obtaining large amounts of information about a project in very little time. A visual representation of a system gives a better understanding of a project overall, than a long-winded contract or several hours of perusing code can ever do.</p>
<p>Well written, considered and thought out project documentation can be a huge time and money saver. Sounds good doesn&#8217;t it. So why do developers hate documentation? Why don&#8217;t we ever find the time to keep it up to date?</p>
<p>Well, from what I have seen project documentation doesn&#8217;t get updated because there is generally no one in the team who actually owns it. It is seen as a pain and a chore; because lets face it, most people like to jump in and hack the code and why would we want to sit and write about what we have just done; we have done it already! You should be able to read the code, blah, blah, blah. Excuses. Unfortunately, our colleagues don&#8217;t fully understand that their rushed implementations or their bag of buzz words, latest technologies, multiple levels of indirection, inversion and misunderstood pattern implementations, are not easy to understand. And frankly, in three months time they won&#8217;t understand it either. Rant over.</p>
<p>And just having documentation isn&#8217;t enough. I have seen documentation associated with development projects which is out of date, poorly written and of very little value to anyone. Occasionally, developers are required to update documentation that is actually intended as contractual business documentation; again unhelpful.</p>
<h3>What Constitues Good Documentation?</h3>
<p>OK. So what constitutes a good set of documentation in a project. One acronym &#8211; UML. A picture paints a thousand words and all that. Now don&#8217;t get me wrong, I don&#8217;t think you should document every inch of code in a project. But even a document giving a generalised overview of the project, its architecture, architectural intent and diagrams which show visually this information; is priceless.</p>
<div id="attachment_307" class="wp-caption aligncenter" style="width: 582px"><a href="http://www.barryjones.me.uk/wp-content/uploads/2009/12/uml-diagram.gif" rel="lightbox[290]"><img class="size-full wp-image-307  " title="UML Diagram" src="http://www.barryjones.me.uk/wp-content/uploads/2009/12/uml-diagram.gif" alt="UML Diagram" width="572" height="235" /></a><p class="wp-caption-text">Observer Pattern</p></div>
<p>Time to put my money where my mouth is. This is what I think you should seriously consider having as a basic documentation set.</p>
<ul>
<li>Architecture. A UML diagram showing the constituent parts of the architecture, a description of the system and its intended purpose.</li>
<li>System. You should document and diagram, with class diagrams, the major sections of the system. Again with a description of intent and purpose.</li>
<li>Document complex interactions. In larger systems there are at least one portion of the system that requires a little more thought because of that clever implementation. Make sure it is again documented. A sequence diagram showing the interaction between classes and again, description of intent and purpose.</li>
</ul>
<p>With this all developers will know how the system is architected, what it was supposed to be doing and how it is achieving it. This means that when they come to fix a bug or modify the system because of change requests that they understand what needs to be changed and how that effects the rest of the system. And of course they would update the documentation so that everyone else knows as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryjones.me.uk/2009/12/i-like-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Everynote, Everywhere: Evernote</title>
		<link>http://www.barryjones.me.uk/2009/11/everynote-everywhere-evernote/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=everynote-everywhere-evernote</link>
		<comments>http://www.barryjones.me.uk/2009/11/everynote-everywhere-evernote/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 13:11:16 +0000</pubDate>
		<dc:creator>Barry Jones</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[evernote]]></category>
		<category><![CDATA[notes]]></category>
		<category><![CDATA[workflow]]></category>
		<category><![CDATA[working]]></category>

		<guid isPermaLink="false">http://www.barryjones.me.uk/?p=281</guid>
		<description><![CDATA[We all make tons of notes, scrawls and scribbles while working on projects. Quite a lot of that information is useful. Why not get make that information more available?]]></description>
			<content:encoded><![CDATA[<p>We all make tons of notes, scrawls and scribbles while working on projects. Quite a lot of that information is useful. Why not get make that information more available?</p>
<p>I use <a title="Evernote for all you note taking needs" href="http://www.evernote.com" target="_blank">Evernote</a> to make that information available. I have been using it for work and play for about a year, and it is has become a tool I just can&#8217;t live without. Evernote is available on the Web, Desktop, iPhone and other mobile devices and systems. This is how I have been using Evernote.<span id="more-281"></span></p>
<h3>Project Information</h3>
<p>First of all, to get information about the project I am working on. Where I work at the moment, there are many projects, which I may not be continually assigned to. This makes it difficult to keep in mind all of the things you need to know. Server address, UAT connection details, information about the project, recent work carried out. In essence anything that I deem interesting or important about a project gets thrown in to Evernote.</p>
<p>Evernote makes it easier to get back up to speed on projects rather than having to review the somewhat dry read which is the technical documentation.</p>
<h3>Bug Fixes</h3>
<p>If I have found a fix to an error I get on a project it is good to record this in Evernote, as it makes the fix available to other projects. Granted this is not as useful for very specific bugs but when you have issues with the Microsoft Enterprise Library, that information is going to be useful again.</p>
<h3>To Do Lists</h3>
<p>If I am working on a large job. I record all of the elements of that task as a Note. I can then check of each item as I get it done and as new things crop up and I can extend the to do list. So now I don&#8217;t forget where I am up to or what I have left to do.</p>
<p>Have a look at <a title="Evernote for all you note taking needs" href="http://www.evernote.com" target="_blank">Evernote</a> and let me know how you end up using it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.barryjones.me.uk/2009/11/everynote-everywhere-evernote/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

