<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Fitzgerald Steele</title>
	<atom:link href="http://fitzgeraldsteele.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fitzgeraldsteele.wordpress.com</link>
	<description>Usability, User Experience, Social Media, Web Design and Development...</description>
	<lastBuildDate>Tue, 10 Nov 2009 19:40:48 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='fitzgeraldsteele.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/1c947ff76c2910d1ea01c039045e041c?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Fitzgerald Steele</title>
		<link>http://fitzgeraldsteele.wordpress.com</link>
	</image>
			<item>
		<title>Avoiding Bias in Agile UX</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/11/10/avoiding-bias-in-agile-ux/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/11/10/avoiding-bias-in-agile-ux/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:40:48 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[agile]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[agileux]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=320</guid>
		<description><![CDATA[I enjoyed reading  Sway: The Irresitable Pull of Irrational Behavior (Amazon , nice review).  There are many cognitive biases that affect how we think.  The authors did a nice job of distilling the research on cognitive bias into an accessible popular science book.  The book made me think about how I approach web design and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=320&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I enjoyed reading  <a href="http://www.swaybook.com/">Sway: The Irresitable Pull of Irrational Behavior</a> (<a href="http://www.amazon.com/gp/yourstore/home/ref=topnav_ys">Amazon</a> , <a href="http://psychcentral.com/lib/2008/sway-the-irresistible-pull-of-irrational-behavior/">nice review</a>).  There are <a href="http://en.wikipedia.org/wiki/List_of_cognitive_biases">many cognitive biases</a> that affect how we think.  The authors did a nice job of distilling the research on cognitive bias into an accessible popular science book.  The book made me think about how I approach web design and evaluation.</p>
<p>Traditional usability testing has its roots in psychology research methods.  You spend lots of time designing the study &#8212; randomizing participants into experimental groups, ensuring you don&#8217;t ask leading or prompting questions, calculating statistical significance or confidence intervals of findings, etc &#8212; so that these cognitive biases are minimized or factored out.</p>
<p>Agile development typically feature 1-3 week sprints, forcing UX designers to shorten traditional evaluation methods, use guerrilla usability testing, or do whatever they can to get SOME user feedback in the time allotted.  UX designers have been actively discussing how to <a href="http://www.useit.com/alertbox/agile-user-experience.html">integrate UX design into agile development teams</a> (or search for &#8220;<a href="http://www.google.com/#&amp;q=agile+ux">agile ux</a>&#8220;). But in speeding up design testing/evaluation, we may become more susceptible to allowing cognitive biases to creep into and taint our study results.</p>
<p>There are two biases in particular I think we need to watch out for.</p>
<h2>Confirmation Bias</h2>
<p>Confirmation bias is the tendency is a tendency to search for or interpret information in a way that confirms one&#8217;s preconceptions (<a href="http://www.sciencedaily.com/articles/c/confirmation_bias.htm">Sciencedaily</a>, or <a href="http://psycnet.apa.org/index.cfm?fa=fulltext.journal&amp;jcode=gpr&amp;vol=2&amp;issue=2&amp;format=html&amp;page=175&amp;expand=1">Nickerson 1998</a> if you&#8217;re more psychology-paper inclined).</p>
<h3>Give me an example!</h3>
<p>You&#8217;ve spent the last couple days iterating on an information architecture for a new site.  You&#8217;re doing a quick evaluation of a paper prototype with three users in three separate sessions, to determine if the latest iteration is the best.  You&#8217;re watching the users interact with the prototype, asking them to think out loud and asking open-ended questions to encourage them to talk.  However, you&#8217;ve invested time and effort in this latest prototype: the stakeholders have approved it, and you either really like it or are sick of it and want to move on to the next thing.  Confirmation bias might lead you to focus your questioning on behaviors that you expected to see, that confirm or validate your design, or discount some of the negative comments you hear.</p>
<h2>Diagnosis Bias</h2>
<p>Diagnosis bias is the tendency to label things based on our initial impressions, and our difficulty or inability to change our minds after that initial impression is made.</p>
<h3>Give me an example!</h3>
<p>You&#8217;re got some ideas for the next web2.0/cloud/service/mashup/[buzzword]*, and you&#8217;re doing user research to prioritize new feature development.  A study participant comes in and says, &#8220;I don&#8217;t know what browser I use&#8230;I just fire up AOL to get on the internet.&#8221;  Ouch, you think to yourself, how am I going to get any useful info from this yokel?  This diagnosis bias might make you miss that while they don&#8217;t do much at home, their online activity at work makes them a perfect candidate.</p>
<h2>How do we avoid biases in Agile UX?</h2>
<p>The Sway authors take a small stab at answering this question in the Epilogue of their book, but their answers are a bit simplistic.  I guess this is understandable.  Humans developed these biases because they help us solve problems related to surviving in an unstable outdoor environment, and to do so in nearly constant motion (<a href="http://www.brainrules.net/">Brain Rules</a>).  Sometimes you need to make quick, simplifying judgments in order to survive or gain an advantage.  So clearly there is no turnkey, 3-step process for overcoming them.</p>
<p>Obviously there is a need to find an appropriate balance between experimental design rigor and doing the least amount of work to get the most value.</p>
<ol>
<li><strong>Be Aware of Cognitive Biases.</strong><br />
You can&#8217;t do anything about it if you don&#8217;t know about them.  And you just read this post, so check this one off your list.</li>
<li><strong>Make a List of Your Assumptions; Reevaluate Assumptions Across Sprints</strong><br />
This is basically just trying to externalize your assumptions and biases.  If you can put them out there, and make plans to revisit them over time, it might be easier to catch when they have clouded your judgment.  Also, if you publicize your working assumptions it gives others a chance to critique them, or see if many people would draw the same conclusions.</li>
<li> <strong>Think About How to Disprove Your Assumptions, Rather Than How to Prove Them</strong><br />
This goes back to your Research Methods class&#8230;it is difficult to objectively critique something if it is not <a href="http://en.wikipedia.org/wiki/Falsifiability">falsifiable</a>.  I&#8217;m not saying you have to set up your null hypothesis tests.  But you can change you design evaluation thinking from &#8220;how would I know this is good&#8221; to &#8220;how would I know if this is bad.&#8221;  Try to identify 3-4 ways that would indicate something is wrong.  If none of those things are evident, you&#8217;re more confident that you&#8217;re on the right track.</li>
</ol>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/320/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/320/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/320/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=320&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/11/10/avoiding-bias-in-agile-ux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Tag SurveyMonkey URLs with custom value</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/10/27/tag-surveymonkey-urls-with-custom-value/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/10/27/tag-surveymonkey-urls-with-custom-value/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 19:47:54 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[id]]></category>
		<category><![CDATA[survey]]></category>
		<category><![CDATA[surveymonkey]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/2009/10/27/tag-surveymonkey-urls-with-custom-value/</guid>
		<description><![CDATA[I really wish I had seen this before I collected 500 survey responses about our ordering system WITHOUT being able to connect them to an order number.&#160; It turns out you can pass a custom value into the URL of a SurveyMonkey survey:
SurveyMonkey Help Center &#8211; Answers
To customize them, create a unique ID ending for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=318&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I really wish I had seen this before I collected 500 survey responses about our ordering system WITHOUT being able to connect them to an order number.&nbsp; It turns out you can pass a custom value into the URL of a SurveyMonkey survey:</p>
<p><a href="http://www.surveymonkey.com/HelpCenter/Answer.aspx?HelpID=343">SurveyMonkey Help Center &#8211; Answers</a></p>
<blockquote><p>To customize them, create a unique ID ending for each respondent by adding &#8220;&amp;c=&#8221; at the end of the link followed by the ID number.</p>
<p>EX: &amp;c=00001<br />
http://www.surveymonkey.com/s.aspx?sm=v8MbvURxoHkWfvud7Or3Cg_3d_3d&amp;c=00001
</p></blockquote>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=51a13265-f9d1-86bd-bb74-ec8a983dc29a" /></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/318/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/318/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/318/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=318&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/10/27/tag-surveymonkey-urls-with-custom-value/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=51a13265-f9d1-86bd-bb74-ec8a983dc29a" medium="image" />
	</item>
		<item>
		<title>Learning Web Frameworks: Expression Engine, Acquia Drupal, Ruby on Rails</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/10/05/learning-web-frameworks-expression-engine-acquia-drupal-ruby-on-rails/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/10/05/learning-web-frameworks-expression-engine-acquia-drupal-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 05 Oct 2009 06:00:15 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[acquia]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[expression engine]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=298</guid>
		<description><![CDATA[I work for a corporate website team.  When our internal &#8216;clients&#8217; want a new web project &#8212; new page, contact or registration form, major page redesign, etc &#8212; they download, print, fill out, and mail us a paper form.  We recognized the waste involved with this paper form, and the irony that the website team [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=298&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I work for a corporate website team.  When our internal &#8216;clients&#8217; want a new web project &#8212; new page, contact or registration form, major page redesign, etc &#8212; they download, print, fill out, and mail us a paper form.  We recognized the <a href="http://www.epa.gov/lean/thinking/types.htm">waste</a> involved with this paper form, and the irony that the website team does not have a web enabled project request form.  We do most of our work in base PHP, but we&#8217;re also evaluating various web toolsets/frameworks/CMSs to adopt for more of our projects going forward.  So we used this small form as a little case study.  Let&#8217;s implement this form in a number of different tools.  That way we get practical experience in these different technologies, and we can see first hand what attributes we&#8217;re looking for in a web framework.</p>
<h2>Project Requirements</h2>
<p>We met for a half-hour just to make our project requirements explicit.  We documented the requirements in a <a href="http://agileproductdesign.com/blog/the_new_backlog.html">story map</a>, and made a quick wireframe:</p>
<ul>
<li>Client enters their contact details (name, department, phone, email)
<ul>
<li>Optional: Pull the contact details from the enterprise LDAP server</li>
</ul>
</li>
<li>Client enters project details (name, description, budget code, deadline date, and whether the project has VP approval)</li>
<li>On submission, show confirmation page and email confirmation to client.  Also send email notification to our project managers that a new request has been made</li>
<li>Members of our team may view the list of projects (especially budget codes, which we need for our time sheets), and see project details</li>
<li>Project managers can add an estimate (number of hours we think the project will take), and estimate description</li>
<li>When the estimate is created, automatically email an estimate to the client</li>
</ul>
<p>Now, to build it&#8230;</p>
<h3>Expression Engine</h3>
<p>I got the sense that <a href="http://expressionengine.com/">Expression Engine</a> started its life as a blogging only platform, and someone said, &#8220;hey&#8230;we could probably use this as a general purpose CMS too!&#8221;  I felt that if I wanted a blog or multi-blog site, EE would be great, but we clearly did not understand the &#8220;EE Way.&#8221;  EE does not come with a form builder out of the box, but we found the <a href="http://www.solspace.com/software/detail/freeform/">FreeForm</a> module which got us on our way.  There&#8217;s no GUI form builder or admin panel; it requires a developer to build the form, which was a major downside for our team.  At the end of a 3 hour sprint, we had an expression engine form, styled how we wanted, submitting project requests and sending the project request emails to our managers, but not a confirmation to the client.  We didn&#8217;t get to any edit estimate functionality, and certainly didn&#8217;t have a way to email the client when the estimate was made.</p>
<p>We never really felt like we &#8216;got&#8217; ExpressionEngine. It would definitely take a bit more time to figure out if this is the right tool for our CMS needs. The developers on our team felt like it would&#8217;ve been much simpler to just write the thing in plain-old PHP.</p>
<p>Verdict: With 4 people working for 3 hours, we got some minimal functionality, but we must be missing something.</p>
<h3>Acquia Drupal</h3>
<p>Ahh, <a href="http://drupal.org/">Drupal</a>.  Apparantly THE open source CMS.  Yet, to paraphrase Peter Parker&#8217;s uncle, with great power comes great complexity &#8212; and a steep learning curve.  <a href="http://acquia.com/">Acquia</a> is a batteries-included Drupal distribution, with optional paid technical support, which is attractive to our company.  Acquia includes the Webform module, which is a GUI, drag/drop form builder from inside the Drupal admin interface.  While the team was at lunch, I built the form by myself.  Furthermore, the <a href="http://drupal.org/project/webform">Webform</a> module provides a nice admin interface that allows for viewing all the results, updating entries, even downloading the submissions into a CSV file. One thing I really liked about the Webform module was that it comes with an area where you can post your own custom PHP code to be run after a submission&#8230;very cool.  Another nice feature was the conditional emails:  if the submission selects A, email to person A; selectB, email person B etc.</p>
<p>I had it in the default Acquia Marina template.  I don&#8217;t think we really get how to use Drupal&#8217;s templating system yet, so I&#8217;m not sure how we would apply our own custom styles/templates.  But I&#8217;m confident that we&#8217;ll be able to understand Druapl templating before Expression Engine internals (which is based on <a href="http://codeigniter.com/">CodeIgniter</a> &#8212; which by the way I really like as a web framework).</p>
<p>Verdict: The webform module is the bomb: 1 person, 15 minutes, done.  Not sure how to bend Drupal templates to make it look how we want, though.</p>
<h3>Ruby on Rails</h3>
<p>I&#8217;ve been looking for an opportunity to try a non-blog/wiki type <a href="http://www.rubyonrails.org">rails</a> app.  I checked out the <a href="http://headfirstlabs.com/books/hfrails/">Heads First Rails</a> book from the local library, which taught me a lot.</p>
<p>It turns out Rails is tailor made for this type of job.  <a href="http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding">Rails scaffolding</a> gives you an Apple-esque out of the box experience.  One command line basically got the full app functionality.  Given the name of the database model, and a list of field names and types, rails generates a database model, and the controller and view code for basic CRUD functionality:</p>
<pre class="brush: bash;">

ruby script/generate scaffold project first_name:string last_name:string email:string phone:string project_name:string project_description:text date_needed:date budget_code:integer vp_approval:boolean
</pre>
<p>Rails just really gives lots of tools to do the things you probably want to do on a web app.  Need to add/change the database schema after the initial generate?  <a href="http://guides.rubyonrails.org/migrations.html">Migrations</a> are your friend.  Send emails that get triggered on code events?  Use <a href="http://guides.rubyonrails.org/action_mailer_basics.html">Active Mailer</a> (ruby script/generate mailer) and you&#8217;re mostly done.  The views/templating/partials makes sense.  Scaffolding also gives you infrastructure for unit tests and acceptance tests (via the <a href="http://www.cukes.info">Cucumber</a> behavior driven development framework).</p>
<p>So I was super excited about how quickly I could get something up and running.  I call over one of our graphic artists and one of our project managers to give them a demo of how to create, scaffold, migrate, and configure a rails app.  And I got mixed reactions.  Yes, scaffolding is impressive,  but you still have to be a bit of at techie/programmer to understand how to do it.  I think they were a bit intimidated by the command line knowledge required, as well as the need to learn a new programming language.  As I created a number of apps to show different parts of the generate/scaffolding script, the PM noted, &#8220;well, it looks like sometimes it&#8217;s easier just to build a whole new application rather than fix one.&#8221;  I thought that was insightful&#8230;she recognized that the auto-generated code makes it really &#8216;cheap&#8217; to build a new application.</p>
<p>Verdict: Convention over configuration is great, as long as you can learn the conventions.  Once I started to learn the conventions, I could do a lot in a very little time.</p>
<h2>Conclusion</h2>
<p>At the risk of sounding cliché, you have to pick the right tool for the job, for your team.  For this single, stand-alone project, we&#8217;ll probably roll with the Rails app.  We can get that up and running super quickly.  I don&#8217;t know that we would &#8216;bet the farm&#8217; for our entire site on Rails just yet, though.  Big learning curve for our department.  We&#8217;re really looking for a content management system.  We&#8217;ve got several instances of WordPress we use, so we&#8217;re used to that.  Personally, I&#8217;m leaning toward Drupal.  Yes, high learning curve, but it has a really flexible content model, lots of modules, an active developer community, support for workflow and fine-grained authentication/authorization.  And, with Acquia you have commercial support.</p>
<p>But of course the door is still open, and we&#8217;re looking at other toys to play with.  I&#8217;m going to try doing this form in <a href="http://pylonshq.com/">Pylons</a>, which looks heavily influenced by Ruby on Rails, with a couple advantages 1) written in python which I already know, 2) less opinionated about which tools you use at various points in the web stack.  It scaffolds a rest style controller, but not the views, models, or tests.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/298/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/298/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/298/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=298&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/10/05/learning-web-frameworks-expression-engine-acquia-drupal-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Agile2009 Recap</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/09/07/agile2009-recap/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/09/07/agile2009-recap/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 05:06:20 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile2009]]></category>
		<category><![CDATA[agileux]]></category>
		<category><![CDATA[webdev]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=275</guid>
		<description><![CDATA[I had planned liveblog the Agile2009 sessions I attended, but ran into a couple roadblocks*.  You can see the Agile2009 sessions I DID blog.  Also, Jackson Fox went ahead and wrote a great recap from a UX perspective.  It might be more interesting for me to talk about how well I accomplished my goals for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=275&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I had planned liveblog the Agile2009 sessions I attended, but ran into a couple roadblocks*.  <a href="http://fitzgeraldsteele.wordpress.com/tag/agile2009/">You can see the Agile2009 sessions I DID blog</a>.  Also, <a href="http://www.viget.com/advance/agile-2009/">Jackson Fox went ahead and wrote a great recap from a UX perspective</a>.  It might be more interesting for me to talk about how well I accomplished my goals for attending.</p>
<p>I had three goals for attending Agile2009:</p>
<ol>
<li>Learn methods, tools, and best practices for improving my user experience (UX) research and design,</li>
<li>Help my department to adopt Agile practices in order to respond to increasingly demanding projects and shorter deadlines, and</li>
<li>Learn ways to more effectively team with colleagues in other parts of our organization to develop and deliver outstanding UX on our enterprise tools.</li>
</ol>
<p>I was a blend of several of the conference personas: obviously <a href="http://www.agile2009.org/node/68/popup">Deanna the UI Designer</a>, but I also felt some affinity for <a href="http://www.agile2009.org/node/77/popup">Carlos the Internal Coach</a>, <a href="http://www.agile2009.org/node/58/popup">Peter the Programmer</a>, <a href="http://www.agile2009.org/node/60/popup">Alex the Architect</a> and <a href="http://www.agile2009.org/node/59/popup">David the Developer</a>, even <a href="http://www.agile2009.org/TaraTheTester">Tara the Tester</a>.</p>
<h2>Agile UX Research and Design</h2>
<p>I&#8217;ve already blogged about some of the UX sessions I attended.  I would say that there were two broad categories of UX sessions (at least, that I attended): Agile UX methods and processes (guerilla user research, persona development, task analysis grids or storyboards) and experience reports (how do we do UX on an agile time schedule, with an agile development team).  The method and process talks were very high level &#8212; almost introductory, and I felt didn&#8217;t really have enough time to get into any kind of real discussion on how to really use these UX methods in real life, anymore than reading about the techniques on the web .  I did appreciate the 3 hr tutorials from Jeff Patton on Personas and Mike Cohn on User Stories.  Coming out of those, I felt like I got a bit of &#8216;meat,&#8217; which I could chew on &#8212; they gave a good framework for how to think about using these tools, instead of just a technique.</p>
<p>From the experience reports, the main message I got was, &#8220;here&#8217;s what sort of worked for us&#8230;we had to be agile and learn, and this is what happened in our shop&#8230;good luck with yours.&#8221;  I had a hard time seeing how some of these were generalizable, or how I might use some of the lessons learned.  Clearly, everyone is feeling the time pressure for faster deliverables within Scrum sprits.  This means that UX practicioners have to be UX generalists: skilled in visual design, info architecture, interaction design, even development.  I think the best takeaway was just networking with the people giving and attending the sessions, and finding a community of people I could talk to about approaches I&#8217;m thinking about taking.</p>
<p>I was a bit saddened and disillusioned at the perceptible distance between the UX and Agile Development community.  The developers are still saying, &#8220;I&#8217;ve gotta get this code feature out the door, I&#8217;ll let you know when I need to talk to a designer), and the UX people are still asking, &#8220;how do I get the working respect and integration with the development team.&#8221;  One concrete example of this: <a href="http://toddwarfel.com/">Todd Warfel</a> and others did a set of three sessions on the whole &#8216;Agile UX process: Performing User Research, Distilling and Communicating Research Results (mainly via personas, and finally developing wireframes.  I noted that the user research sesssion was sparsely attended and almost solely by UX people, the session on personas had a few more, and the session on wireframing was jam-packed.  I think this is another example of developers trying to see how to get straight to the design, even though designers know there&#8217;s a process involved in getting to the design.  Not sure how this dichotomy will play out.  I don&#8217;t think anyone does yet.</p>
<p>Overall, definitely a positive experience, though.  I was really impressed with the LiveAid stage&#8230;several UX designers did some agileux methods (guerilla user research, personas, wireframes), then teamed with several agile developers at the conference to create an iPhone app for a non-profit: http://www.manoamano.org.  In addition to raising nearly $5000 for the charity at the closing banquet, the exercise of doing UX research and design, development and shipping a live app in 3 days was inspiring.</p>
<h2>Agile in our Department</h2>
<p>At my company the webteam is undergoing a bit of an evolution, where are roles are changing from simply maintaining the public static websites to designing and developing some mission-critical web applications.  Our internal clients are asking our team to provide new (to our company) types of online interactivity and functionality, and the demand for us to be a mini-IT department are increasing.  What agile tools/options should we look at in order to keep with the demand and still deliver outstanding webapps?</p>
<p>One way I think we can improve is to better integrate unit testing, acceptance testing and continuous integration into our team workflow.  I went to a couple talks on CI &#8211; I think mostly by CI software vendors.</p>
<p>I went to a couple agile coaching sessions to get a sense for how to ramp up teams, and get people started doing things an &#8216;agile way.&#8217;  I was impressed by some of the <a href="http://lyssaadkins.wordpress.com/2009/08/30/agile-team-start-up/">coaching start up team strategies</a> shared <a href="http://lyssaadkins.wordpress.com/">Lyssa Adkins.</a> The session on user stories from Mike Cohn was again a great example of how to collect/gather/uncover requirements.  In the OpenJam, I poked my head in on some people review Kanban project management.</p>
<p>One takeaway here is that &#8216;agile software development&#8217; is more of a mindset change.  It&#8217;s a set of principles, from which several methods, tools, and best practices have been developed.  But as warned on numerous occasions, just adopting some or all of the methods without understanding the principles often leads to poor results.  I think the key here is to focus on the core principles, and adopt the set of practices that make sense for your team wherever they&#8217;re at.  I like the idea of the Scrum style &#8212; setting a sprint timebox for a delivery of something of business value, and then meeting afterwards for a retrospecting and planning of the next sprint.  I&#8217;m planning on experimenting with a WIP board for a short sprint on a project this week.</p>
<p>Another takeaway is that, at the end of the day, all these agile documentation and project management methods and tools (user stories, personas, work in progress boards, pair programming, Scrum, Kanban, Blitz Planning) aren&#8217;t really rocket science.  They all center around creating externalized, shared visualizations of the problem and solution spaces.  The goal, it seems, is to extract the implicit knowledged wrapped up in each team members&#8217; head as simply as possible, put them in a shared accessible place as simply as possible.  This allows the whole team to see the whole picture, and allows communication and ideas to flow as quickly as possible.  That&#8217;s why agile emphasizes small, co-located teams over large distributed teams &#8212; fewer barriers to communication.  That&#8217;s why agile emphasizes user stories on index cards, simple personas, and face to face communication over documentation &#8212; its easier to exchange ideas and information, to re-arrange and update the knowledge-base.  Agile emphasizes working code as documentation because the working code is a clear concrete thing that the entire team can gather around and say, &#8220;yes, this is right&#8221; or &#8220;no, it should be some other way.&#8221;</p>
<h2>Agile in our Enterprise</h2>
<p>I&#8217;m going to hold this for a future blog post&#8230;this one is long enough as it is.</p>
<h2>Other Conference Observations</h2>
<ul>
<li>I thought I&#8217;d be hearing lots of people at this conference saying, &#8220;do it in Rails&#8221; or &#8220;Django&#8221; or &lt;name your new-fangled web framework&gt;; I was surprised at all the java and .NET technical talks.</li>
<li>I loved the Musick Masti sessions over lunches and at night.  I got to go down a jam on a sax they had there, as well as play various percussion and other instruments.  That was a lot of fun.  That seemed to be a theme the conference organizers were going for&#8230;things should be fun!  The Monday night social/networking event was a good example &#8212; various wiis and other games were strewn about the vendor hall providing opportunities to interact with other people through games.</li>
<li>SO&#8230;MUCH&#8230;SWAG.  Wow&#8230;I brought home almost a whole suitcase full of free books, balls, silly putty, race cars, planning poker cards, t-shirts.</li>
</ul>
<p>* 1) dodgy conference wi-fi access.  You&#8217;d think ubiquitous wi-fi access would be a given at a techy-geek conference like this.  It was great in the Open Jam area where people could congregate and talk about whatever, but it wasn&#8217;t as good elsewhere, 2) my Airport wireless card has been giving out for the last few weeks, and finally died at the conference.  Luckily, the Chicago Apple Store is not far from the conference venue &#8212; they sent it in and fixed it for free, even though my AppleCare expired in April (I love Apple&#8217;s customer service, and the fact they know that I&#8217;m pro</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/275/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/275/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/275/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=275&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/09/07/agile2009-recap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Find the Latest SVN Repository Tag with Ruby</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/09/02/find-the-latest-svn-repository-tag-with-ruby/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/09/02/find-the-latest-svn-repository-tag-with-ruby/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 18:20:56 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[capistrano]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=285</guid>
		<description><![CDATA[Here&#8217;s a quick and dirty (and I mean DIRTY &#8211; use at your own risk) way to extract the latest tag from a SVN repository.  This is a helper method I wrote for a Capistrano deploy script:


# Quick and dirty means to pull the latest tag name from an SVN repository

# TODO: Error checking - [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=285&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Here&#8217;s a quick and dirty (and I mean DIRTY &#8211; use at your own risk) way to extract the latest tag from a SVN repository.  This is a helper method I wrote for a Capistrano deploy script:</p>
<pre class="brush: ruby;">

# Quick and dirty means to pull the latest tag name from an SVN repository

# TODO: Error checking - it should have some
# TODO: Check to see if the repository exists before running code
# TODO: Return nothing if the tag doesn't look right (eg, the tag name is 'tags')

# Given an SVN repository URL, return the name of the latest tag in the repo/tags directory.
# * Assumes the standard SVN setup: trunk/, tags/, branches.  It will append the /tags/ directory to the end of the URL
# * Does ZERO error checking...returns whatever it finds.
def get_last_svn_tag(repo)

 txt = `svn log #{repo}/tags/ --limit=1 -v`

# thanks to http://www.txt2re.com/ for this
re1='.*?'    # Non-greedy match on filler
 re2='((?:\\/[\\w\\.\\-]+)+)'    # Unix Path 1

 re=(re1+re2)
 m=Regexp.new(re,Regexp::IGNORECASE);
 if m.match(txt)
 unixpath1=m.match(txt)[1];
 puts &quot;(&quot;&lt;&lt;unixpath1&lt;&lt;&quot;)&quot;&lt;&lt; &quot;\n&quot;
 latesttag =  File.basename(unixpath1)
 puts &quot;Tag name: &quot;&lt;&lt; latesttag &lt;&lt; &quot;\n&quot;
 return latesttag
 end
end

tag = &quot;get_last_svn_tag(&quot;http://some/repo&quot;)

puts &quot;Tagname: #{tag}&quot;
</pre>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/285/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/285/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/285/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=285&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/09/02/find-the-latest-svn-repository-tag-with-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Pragmatic Personas</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/08/26/pragmatic-personas/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/08/26/pragmatic-personas/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 14:20:02 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile2009]]></category>
		<category><![CDATA[agileux]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=269</guid>
		<description><![CDATA[by Jeff Patton
Pragmatic personas can be fast, based on user research, but can also draw on your own experiences (according to Don Norman)
Identify User Types or Roles

Different kinds of people are user types (student, professional)
User Role describes the relationship a person has with your product (thing-doer, eg late night pizza buyer, daytime lunch seeker)

Profile User [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=269&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>by Jeff Patton</p>
<p>Pragmatic personas can be fast, based on user research, but can also draw on your own experiences (according to Don Norman)</p>
<h2>Identify User Types or Roles</h2>
<ul>
<li>Different kinds of people are user types (student, professional)</li>
<li>User Role describes the relationship a person has with your product (thing-doer, eg late night pizza buyer, daytime lunch seeker)</li>
</ul>
<h2>Profile User Types</h2>
<h2>Personify User Types to Create an Example User</h2>
<h2>Consider Product Design Impact</h2>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/269/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/269/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/269/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=269&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/08/26/pragmatic-personas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>User Stories</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/08/25/user-stories/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/08/25/user-stories/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 19:12:31 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile2009]]></category>
		<category><![CDATA[agileux]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=255</guid>
		<description><![CDATA[Mike Cohn &#8211; (slides)
Software requirements are a communication problem; balance is critical.  If business side dominates, functionality and dates mandated with little regard for constraints.  If tech dominates, we make them speak technical jargon and we lose the business need, drivers.
We cannot perfectly predict a software schedule.
So&#8230;we make decisions based on the information we have, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=255&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Mike Cohn &#8211; (<a href="http://www.mountaingoatsoftware.com/presentations/107-user-stories-for-agile-requirements">slides</a>)</p>
<p>Software requirements are a communication problem; balance is critical.  If business side dominates, functionality and dates mandated with little regard for constraints.  If tech dominates, we make them speak technical jargon and we lose the business need, drivers.</p>
<p>We cannot perfectly predict a software schedule.</p>
<p>So&#8230;we make decisions based on the information we have, but do it often</p>
<p>We spread decision-making across the project, rather than making one set of decisions&#8230;</p>
<h2>Stories</h2>
<p>Stories are (Three C&#8217;s, Ron Jeffries)</p>
<ul>
<li>Card (Note card) &#8211; Most visible part</li>
<li>Conversation &#8211; Promise from dev team to product owner: &#8220;We will come talk to you before we start&#8221;</li>
<li>Confirmation &#8211; Acceptance criteria</li>
</ul>
<p>Short story about a system feature told from the perspective of a user.</p>
<p>As a &#8230;&lt;user&gt; I want to&#8230;&lt;goal&gt; so that&#8230;&lt;reason&gt;</p>
<p>Sometimes, you need more detail about a story.  You can:</p>
<ul>
<li>Create new, smaller, more specific stories.</li>
<li>Define &#8216;conditions of satisfaction,&#8217; which are really acceptance tests.  &#8220;What does the product owner need to see so that we can know this story is done?&#8221;  This basically becomes the &#8217;script&#8217; for the Sprint review.</li>
</ul>
<h1>User Roles</h1>
<p>Broaden scope from looking at one user</p>
<ul>
<li>Allow users to vary by:</li>
<li>What they use the software for</li>
<li>Hwy they use software</li>
</ul>
<p>This is different than a persona, where personas are about a specific user (based on research), designed to induce empathy in the design team.  User roles are more broad, describe types of users.</p>
<p>Can do user role brainstorming to identify different roles:</p>
<p>Thinking about your product, everyone writes a role on an index card.</p>
<ul>
<li>Brainstorming, no judgement on what the roles are</li>
<li>Put related roles near each other</li>
<li>Combine, consolidate, remove</li>
</ul>
<p>Advantages of using roles</p>
<p>Avoid saying &#8220;The user&#8221;.</p>
<p>Can also have system and programmer users.  &#8220;As a payment verification system, I want all transactions to be well-formed XML&#8230;&#8221;</p>
<h2>Stories, Themes, Epics</h2>
<p>User Story &#8211; Description of desired functionality told from user perspective<br />
Theme &#8211; Collection of related user stories<br />
Epic &#8211; Large User Story</p>
<p>Themes, Epics don&#8217;t really imply size&#8230;Themes aren&#8217;t necessarily bigger or small than Epics.  They&#8217;re just labels.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/255/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/255/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/255/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=255&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/08/25/user-stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Mission Possible</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/08/24/mission-possible/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/08/24/mission-possible/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 19:10:00 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile2009]]></category>
		<category><![CDATA[agileux]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=246</guid>
		<description><![CDATA[This is the followon session to the previous Guerilla User Research session.  The theme here is taking the insights learned from User Research and turning them into actionable design.  The goal of this series of talks is to demo an application on Thursday this week.
Communicate Design

Personas
Workflow Stories / Scenarios
Task Analysis Grids

Personas

Quote
Day-in-the-life story.  Contextual/specific to what [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=246&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This is the followon session to the previous Guerilla User Research session.  The theme here is taking the insights learned from User Research and turning them into actionable design.  The goal of this series of talks is to demo an application on Thursday this week.</p>
<h3>Communicate Design</h3>
<ul>
<li>Personas</li>
<li>Workflow Stories / Scenarios</li>
<li>Task Analysis Grids</li>
</ul>
<h4>Personas</h4>
<ul>
<li>Quote</li>
<li>Day-in-the-life story.  Contextual/specific to what the person is doing right now.</li>
<li>Goals</li>
<li>Pain Points/Frustration</li>
<li>Opportunities</li>
<li>Activities</li>
</ul>
<p>Design tool</p>
<p>Storytelling</p>
<p>Way to build empathy on users</p>
<p>Based on user research</p>
<p>Todd talked about the DNA chart&#8230;</p>
<h4>Workflow Stories</h4>
<p>Scenarios are stories that happen in the day of a life of a key user.  A narriative form that tell a story of people using the system.  Tasks are the granular items, connected to how important it is to different users.  This can be used to prioritize possible features.</p>
<p>Empathy is one of the key points of why we do user research.  This is a bit of contention with the Agile methodology and &#8216;user stories.&#8217;  User stories may refer to &#8216;average user,&#8217; which often means &#8216;me.&#8217;</p>
<p>Good to use multiple points in order to generate personas:</p>
<ul>
<li>Project Stakeholders</li>
<li>Customer Representatives (Customer Service Reps)</li>
<li>Actual Customers</li>
<li>Someone you know</li>
</ul>
<h4>Task Analysis Grids</h4>
<p>Work back and forth between personas and Task Analysis Grids.  The idea is to get a holistic view of what the system is supposed to do overall.  Then go back to figure out the order/priority in which features are built/released.</p>
<ul>
<li>Scenario Based</li>
<li>Incorporate personas</li>
<li>Prioritized</li>
</ul>
<h4>Persona Creation and Critique</h4>
<p>We broke into several groups.  Each group created a persona based on the user research generated in the previous session.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/246/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/246/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/246/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=246&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/08/24/mission-possible/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Guerilla Research Methods</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/08/24/guerilla-research-methods/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/08/24/guerilla-research-methods/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 16:51:24 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[user experience]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[agile2009]]></category>
		<category><![CDATA[agileux]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/?p=233</guid>
		<description><![CDATA[Russ Unger, Todd Zaki Warfel
Traditional barriers to UX research: Time and Money; customer/stakeholder perceived value, and the attidude that &#8220;We don&#8217;t have time and money to do this.&#8221;
Argue, &#8220;We don&#8217;t have time and money to NOT do this&#8230;&#8221;  Spend a few hours doing some research, in order to allow you to make data driven design [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=233&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Russ Unger, Todd Zaki Warfel</p>
<p>Traditional barriers to UX research: Time and Money; customer/stakeholder perceived value, and the attidude that &#8220;We don&#8217;t have time and money to do this.&#8221;</p>
<p>Argue, &#8220;We don&#8217;t have time and money to NOT do this&#8230;&#8221;  Spend a few hours doing some research, in order to allow you to make data driven design decisions</p>
<p>Each methods have strengths and weaknesses.  It&#8217;s good to combine multiple methods</p>
<h3>The Burrito Lunch</h3>
<ul>
<li>Send out an email, if you fit a profile, come do this, and we&#8217;ll give you lunch</li>
<li>Chocolate snacks are a helpful way to get people to fill out surveys</li>
</ul>
<h3>Crowd Sourcing</h3>
<ul>
<li>Using social media, other tools to get people to give feedback.  E.G.  Twitter, Facebook</li>
<li>Coupled with web analytic data</li>
</ul>
<h3>Man on the Street</h3>
<ul>
<li>Simply just going out and asking people, note trends.</li>
</ul>
<p>User Research: &#8220;You never ask the question you really want answered.  If you ask the question you want answered, you&#8217;ll miss all kinds of rich information.&#8221;</p>
<p>User Research&#8230;one of the benefits of the agile UX methods is that you can bring prototypes to user research sessions: gives you access to users, do validation of current design, and research for future sessions.</p>
<h3>Designing the Box</h3>
<ul>
<li>Get people together, some Sharpies, paper, ask people to design the box the product, tool, service would come in.</li>
</ul>
<p>If this was a COTS product, what are the key features that need to be front and center.  As a UX designer, gives you insight into the thought processes involved in prioritizing features, etc.</p>
<p>Guidelines for asking better research questions</p>
<ul>
<li><em>Provide contex</em>t: &#8220;Did you have coffee yesterday?  How much coffee did you have yesterday?  Was that a normal day?  How about the day before that?&#8221;  It&#8217;s our job as researchers to ask questions and identify trends, amounts, etc, rather than asking them directly?</li>
<li><em>Helpful to start with a most recent or most memorable experience.</em></li>
<li>Start broad and open ended</li>
<li>Funnel and narrow questions</li>
</ul>
<p>People want to tell you about their lives.  If you can facilitate in a way that allows them to tell their own stories, people are willing to talk.  Another way to help people talk: &#8220;I&#8217;ll share a story about me, then you share a story about you.&#8221;</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/233/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=233&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/08/24/guerilla-research-methods/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>
	</item>
		<item>
		<title>Servicing Technical Debt</title>
		<link>http://fitzgeraldsteele.wordpress.com/2009/08/19/servicing-technical-debt/</link>
		<comments>http://fitzgeraldsteele.wordpress.com/2009/08/19/servicing-technical-debt/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 16:14:28 +0000</pubDate>
		<dc:creator>fitzgeraldsteele</dc:creator>
				<category><![CDATA[confernece]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[technical debt]]></category>

		<guid isPermaLink="false">http://fitzgeraldsteele.wordpress.com/2009/08/19/servicing-technical-debt/</guid>
		<description><![CDATA[I&#8217;m heading to the Agile2009 conference next week, and looking forward to it.&#160; It&#8217;s sort of fun watching the twitter chatter about the conference.&#160; Some ads/pimping products and services, but also some of the conference presenters are talking about how they&#8217;re getting ready, and even posting their slides!
Someone retweeted this video from Ward Cunningham (yes, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=231&subd=fitzgeraldsteele&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.youtube.com/watch?v=pqeJFYwnkjE"></a>I&#8217;m heading to the <a href="http://agile2009.agilealliance.org/programOverview">Agile2009 conference</a> next week, and looking forward to it.&nbsp; It&#8217;s sort of fun watching the <a href="http://twitter.com/#search?q=%23agile2009">twitter chatter about the conference</a>.&nbsp; Some ads/pimping products and services, but also some of the conference presenters are talking about how they&#8217;re getting ready, and even posting their slides!</p>
<p>Someone retweeted this video from Ward Cunningham (yes, the one that invented the wiki) about the metaphor of &#8216;technical debt.&#8217;&nbsp; Basically, when you are coding short term solutions that you know don&#8217;t completely address the core problem your code is designed to address, you are incurring &#8216;debt,&#8217; similar to the way you incur debt when you borrow money.&nbsp; Until you repay that debt, more and more of your effort will be consumed servicing the debt.&nbsp; You&#8217;ll spend all your time patching holes, and won&#8217;t have any time to address new features or take on new projects.<br />
<blockquote></blockquote>
<div class="youtube-video">  <span style="text-align:center; display: block;"><a href="http://fitzgeraldsteele.wordpress.com/2009/08/19/servicing-technical-debt/"><img src="http://img.youtube.com/vi/pqeJFYwnkjE/2.jpg" alt="" /></a></span>  </div>
<p>This metaphor is directly applicable to one of my work projects.&nbsp; It turns out that when we originally designed the system, we &#8216;missed&#8217; a requirement.&nbsp; After the product went live and business users started seeing it, they realized that there was something else it needed to do in order to align with their business rules and customer contracts.&nbsp; Since then, we&#8217;ve had to build certain workarounds in order to address this discrepency.&nbsp; Cunningham would argue we&#8217;ve incurred technical debt, which we need to repay by refactoring and revising our code in order to reflect our current understanding of the business processes.&nbsp; </p>
<p>That refactoring/revising is a key part of Agile development.&nbsp; We have a few challenges with that.&nbsp; First, I don&#8217;t think we have enough unit test code coverage to be confident our refactoring doesn&#8217;t break anything.&nbsp; Second, it&#8217;s difficult for us to find time to go back and fix things because all the new things people are asking us to do are piling up, and of course those are higher priority.&nbsp; I think agile people would say we need a Kanban process.&nbsp; Third, the powers-that-be don&#8217;t see the value in going back in reorganizing something that &#8216;works,&#8217; so it&#8217;s hard to argue for the need to service our technical debt.</p>
<p>I&#8217;m hoping to learn more about how to address these challenges at the conference.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=a45ed91c-b079-8bc8-86a5-66bcf6947356" /></div>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fitzgeraldsteele.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fitzgeraldsteele.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fitzgeraldsteele.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fitzgeraldsteele.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fitzgeraldsteele.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fitzgeraldsteele.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fitzgeraldsteele.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fitzgeraldsteele.wordpress.com/231/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fitzgeraldsteele.wordpress.com/231/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fitzgeraldsteele.wordpress.com/231/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fitzgeraldsteele.wordpress.com&blog=4793962&post=231&subd=fitzgeraldsteele&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://fitzgeraldsteele.wordpress.com/2009/08/19/servicing-technical-debt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">fitzgeraldsteele</media:title>
		</media:content>

		<media:content url="http://img.youtube.com/vi/pqeJFYwnkjE/2.jpg" medium="image" />

		<media:content url="http://img.zemanta.com/pixy.gif?x-id=a45ed91c-b079-8bc8-86a5-66bcf6947356" medium="image" />
	</item>
	</channel>
</rss>