<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Boxes and Arrows: Comments by Michael Smethurst</title>
    <link>http://www.boxesandarrows.com/person/136813</link>
    <pubDate>Wed, 03 Mar 2010 14:43:22 GMT</pubDate>
    <description>Comments by Michael Smethurst</description>
    <item>
      <description>&lt;p&gt;Hi Anthony&lt;/p&gt;

	&lt;p&gt;First some bits I agree on:&lt;/p&gt;

	&lt;p&gt;1) there&amp;#8217;s often a focus on shipping new features at the expense of tidying existing ones&lt;br /&gt;2) the push to ship unfinished features is short-sighted; frightening users away with a promise that things will improve is a precursor to &amp;#8216;brand damage&amp;#8217;&lt;br /&gt;3) any development that doesn&amp;#8217;t include time for user testing &lt;span class="caps"&gt;AND&lt;/span&gt; accessibility testing and allow time for findings to be worked on and integrated is broken&lt;br /&gt;4) untrammeled product / project managers making ill considered decisions are a massive problem&lt;br /&gt;5) dogmatic scrum &amp;#8216;masters&amp;#8217; do exist&lt;/p&gt;

	&lt;p&gt;On the first 3 I can only say that pressure for visible movement will always be with us. Being seen to get one step ahead of competitors (external and often internal) is one price we pay for competition but competition is innate to capitalism. The only hope is an enlightened management acknowledging complexity and giving people enough time to work through problems&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Number 4 I&amp;#8217;ll get back to.&lt;/p&gt;

	&lt;p&gt;And number 5 is just an extension of a general truism; all development methodologies quickly sink into dogma. Unfortunately organisations are suckers for process, workflow and box ticking. (And as many people have asked, &amp;#8220;have you ever met anyone who &lt;span class="caps"&gt;FAILED&lt;/span&gt; scrum master training?&amp;#8221;) Anyway all process is a creativity sink. This is equally true of &lt;span class="caps"&gt;UCD&lt;/span&gt; which, applied dogmatically, is one of the least user centric approaches I can think of. Putting real code in front of real users (with assorted accessibility requirements) one of the best. So long as management give you time to act on the findings.&lt;/p&gt;

	&lt;p&gt;Afraid the rest of this comment has more of the usual &amp;#8216;someone on the internet is wrong&amp;#8217; type smell about it. Apologies but&amp;#8230;&lt;/p&gt;

	&lt;p&gt;...your opening minefield comment of &amp;#8220;one has to ask whether [agile] was devised to treat a symptom of the larger cause: the business doesn&#8217;t know what it wants&amp;#8221; is true but understandably true. Things change. Business priorities change, businesses merge and divest, the competition changes, *user expectations change*. Failing to acknowledge this and ploughing on with &amp;#8216;big design up front&amp;#8217; doesn&amp;#8217;t address that problem and doesn&amp;#8217;t work. It also doesn&amp;#8217;t address the fact that in a complex system it&amp;#8217;s often impossible to judge the feel of a website until real data hits real code; design that works on paper too often breaks in reality.&lt;/p&gt;

	&lt;p&gt;(I&amp;#8217;ve worked in the past on a music website that followed the full &lt;span class="caps"&gt;UCD&lt;/span&gt; methodology: research, personas, experience models, sitemaps, wireframes, photoshop comps&amp;#8230; In the time it took to work through all that both last.fm and itunes shipped. Our site was 5 years out of date before it even went live.)&lt;/p&gt;

	&lt;p&gt;For fear of typing a longer comment than the original post I&amp;#8217;m only gonna deal with your first mine (an unclear role for design) but I suspect most of the rest drops out of that plus the usual concerns about management allowing time.&lt;/p&gt;

	&lt;p&gt;You say &amp;#8220;some [...] developers may have design skills. But that&#8217;s not a particularly common scenario&amp;#8221;. This is either a very restrictive definition of design or just wrong. The question is: where does design happen?&lt;/p&gt;

	&lt;p&gt;Every time a developer creates a database or creates a model or creates a &lt;span class="caps"&gt;URL&lt;/span&gt; scheme or marks up a document that&amp;#8217;s design. Writing code is design. Many (the majority?) of creative people I&amp;#8217;ve worked with have been from the developer side of the wire.&lt;/p&gt;

	&lt;p&gt;The Google example you use is interesting in this context. Google was definitely &amp;#8216;designed&amp;#8217; but no user experience professional or even the majority of software engineers I know could have designed it. The Google breakthrough was not the realisation that &amp;#8220;people just want to find what they&#8217;re looking for, not learn how to drive a search engine first&amp;#8221;. The breakthrough was making that possible. And making that possible was about software engineers and mathematicians taking academic models of citation, making the analogy to link density and *designing* a solution that used eigenvalues and n-dimensional spaces and serious maths to crack the nut. You could have spent months &amp;#8216;concepting&amp;#8217; and taken the conclusion that &amp;#8220;people just want to find what they&amp;#8217;re looking for&amp;#8221; to Yahoo! but the concept would be useless without the design and the design was tricky to say the least.&lt;/p&gt;

	&lt;p&gt;Back in the day flat websites were &amp;#8216;designed&amp;#8217; by designers who handed over their wireframes and specs and photoshop comps to developers with the request &amp;#8216;make it so&amp;#8217;. Designers were creatives; developers just trades people. Having come across the &lt;span class="caps"&gt;UCD&lt;/span&gt; +/vs Agile arguments a few times there seems to be a temptation to wrestle back control and return to these glory days. But with the complexity of modern web applications it&amp;#8217;s just not possible. No one person knows enough to be given overall control of design direction. This includes product/project managers, which is my easy answer to point 4 above.&lt;/p&gt;

	&lt;p&gt;You go on to say that &amp;#8216;in good software development, a conceptual interaction model that has been thought through beforehand, outlines how the user navigates the system, performs tasks and uses tools in generic terms&amp;#8217;. For a website of any complexity interaction design (together with quality copy and visual design and quality a/v) is the small part of the visible 20% of the application. It&amp;#8217;s not an unimportant part but the other 80% of the application also needs to be &amp;#8220;designed&amp;#8221;.&lt;/p&gt;

	&lt;p&gt;In a later comment you say that &amp;#8220;I personally don&#8217;t care what happens in code (though perhaps that&#8217;s just ignorant of me and I should) what matters to me is that the interface is consistent from one section of an application to the next&amp;#8221;. For an interaction designer this is fine but again I think it&amp;#8217;s short sighted to assume that design stops at what the user can see / feel. Taking Twitter as an example: it&amp;#8217;s a beautifully designed service but the design insight was all about low friction communication and open APIs. Many Twitter users interact through clients and never go near the Twitter website. The Twitter interface is consistent but more important is consistency in the application / client interface all of which required design.&lt;/p&gt;

	&lt;p&gt;So decisions made further down the stack (what gets modelled, data flow, data licencing (particularly if you&amp;#8217;re dealing with user data), url design, content negotiation / device detection, caching, document design, feed design) are not just examples of design but fundamental to a wider definition of user experience (in terms of seo/findability, website as platform, pointability, perceived performance, accessibility etc). If you don&amp;#8217;t spend time designing that stuff then obsessing on a &amp;#8220;consistent interface&amp;#8221; is just painting pigs with lipstick.&lt;/p&gt;

	&lt;p&gt;To quote Steve Jobs (and why not?) &amp;#8220;Design isn&amp;#8217;t about how something looks; it&amp;#8217;s not something you put onto the outside of an already-built product. It&amp;#8217;s how you build the product, from the inside out.&amp;#8221; In web terms it&amp;#8217;s about design decisions all the way up the stack and working well with the design decisions of the web (statelessness, &lt;span class="caps"&gt;HTTP&lt;/span&gt;, URIs, &lt;span class="caps"&gt;HTML&lt;/span&gt;, CSS). If you&amp;#8217;re not interested in code and not interested in technical design decisions of the web (which have moral and ethical implications) then I&amp;#8217;d suggest you&amp;#8217;re not a web designer and might be happier working in a different medium&amp;#8230;&lt;/p&gt;

	&lt;p&gt;In conclusion I&amp;#8217;d say the role of design in agile is clear. Everything is design; everything is development. Things work best when different people with different skills work together to solve problems. Attempting to rebuild the walls between design and development (even by staggering sprints) is a mistake. As Craig Webster says &amp;#8220;A [user] story is a token for a conversation. Unfortunately very few teams actually have the conversation.&amp;#8221; It&amp;#8217;s up to designers and developers to have those conversations and up to management types to give them the time to do so.&lt;/p&gt;

	&lt;p&gt;***&lt;/p&gt;

	&lt;p&gt;One final point in answer to @doug&amp;#8217;s comment: &amp;#8220;what we do &lt;span class="caps"&gt;NOT&lt;/span&gt; do is completely rearchitect the UX each iteration &#8211; UX is just too fragile and expensive to change&amp;#8221;. Yes UX is fragile and expensive to change but it&amp;#8217;s actually a *lot* cheaper to change than any other aspect of a web application. Web apps are a layer cake of database, models, controllers, views and css. The further down the stack you make changes the more impact on the layers above. Changing mark up + css is much, much cheaper than remodelling your database eg. Not that constantly changing your UX is a good thing but the pain point is usability/consistency not designer/developer overhead.&lt;/p&gt;</description>
      <link>http://www.boxesandarrows.com/view/bringing-user#content_51628</link>
      <guid>http://www.boxesandarrows.com/view/bringing-user#content_51628</guid>
      <pubDate>Wed, 03 Mar 2010 14:43:22 GMT</pubDate>
      <author>Michael Smethurst</author>
    </item>
    <item>
      <description>&lt;p&gt;@anthony &amp;#8211; I suspect we&amp;#8217;re not about to agree on this but here goes anyway&amp;#8230;&lt;/p&gt;

	&lt;p&gt;Firstly my &amp;#8220;five years out of date&amp;#8221; comment was misleading. I didn&amp;#8217;t mean the project took 5 years. From (pained) memory it took about 12-15 months. The point I was trying to make was that during those months iTunes took off and Last.fm happened. The market changed and user expectations changed. It was 5 years out of date because it felt like the market moved on 4 years in those months. Which is often why businesses &amp;#8220;don&amp;#8217;t know what they want&amp;#8221;; or rather why businesses change their minds and why agile is better suited to cope with this.&lt;/p&gt;

	&lt;p&gt;The other major problem with that project was despite all the personas and wireframes and sitemaps and photoshop comps by the time we&amp;#8217;d written the mark up and added the css the data we had couldn&amp;#8217;t be queried in a way that allowed us to build the product we&amp;#8217;d planned. Much of the project went in the bin and what we ended up shipping was a very small subset of what had been intended. Starting by designing the data model and working up just lessens the pain.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;m not blaming &lt;span class="caps"&gt;UCD&lt;/span&gt; for this and not saying that some design shouldn&amp;#8217;t happen up front. I am saying that designing from the visual layer down is much less efficient and scaleable than designing from the domain model up.&lt;/p&gt;

	&lt;p&gt;I should also say that this experience isn&amp;#8217;t just confined to my current employer. I&amp;#8217;ve seen plenty of projects fail in plenty of different organisations because they&amp;#8217;ve spent too much time designing the skin and not enough time designing the skeleton.&lt;/p&gt;

	&lt;p&gt;We (designers, developers, IAs) spend a lot of time with paper and pencil (or more often whiteboard, pen and post-its). But when it comes to user testing web design there&amp;#8217;s no substitute for working code on top of real data. You can theorise interface details til the cows come home but in my experience trying to second guess how the application will &amp;#8216;feel&amp;#8217; when the data hits the code is just misleading. Things that have worked in my head and on paper just felt wrong when seen in reality.&lt;/p&gt;

	&lt;p&gt;I wouldn&amp;#8217;t say I&amp;#8217;m fixated on on the prototype being high fidelity; just that writing prototype code &lt;span class="caps"&gt;AND&lt;/span&gt; real code is inefficient so why not make the prototype the real thing? As (possibly more) important is the use of real data. Interfaces need to evolve as the data volume increases. Taking my current project as an example, views that used to work when the system had a low volume of data now need to be redesigned as more and more data hits the back end. Attempting to get the design right without being able to experience the experience is too often futile.&lt;/p&gt;

	&lt;p&gt;Even in the simplest terms different browsers have different capabilities and different configurations and different people set them up differently. Again, the sooner you can see real users with real setups interacting with your application the sooner you can see what works and what doesn&amp;#8217;t and make changes. Does the fancy javascript/ajax interface degrade gracefully? Is it accessible to those with javascript turned off? Are the pages accessible to users and search engines?&lt;/p&gt;

	&lt;p&gt;So onto design and who does it. I&amp;#8217;m slightly confused by your statements: &amp;#8220;Naturally, every team member&#8217;s work has an impact on the user&#8217;s experience. Only some work at the part the user touches.&amp;#8221; I suspect it&amp;#8217;s more accurate to say only some work at the part the user consciously touches. Taking my earlier example of &lt;span class="caps"&gt;HTTP&lt;/span&gt; caching. It&amp;#8217;s a small detail but set up incorrectly the impact on UX (in terms of perceived response times) can be immense. It&amp;#8217;s even worse on mobile where lack of caching means more return trips to the server and bigger data bills come the end of the month &amp;#8211; which has to be a user experience issue?&lt;/p&gt;

	&lt;p&gt;Possibly the fact that &amp;#8220;some [people] have a job title that suggests their primary function is to worry about [ux] before all else&amp;#8221; is the problem here? Maybe we just need to go back to visual designer, interaction designer and information architect and embrace the fact that it takes more than those to make a user experience?&lt;/p&gt;

	&lt;p&gt;Taking a wider example from the project I&amp;#8217;m currently working on. We have a single data model but with different business logic and ux on top we have 2, 3, 4 different &amp;#8216;products&amp;#8217;. The important point is that the domain model which underpins all of this is built taking user&amp;#8217;s mental models into account. And my point is user experience starts with what you choose to model. I can&amp;#8217;t think of a better link than Tom Coates&amp;#8217; Age of Point at Things [1] which talks about data modelling as the starting point for user experience (comparing &amp;#8216;episodes&amp;#8217; on the &lt;span class="caps"&gt;BBC&lt;/span&gt; ( a concept that exists to users but which is not in any &lt;span class="caps"&gt;BBC&lt;/span&gt; business systems) to the lack of book works on Amazon books and performances of songs on iTunes). Taking a user centric approach to domain modelling and building upwards and out from the data model enables freedom of movement in the layers above which allows the site to evolve over time without changing the underlying model.&lt;/p&gt;

	&lt;p&gt;I&amp;#8217;ve seen lots of projects built in the opposite direction; taking the &amp;#8216;ux&amp;#8217; layer and working down the stack. That works fine for a first iteration but because the underlying model is designed to build a specific interface it gets trickier and trickier to warp the data model as the product evolves. Eventually the cost of changing the data model to cope with interface updates gets prohibitive and the whole stack needs to be rebuilt.&lt;/p&gt;

	&lt;p&gt;You go on to say &amp;#8220;some disciplines [..] are more tuned into that world than others. No database architects I&#8217;ve known are focused on or skilled at designing a &lt;span class="caps"&gt;GUI&lt;/span&gt; that is easy or fun to use.&amp;#8221; The point I&amp;#8217;m making is not that dba&amp;#8217;s are gonna build beautiful guis. That breed of unicorn may or may not exist; like you I&amp;#8217;ve never really met any. The point is they do design too and that design has a ***fundamental*** impact on user experience. If they model the wrong things no amount of shiny css is gonna make that better. And correcting any mistakes they make is far more expensive than fixing the gui. Because, again, the further down the stack (css &amp;gt; markup &amp;gt; controller &amp;gt; model &amp;gt; database) you make changes, the greater the impact on the layers above.&lt;/p&gt;

	&lt;p&gt;I can&amp;#8217;t really comment on the Apple example since I honestly have no experience of how they work. If it is from photoshop comps I fear that just depresses me&amp;#8230;&lt;/p&gt;

	&lt;p&gt;On the final point about &lt;span class="caps"&gt;API&lt;/span&gt; design, I honestly believe that no-one benefits from personas. They&amp;#8217;re an abstraction of real people; the world has quite enough real people without resorting to characature. And no persona is gonna give you the insights you need about modelling works not products or episodes not versions. Again a good api is reliant on a good data model but again the api (as user) experience relies on good http design, good document design etc. Much like experience for humans it&amp;#8217;s a good mix of skills that makes an &lt;span class="caps"&gt;API&lt;/span&gt; work; no one person knows enough to make everything tick.&lt;/p&gt;

	&lt;p&gt;[1] &lt;a href="http://www.plasticbag.org/archives/2005/04/the_age_of_pointatthings/" rel="nofollow"&gt;http://www.plasticbag.org/archives/2005/04/the_age_of_poi&amp;hellip;&lt;/a&gt;&lt;/p&gt;</description>
      <link>http://www.boxesandarrows.com/view/bringing-user#content_51747</link>
      <guid>http://www.boxesandarrows.com/view/bringing-user#content_51747</guid>
      <pubDate>Fri, 07 Jan 2011 20:40:22 GMT</pubDate>
      <author>Michael Smethurst</author>
    </item>
  </channel>
</rss>

