<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Getting Creative With Specs: Usable Software Specifications</title>
	<atom:link href="http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/feed/" rel="self" type="application/rss+xml" />
	<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/</link>
	<description>Boxes and Arrows is devoted to the practice, innovation, and discussion of design; including graphic design, interaction design, information architecture and the design of business.</description>
	<lastBuildDate>Mon, 20 May 2013 13:09:05 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
	<item>
		<title>By: rafa</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-5449</link>
		<dc:creator>rafa</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-5449</guid>
		<description><![CDATA[*Engineers especially have trouble stopping with a problem statement, and proceed right into the solution. So we end up with “Customer needs Add Widget Button” instead of “customer needs a way to add widgets,”*

Tell me about it! I am joining this party a bit late (kind of 4 years late?) but, anyway...
I am working on my MSc thesis (with a Computer Science BSc) trying to compile a list of requirements based on a Goal-Directed process. I interviewed some people, made some personas from those (and some other data) and now I&#039;m trying to get the requirements for the product (a mobile application)

It took me a long time, and it wasn&#039;t until my supervisor finally told me, that I didn&#039;t have to answer the question &quot;how is the user going to add a widget? a button? telepathy? a link? how? how? how? HOW AM I SUPPOSED TO TO KNOW IT??!?&quot;, but just mention that &quot;there has to be a way to add a widget&quot;, as you say.

Cheers!]]></description>
		<content:encoded><![CDATA[<p>*Engineers especially have trouble stopping with a problem statement, and proceed right into the solution. So we end up with “Customer needs Add Widget Button” instead of “customer needs a way to add widgets,”*</p>
<p>Tell me about it! I am joining this party a bit late (kind of 4 years late?) but, anyway&#8230;<br />
I am working on my MSc thesis (with a Computer Science BSc) trying to compile a list of requirements based on a Goal-Directed process. I interviewed some people, made some personas from those (and some other data) and now I&#8217;m trying to get the requirements for the product (a mobile application)</p>
<p>It took me a long time, and it wasn&#8217;t until my supervisor finally told me, that I didn&#8217;t have to answer the question &#8220;how is the user going to add a widget? a button? telepathy? a link? how? how? how? HOW AM I SUPPOSED TO TO KNOW IT??!?&#8221;, but just mention that &#8220;there has to be a way to add a widget&#8221;, as you say.</p>
<p>Cheers!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: goose12</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-5450</link>
		<dc:creator>goose12</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-5450</guid>
		<description><![CDATA[I think the idea behind the article is really good. if the specs include both the technical part and the graphical part, if they are written in plain language rather than technical cliches, this is a good way to start a development process.
As for gui prototypes, I think they serve a good purpose, when client draws a lot of attention to detail, or when you don&#039;t want to have any arguments post factum.... when it&#039;s all written on paper, and signed off by both parties, it&#039;s much easier. If the client does not like the way ui prototypes look, it makes sense to provide design mockups too. this way expectations can be managed in a smart way.
as for the &quot;add widget button&quot; vs &quot;way to add widgets&quot; problem, I think it all depends on what kind of client it is. I for one prefer the &quot;add widget button&quot; option for the specs (provided it&#039;s been confirmed with client that he wants this solution specifically). at least this is the way we do it. Gleb, www.specshelp.com]]></description>
		<content:encoded><![CDATA[<p>I think the idea behind the article is really good. if the specs include both the technical part and the graphical part, if they are written in plain language rather than technical cliches, this is a good way to start a development process.<br />
As for gui prototypes, I think they serve a good purpose, when client draws a lot of attention to detail, or when you don&#8217;t want to have any arguments post factum&#8230;. when it&#8217;s all written on paper, and signed off by both parties, it&#8217;s much easier. If the client does not like the way ui prototypes look, it makes sense to provide design mockups too. this way expectations can be managed in a smart way.<br />
as for the &#8220;add widget button&#8221; vs &#8220;way to add widgets&#8221; problem, I think it all depends on what kind of client it is. I for one prefer the &#8220;add widget button&#8221; option for the specs (provided it&#8217;s been confirmed with client that he wants this solution specifically). at least this is the way we do it. Gleb, <a href="http://www.specshelp.com" rel="nofollow">http://www.specshelp.com</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: spannerman</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9110</link>
		<dc:creator>spannerman</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9110</guid>
		<description><![CDATA[Thanks for a great article Brian. I agree with most of your key points however my thoughts travel a different course. 

I too am wondering how traditional specs can be improved with regard to specs and UI design. First off by &#039;specs&#039; I assume you mean &#039;Functional Specifications&#039;, where I work we have 3 specs - Business, Functional/User, and Technical.

For our current project we have a Functional Spec which incorporates the user interface design, now well over 200 pages. It is impossible to maintain and noone wants to read it - its too big, takes too long to print etc. There is always a rush to finish the UI as the Functional Spec has to be &#039;signed-off&#039; by stakeholders.

We have done a hifi wireframe in HTML, and everytime there&#039;s a change to it, the spec must reflect the changes. The spec also has screenshots of all screens, and when we encounter problems with the wireframe at coding time, noone wants to make a big change as the specs has to change also. The people who create the wireframe are not the application coders, therefore the application coders &#039;disown&#039; the html and expect it to be accessible, validate, and work in all browsers. One of the disadvantages of hifi html wireframes/prototypes I feel.

Anyhow, I digress. I would like to see a separation of functional spec and UI design. Stakeholders can sign off on the functional spec, develop the UI as a separate process. This means that the scope business rules, etc are complete and signed off. It also means that the stakeholders cannot hijack the design process - &quot;I want a flashing logo or I&#039;m not signing off&quot;, or when you want to change something in the UI you dont need a stakeholder meeting.]]></description>
		<content:encoded><![CDATA[<p>Thanks for a great article Brian. I agree with most of your key points however my thoughts travel a different course. </p>
<p>I too am wondering how traditional specs can be improved with regard to specs and UI design. First off by &#8216;specs&#8217; I assume you mean &#8216;Functional Specifications&#8217;, where I work we have 3 specs &#8211; Business, Functional/User, and Technical.</p>
<p>For our current project we have a Functional Spec which incorporates the user interface design, now well over 200 pages. It is impossible to maintain and noone wants to read it &#8211; its too big, takes too long to print etc. There is always a rush to finish the UI as the Functional Spec has to be &#8216;signed-off&#8217; by stakeholders.</p>
<p>We have done a hifi wireframe in HTML, and everytime there&#8217;s a change to it, the spec must reflect the changes. The spec also has screenshots of all screens, and when we encounter problems with the wireframe at coding time, noone wants to make a big change as the specs has to change also. The people who create the wireframe are not the application coders, therefore the application coders &#8216;disown&#8217; the html and expect it to be accessible, validate, and work in all browsers. One of the disadvantages of hifi html wireframes/prototypes I feel.</p>
<p>Anyhow, I digress. I would like to see a separation of functional spec and UI design. Stakeholders can sign off on the functional spec, develop the UI as a separate process. This means that the scope business rules, etc are complete and signed off. It also means that the stakeholders cannot hijack the design process &#8211; &#8220;I want a flashing logo or I&#8217;m not signing off&#8221;, or when you want to change something in the UI you dont need a stakeholder meeting.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian R. Krause</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9111</link>
		<dc:creator>Brian R. Krause</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9111</guid>
		<description><![CDATA[Thanks for the comment.

I imagine that the wireframe is the de facto spec, the thing that everybody refers to day to day. 

Your situation (which I obviously sympathize with) sounds like asking a building architect to represent all the information in a large blueprint in a series of 8 1/2 x 11 pages without using pictures. &quot;Section 3.2.4: Bedroom. The bedroom provides facilities for sleeping, reading, and television watching if the optional television module is installed.  The south wall includes two windows, which may be opened and closed by operating the latches (Part #3321, Anderson Windows) and moving the interior panes up and down...&quot;

I&#039;m not sure what you mean by the application coders &quot;disowning&quot; the prototype code. They expect it to be better quality?]]></description>
		<content:encoded><![CDATA[<p>Thanks for the comment.</p>
<p>I imagine that the wireframe is the de facto spec, the thing that everybody refers to day to day. </p>
<p>Your situation (which I obviously sympathize with) sounds like asking a building architect to represent all the information in a large blueprint in a series of 8 1/2 x 11 pages without using pictures. &#8220;Section 3.2.4: Bedroom. The bedroom provides facilities for sleeping, reading, and television watching if the optional television module is installed.  The south wall includes two windows, which may be opened and closed by operating the latches (Part #3321, Anderson Windows) and moving the interior panes up and down&#8230;&#8221;</p>
<p>I&#8217;m not sure what you mean by the application coders &#8220;disowning&#8221; the prototype code. They expect it to be better quality?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: spannerman</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9112</link>
		<dc:creator>spannerman</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9112</guid>
		<description><![CDATA[Thanks for your reply Brian. The wireframe &#039;becomes&#039; the spec because its easier to see webpages than read the spec. 

The &#039;developers&#039; in this case are the middle tier guys. They are too busy integrating the app with other enterprise systems and databases to care about the html. They assume the wireframe is a finished product, which it isnt. My experience with customers is that they too see a hifi wireframe and think its the finished product - but thats another article :)

I guess the question I am asking is &quot;can we create more usable specs by separating functionality from design?&quot; In my experience the functional specs require signoff from stakeholders, and the application is then developed and tested against these specs. The interface design should be a flexible and iterative process involving end users, designers, and implementing best practices - not tied up with stakeholders who want to dictate UI design.]]></description>
		<content:encoded><![CDATA[<p>Thanks for your reply Brian. The wireframe &#8216;becomes&#8217; the spec because its easier to see webpages than read the spec. </p>
<p>The &#8216;developers&#8217; in this case are the middle tier guys. They are too busy integrating the app with other enterprise systems and databases to care about the html. They assume the wireframe is a finished product, which it isnt. My experience with customers is that they too see a hifi wireframe and think its the finished product &#8211; but thats another article <img src='http://www-boxesandarrows-com.zippykid.netdna-cdn.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I guess the question I am asking is &#8220;can we create more usable specs by separating functionality from design?&#8221; In my experience the functional specs require signoff from stakeholders, and the application is then developed and tested against these specs. The interface design should be a flexible and iterative process involving end users, designers, and implementing best practices &#8211; not tied up with stakeholders who want to dictate UI design.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian R. Krause</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9113</link>
		<dc:creator>Brian R. Krause</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9113</guid>
		<description><![CDATA[The challenge of prototypes, especially hi-fi ones, is managing expectations. The same HTML can be seen as scaffolding that&#039;s useful for someone who only expected screenshots, but it can also be not-good-enough code for someone who was expecting something else. Having recently implemented one of my HTML designs, I felt both ways!

It&#039;s hard to get people to separate functionality in the abstract from the realization of it in the user interface. What you really need is a separation of problems from solutions.  Logically, you need the solutions to flow from the problems, but technology products don&#039;t always work that way.

Often, functional specs say things like, &quot;User needs an Add Widget button&quot; when in fact the user doesn&#039;t need a button but just the capability to add widgets. Sometimes, clients don&#039;t mind or notice that I don&#039;t take premature UI design literally. Unfortunately, most people don&#039;t have the design vocabulary to describe what they want without suggesting something concrete.  Engineers especially (I am one so I can say this)  have trouble stopping with a problem statement, and proceed right into the solution.  So we end up with &quot;Customer needs Add Widget Button&quot; instead of &quot;customer needs a way to add widgets,&quot; or even better, &quot;Customer&#039;s current widget index card file makes it difficult to share widget information like part numbers with the Phoenix office.&quot;

Once the concrete solution has been proposed, the UI designer has to explain why a change is needed, and so you end up arguing about the Add Widget button instead of what the best way to get widget part numbers to Phoenix. I find it helps if you can appear prescient by telling people they&#039;re going to have this reaction well before any particular issue comes up, and that the UI might end up being quite different from just the sum of the functions suggested.]]></description>
		<content:encoded><![CDATA[<p>The challenge of prototypes, especially hi-fi ones, is managing expectations. The same HTML can be seen as scaffolding that&#8217;s useful for someone who only expected screenshots, but it can also be not-good-enough code for someone who was expecting something else. Having recently implemented one of my HTML designs, I felt both ways!</p>
<p>It&#8217;s hard to get people to separate functionality in the abstract from the realization of it in the user interface. What you really need is a separation of problems from solutions.  Logically, you need the solutions to flow from the problems, but technology products don&#8217;t always work that way.</p>
<p>Often, functional specs say things like, &#8220;User needs an Add Widget button&#8221; when in fact the user doesn&#8217;t need a button but just the capability to add widgets. Sometimes, clients don&#8217;t mind or notice that I don&#8217;t take premature UI design literally. Unfortunately, most people don&#8217;t have the design vocabulary to describe what they want without suggesting something concrete.  Engineers especially (I am one so I can say this)  have trouble stopping with a problem statement, and proceed right into the solution.  So we end up with &#8220;Customer needs Add Widget Button&#8221; instead of &#8220;customer needs a way to add widgets,&#8221; or even better, &#8220;Customer&#8217;s current widget index card file makes it difficult to share widget information like part numbers with the Phoenix office.&#8221;</p>
<p>Once the concrete solution has been proposed, the UI designer has to explain why a change is needed, and so you end up arguing about the Add Widget button instead of what the best way to get widget part numbers to Phoenix. I find it helps if you can appear prescient by telling people they&#8217;re going to have this reaction well before any particular issue comes up, and that the UI might end up being quite different from just the sum of the functions suggested.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9114</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9114</guid>
		<description><![CDATA[Joel Spolsky&#039;s written a good (programmer-centric) set of articles on writing specs. 
http://www.joelonsoftware.com/articles/fog0000000036.html

Worth a read if one of your main audiences is coders.]]></description>
		<content:encoded><![CDATA[<p>Joel Spolsky&#8217;s written a good (programmer-centric) set of articles on writing specs.<br />
<a href="http://www.joelonsoftware.com/articles/fog0000000036.html" rel="nofollow">http://www.joelonsoftware.com/articles/fog0000000036.html</a></p>
<p>Worth a read if one of your main audiences is coders.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ji Kim</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9115</link>
		<dc:creator>Ji Kim</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9115</guid>
		<description><![CDATA[Thanks Brian for a wonderful article.

Yes, I agree with you on everything you said. 
Well, up to certain point.

Your view of traditional spec might be different for certain organization. I worked in a large company, where it took many years to get all the groups in a company to agree on a process. So, to introduce nontraditional spec as part of the process will take very long time and buy in.

But if it&#039;s a new company or even small startup, it might be easier. That&#039;s just an assumption.

I don&#039;t like very strict process, but some companies require development teams to follow very strict engineering process even if it&#039;s not the best (sometimes to meet some standards).

In seperate note, I also wanted to comment on who should write the UI specs. Writing specs long time. You could hire somebody full time to write UI specs all day, but lot of companies won&#039;t invest in something like that. So, we the UI desigers and engineers end up writing it. But lot of UI designers have very little training in writing good specs, especially for softwares. It&#039;s hard to spend time writing &quot;ideal&quot; specs while doing user research and interaction design.

I really think writing effective spec should be done by technical products managers or program managers. I know in microsoft, this is how it&#039;s done.
Yes, there are lot of bad things about microsoft, but their software engineering process is lot better than most companies out there.

So for some of us who do not have program managers with UI developmenet/design skills,
it just means more work for us.

By the way, if anybody knows of any good cheap software for producing and managing UI specs, let me know.]]></description>
		<content:encoded><![CDATA[<p>Thanks Brian for a wonderful article.</p>
<p>Yes, I agree with you on everything you said.<br />
Well, up to certain point.</p>
<p>Your view of traditional spec might be different for certain organization. I worked in a large company, where it took many years to get all the groups in a company to agree on a process. So, to introduce nontraditional spec as part of the process will take very long time and buy in.</p>
<p>But if it&#8217;s a new company or even small startup, it might be easier. That&#8217;s just an assumption.</p>
<p>I don&#8217;t like very strict process, but some companies require development teams to follow very strict engineering process even if it&#8217;s not the best (sometimes to meet some standards).</p>
<p>In seperate note, I also wanted to comment on who should write the UI specs. Writing specs long time. You could hire somebody full time to write UI specs all day, but lot of companies won&#8217;t invest in something like that. So, we the UI desigers and engineers end up writing it. But lot of UI designers have very little training in writing good specs, especially for softwares. It&#8217;s hard to spend time writing &#8220;ideal&#8221; specs while doing user research and interaction design.</p>
<p>I really think writing effective spec should be done by technical products managers or program managers. I know in microsoft, this is how it&#8217;s done.<br />
Yes, there are lot of bad things about microsoft, but their software engineering process is lot better than most companies out there.</p>
<p>So for some of us who do not have program managers with UI developmenet/design skills,<br />
it just means more work for us.</p>
<p>By the way, if anybody knows of any good cheap software for producing and managing UI specs, let me know.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jod</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9116</link>
		<dc:creator>jod</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9116</guid>
		<description><![CDATA[I agree with elements of your article, but the scope of the discussion is too small for me.

The problem with writing specs and why people find them hard to maintain is that they try to write them in word. Using a word processor is an impossibly difficult way to maintain something as complex as a spec.

There is also a widespread misconception (mainly web driven) that wireframes constitute a spec. IMHO they are not. Helpful, but not a spec.

To write a good spec You need to know functionally what you want to achieve in the product. You have to map these requirements to how you want to achieve them. This involves back end, front end, big end and all sorts of other ends but the main thing is to get to an end-to-end understanding of the product and why you are doing what you are doing.

People draw up wireframes too soon without thinking about the business processes and rules first. If you cannot clearly follow a line of thought from a wireframe justifiably back to a requirement then who said it should be there? Not the customer, that&#039;s for sure.

Another thing that drives me nuts is that people don&#039;t use the right tools. Forget Visio, forget HTML, forget word and forget Photoshop. These are all rubbish for doing a wireframe or lo-fi design.

Why? Because they do not capture information well. On a screen design you need to capture visual placement but also rules, definitions of screen areas, field names, button functions, interactions, etc... People do this by drawing something up in a drawing package then trying to assign information to it by writing a document to go with it. For example, to be any use to a developer, a design should indicate which fields from the database each field on the screen represents. Now watch your designers head explode when you give them a data model to decipher.

Even if you manage to finish one version of this complex task it will never get kept up to date as the wireframes change - it&#039;s just too much effort.

The best tools to use for writing your spec and initial UI design are CASE tools such as System Architect, Enterprise Architect, RUP, etc...

Put your project requirements into such a tool and your spec will write itself when you press the export button. Draw your wireframes in a CASE tool and as you change the wireframes, UI elements, requirements, use cases etc so does your documentation. It really is that simple.

[Something worth noting is that your customer may not fully understand your spec and what the implications of it are. This means there should be some translation of your spec into a form they can understand. This is where a &quot;usable spec&quot; can help and I have drawn things up in many ways in the past to get people to understand. Whatever it takes...:]

Ji Kim said above:

&quot;But lot of UI designers have very little training in writing good specs, especially for softwares.&quot;

I agree with that entirely. The spec writing process can be hijacked by a range of people who are not skilled or trained in business process analysis, systems analysis, technical writing or systems design (architecture). The depth of knowledge is not there to understand anything except the superficial issues around wireframes.

Having said all this, I don&#039;t believe in strict processes either. Use the analysis and design tools by figuring out what you want to get out of them - not by following a methodology just for the sake of it. Just make sure you justify your approach.

I also firmly believe in the 80 / 20 rule. It rules. Simply put, the 80/20 rule states that the relationship between input and output is rarely, if ever, balanced. When applied to work it means that approximately 20 percent of your efforts produce 80 percent of the results. Learning to recognize and then focus on that 20 percent is the key to making the most effective use of your time.

So, design 80% of your system/site/application then build something. The first iteration of design is often the most productive yet projects rarely achieve full iteration even once without prejudice. Yet you will spend 80% more time trying to figure out that elusive 20% extra detail. Iterate through a design and prototype just once and those elusive details will likely fall into your lap.

Going to a building analogy - used to be a surveyor in a previous life - an architect will design a building to an incredible level of detail that would make most software teams shudder. They can tell you how many nuts and bolts are required to build a 50 storey skyscraper and how many litres of paint for the stairwells.

Why? Because they are using the right tools and not re-inventing the wheel. CAD tools, technical drawing and standard processes mean they know exactly what to do to get the thing built. An architect also has an enormous level of technical understanding - he doesn&#039;t just draw pictures. Again, this is how they can plan in such detail. 

All of this rambling boils down to saying that a spec is requirements and functionality driven and a wireframe is an implementation task that is more than just pictures.

Cheers,]]></description>
		<content:encoded><![CDATA[<p>I agree with elements of your article, but the scope of the discussion is too small for me.</p>
<p>The problem with writing specs and why people find them hard to maintain is that they try to write them in word. Using a word processor is an impossibly difficult way to maintain something as complex as a spec.</p>
<p>There is also a widespread misconception (mainly web driven) that wireframes constitute a spec. IMHO they are not. Helpful, but not a spec.</p>
<p>To write a good spec You need to know functionally what you want to achieve in the product. You have to map these requirements to how you want to achieve them. This involves back end, front end, big end and all sorts of other ends but the main thing is to get to an end-to-end understanding of the product and why you are doing what you are doing.</p>
<p>People draw up wireframes too soon without thinking about the business processes and rules first. If you cannot clearly follow a line of thought from a wireframe justifiably back to a requirement then who said it should be there? Not the customer, that&#8217;s for sure.</p>
<p>Another thing that drives me nuts is that people don&#8217;t use the right tools. Forget Visio, forget HTML, forget word and forget Photoshop. These are all rubbish for doing a wireframe or lo-fi design.</p>
<p>Why? Because they do not capture information well. On a screen design you need to capture visual placement but also rules, definitions of screen areas, field names, button functions, interactions, etc&#8230; People do this by drawing something up in a drawing package then trying to assign information to it by writing a document to go with it. For example, to be any use to a developer, a design should indicate which fields from the database each field on the screen represents. Now watch your designers head explode when you give them a data model to decipher.</p>
<p>Even if you manage to finish one version of this complex task it will never get kept up to date as the wireframes change &#8211; it&#8217;s just too much effort.</p>
<p>The best tools to use for writing your spec and initial UI design are CASE tools such as System Architect, Enterprise Architect, RUP, etc&#8230;</p>
<p>Put your project requirements into such a tool and your spec will write itself when you press the export button. Draw your wireframes in a CASE tool and as you change the wireframes, UI elements, requirements, use cases etc so does your documentation. It really is that simple.</p>
<p>[Something worth noting is that your customer may not fully understand your spec and what the implications of it are. This means there should be some translation of your spec into a form they can understand. This is where a "usable spec" can help and I have drawn things up in many ways in the past to get people to understand. Whatever it takes...:]</p>
<p>Ji Kim said above:</p>
<p>&#8220;But lot of UI designers have very little training in writing good specs, especially for softwares.&#8221;</p>
<p>I agree with that entirely. The spec writing process can be hijacked by a range of people who are not skilled or trained in business process analysis, systems analysis, technical writing or systems design (architecture). The depth of knowledge is not there to understand anything except the superficial issues around wireframes.</p>
<p>Having said all this, I don&#8217;t believe in strict processes either. Use the analysis and design tools by figuring out what you want to get out of them &#8211; not by following a methodology just for the sake of it. Just make sure you justify your approach.</p>
<p>I also firmly believe in the 80 / 20 rule. It rules. Simply put, the 80/20 rule states that the relationship between input and output is rarely, if ever, balanced. When applied to work it means that approximately 20 percent of your efforts produce 80 percent of the results. Learning to recognize and then focus on that 20 percent is the key to making the most effective use of your time.</p>
<p>So, design 80% of your system/site/application then build something. The first iteration of design is often the most productive yet projects rarely achieve full iteration even once without prejudice. Yet you will spend 80% more time trying to figure out that elusive 20% extra detail. Iterate through a design and prototype just once and those elusive details will likely fall into your lap.</p>
<p>Going to a building analogy &#8211; used to be a surveyor in a previous life &#8211; an architect will design a building to an incredible level of detail that would make most software teams shudder. They can tell you how many nuts and bolts are required to build a 50 storey skyscraper and how many litres of paint for the stairwells.</p>
<p>Why? Because they are using the right tools and not re-inventing the wheel. CAD tools, technical drawing and standard processes mean they know exactly what to do to get the thing built. An architect also has an enormous level of technical understanding &#8211; he doesn&#8217;t just draw pictures. Again, this is how they can plan in such detail. </p>
<p>All of this rambling boils down to saying that a spec is requirements and functionality driven and a wireframe is an implementation task that is more than just pictures.</p>
<p>Cheers,</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas</title>
		<link>http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9117</link>
		<dc:creator>Thomas</dc:creator>
		<pubDate>Wed, 30 Nov -0001 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://boxesandarrows.com/getting-creative-with-specs-usable-software-specifications/#comment-9117</guid>
		<description><![CDATA[This is driving me crazy...I know I saw an example of a spec somewhere which went like

Screen 

and then 

All the elements in the screen in a table called ui elements or something like that.

If someone knows where it is please let me know the url.  Thanks]]></description>
		<content:encoded><![CDATA[<p>This is driving me crazy&#8230;I know I saw an example of a spec somewhere which went like</p>
<p>Screen </p>
<p>and then </p>
<p>All the elements in the screen in a table called ui elements or something like that.</p>
<p>If someone knows where it is please let me know the url.  Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>
