<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Testmundo : Agile</title><link>http://blogs.msdn.com/nnaderi/archive/tags/Agile/default.aspx</link><description>Tags: Agile</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>The Evolution of the UI Design of Test and Lab Manager</title><link>http://blogs.msdn.com/nnaderi/archive/2009/05/29/the-evolution-of-the-ui-design-of-test-and-lab-manager.aspx</link><pubDate>Fri, 29 May 2009 08:08:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9649331</guid><dc:creator>nnaderi</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/nnaderi/comments/9649331.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nnaderi/commentrss.aspx?PostID=9649331</wfw:commentRss><description>&lt;P&gt;&lt;EM&gt;In the last post, I discussed how our team approaches designing user interfaces in an Agile manner. In this post, I will discuss how the design of Test and Lab Manager, aka codename Camano, has evolved as assumptions were tested and feedback was received. &lt;/EM&gt;&lt;/P&gt;
&lt;H2&gt;Starting out&lt;/H2&gt;
&lt;P&gt;After doing extensive research on the testing market, we were fairly certain that in the next release, we wanted to create a product targeting Generalist Testers (70% of the testing market) who are uncomfortable with the amount of options available to them in Visual Studio. We were however fairly uncertain on the exactly which features to include in the product all the scenarios which we would have time to handle. &lt;/P&gt;
&lt;P&gt;Being an Agile team who was open to change along the way, we decided to start designing and developing the product with the understanding that change would come along the way.&lt;/P&gt;
&lt;H2&gt;Iteration 1: Test Case Management inside Visual Studio&lt;/H2&gt;
&lt;P&gt;To get going on the project, while our other release (Visual Studio 2008) was winding down, we decided to create the basics of testing tools inside Visual Studio. Our thinking was that we wanted to get some tools around Test Case Management in the box so we could leverage the infrastructure which we had created in future sprints.&lt;/P&gt;
&lt;P&gt;Below are a couple of shots of how we envisioned doing Test Case Management inside Visual Studio.&amp;nbsp; The first shows managing configurations, the second shows authoring a test case (which is a work item). The mockups below were created by Moneta Ho.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_18.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_18.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_8.png" width=644 height=467 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_8.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_20.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_20.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_9.png" width=644 height=467 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_9.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H2&gt;Iteration 2: Creating codename Camano&lt;/H2&gt;
&lt;P&gt;As more research studies became available and we learned more about our target market's likes and dislikes, the team decided to create a standalone environment for generalist testers and to scrap the abilities to do TCM in Visual Studio. Our studies had told us that our target audience was not extremely technical and was a little overwhelmed by Visual Studio.&amp;nbsp; We hoped that in doing so, testers would feel much more comfortable using our tools for their testing.&amp;nbsp; The sprint of work that we did inside Visual Studio was not throw away work since the majority of it was merged into Camano later on.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;UI Breakdown&lt;/STRONG&gt;: Although, we were unsure which actual features would end up in the product, we envisioned that the majority of the tasks would fall in to 5 broad categories: Dashboard Information, Planning, Testing, Triaging Bugs and Reporting. To accommodate these groups, we chunked the UI into 5 groups: Home, Planning, Testing, Defects and Reports, with the perl on the left reserved for items which didn't seem to fit into any group.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Workflows&lt;/STRONG&gt;: We wanted to make the product as simple to use as possible so we thought to guide the user through the workflow of various tasks. To this end, we modeled much of the UI after traditional tasked based UIs such as Microsoft Money, with the left portion the UI dedicated to guiding the user through various workflows via hyperlinks. Tasks which were specific to the activity displayed in the activity window would be displayed as "common activities," while tasks specific to whatever is selected in the page would appear under "selected activities."&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Multi-tasking&lt;/STRONG&gt;: As we felt that it would be quite common to work on multiple things in parallel, we introduced a work in progress area to the left hand pane. The area worked by like a stack in that when a user navigated away from an activity, the activity from which the user went was placed at the top of the stack.&lt;/P&gt;
&lt;P&gt;Below are a few mock ups, created by Moneta Ho, of the initial design of Camano.&amp;nbsp; The first shows the broad breakdown of the UI, the second shows the UI with a few artifacts.&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_6.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_2.png" width=644 height=469 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_28.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_28.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_13.png" width=640 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_13.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H2&gt;Iteration 3: Simple Tweaks&lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Problems&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;We conducted a round of usability studies with local testers. We took away the following details from the study:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Many people did not understand where they were in the UI at any given point &lt;/LI&gt;
&lt;LI&gt;Many didn't understand why the contents of the left hand pane was changing all the time or find it useful &lt;/LI&gt;
&lt;LI&gt;Nobody used the work in progress area to switch between items, rather they preferred to just navigate to it directly &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;After observing users crying out in frustration in the usability study, we decided to make some tweaks to the Camano shell.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Solution&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Since most users did not correlate between selecting an item in the grid and then selecting an action to be performed on it far away, we moved all actions that could be performed on items in a grid to a toolbar directly above the item.&amp;nbsp; Further, we created a toolbar to contain items for the page displayed in the Activities pane.&amp;nbsp; Together, this allowed us to get rid of the selected item activities and paved the way to getting rid of the left hand pane entirely later on.&lt;/P&gt;
&lt;P&gt;As we iterated, we found that we really did not need the Perl in the top left hand corner in the UI. We therefore removed it from the product as well.&lt;/P&gt;
&lt;P&gt;Below is a screenshot of the tweaks that were made, one with a blue theme, one with a dark theme.&amp;nbsp; Both themes were in implemented in the the product at various times.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_10.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_10.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_4.png" width=644 height=483 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_4.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_16.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_16.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_7.png" width=644 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_7.png"&gt;&lt;/A&gt;&lt;/H2&gt;
&lt;H2&gt;Iteration 4: Major Overhaul &lt;/H2&gt;
&lt;P&gt;&lt;STRONG&gt;Problems&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;As more of Camano began to take shape and more users internally began to use it, we increasingly received feedback from almost all of our channels including TAP, MVPs, &lt;A href="http://blogs.msdn.com/controlpanel/blogs/www.ttsig.com" mce_href="www.ttsig.com"&gt;the SIG&lt;/A&gt; and internal users that the product was not easy to use.&amp;nbsp; In our effort to make something that would allow people to plan all the steps of their testing, we made something which exposed too many artifacts in the UI at one time, did not guide a user through any particular workflow and to some extent got in the way of a user doing their testing. Although we initially designed band aid solutions such as activities dedicated to streamlining the out of the box experience via a wizard,&amp;nbsp; filtering a tester’s view by various factors, and workflow diagrams built into the page, we felt we needed to do something more dramatic.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Further, it was felt that our current UI:&amp;nbsp; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Had too much space (around 40%) dedicated to navigation.&amp;nbsp; Much of the navigation was redundant with 2 or 3 areas dedicated to doing the same thing. &lt;/LI&gt;
&lt;LI&gt;Our history metaphor was not working.&amp;nbsp; Our work in progress area quickly filled with items which the user was not interested in navigating back to. &lt;/LI&gt;
&lt;LI&gt;Did not make it easy to perform simple tasks.&amp;nbsp; 2 or 3 steps were needed to just perform simple things without the tool guiding the user through the process. &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In a typical tester’s day, we began to understand that:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Most testers would work within the context of a Single Test Plan.&amp;nbsp; Examining items that span multiple plans would be a 20% scenario. &lt;/LI&gt;
&lt;LI&gt;The majority of their time would be spent in 3 types of activities: Authoring Tests, Running Tests, and Examining Bugs &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Solution&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Object Model:&lt;/EM&gt; After much discussion, between both server and client teams, it was realized that the object model on which Camano was based could be dramatically simplified if we always forced the user to plan their test cases for execution at the plan level rather than as stand-alone suites which could be used from plan to plan.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Some of the initial sketches of this idea by Ed Glas and the server team were as follows: &lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/SuiteManagerInPAC_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/SuiteManagerInPAC_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=SuiteManagerInPAC border=0 alt=SuiteManagerInPAC src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/SuiteManagerInPAC_thumb.jpg" width=644 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/SuiteManagerInPAC_thumb.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/AssignTests_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/AssignTests_2.jpg"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: inline; BORDER-TOP: 0px; BORDER-RIGHT: 0px" title=AssignTests border=0 alt=AssignTests src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/AssignTests_thumb.jpg" width=644 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/AssignTests_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;User Interface:&lt;/EM&gt; To assist with the issues mentioned above, we decided to make several changes to the UI.&amp;nbsp; Specifically, we decided to optimize the UI on common workflows, make it easier to access the most common activities, eliminate the left hand pane, change the history metaphor, add back and forward buttons to the UI and to force the user to work within a single plan. &lt;/P&gt;
&lt;P&gt;By doing so, I think that we were able to naturally filter the perspective of the tester to the items they are interested in (their currently connected plan), and streamline workflows. With these changes made, workflows become much more natural since objects are always created in the context of a plan. &lt;/P&gt;
&lt;P&gt;Below is a mock up of design, by Nigel Wolters, that shows the changes, followed by a screenshot of what was actually implemented.&amp;nbsp; Note that the amount of space dedicated to navigation was minimized and that when the user is in the “Tester’s Center,” the user’s perspective is filtered to the Test Plan to which they are currently connected.&amp;nbsp; Further, access to the most common areas (to author or run tests or look at bugs), are just one or two clicks away at any given point.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_12.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_12.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_5.png" width=642 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_5.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_26.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_26.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_12.png" width=644 height=463 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_12.png"&gt;&lt;/A&gt;&lt;/H2&gt;
&lt;H2&gt;Iteration 5: Simple Tweaks&lt;/H2&gt;
&lt;P&gt;After making the major overhaul to the object model and accompanying changes in the UI, we started to get raving reviews.&amp;nbsp; Folks were particularly happy to have the full horizontal screen for their activity content and that they were able to get testing quickly out of the box. All of our feedback channels started telling us that the product felt much more polished and easy to use.&lt;/P&gt;
&lt;P&gt;As folks in Visual Studio started to look at it, it was pointed out that the colors were not in sync with the new blue Visual Studio theme in VS2010.&amp;nbsp; We decided to do a simple update to make Camano blue in addition to making it a little sexier.&amp;nbsp; I’m quite happy with how it ended up.&lt;/P&gt;
&lt;P&gt;Below is a mockup created by David Culberton in conjunction with Nigel Wolters. It is very close to how the Beta 1 product looks and feels.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_24.png" mce_href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_24.png"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: block; FLOAT: none; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: auto; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: auto" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_11.png" width=643 height=484 mce_src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/TheevolutionofUserExperienceinCamano_E863/image_thumb_11.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;As you can see, in the run up to the Beta 1 release of codename Camano, the product has been completely redesigned several times.&amp;nbsp;&amp;nbsp; My hat goes off to the Agile process and management which has allowed us to respond to various levels of feedback to make design changes when appropriate.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I should note how much of a team effort designing Camano has been.&amp;nbsp; Each design decision has been thoroughly scrutinized to make sure that the right trade-offs are considered and the right optimizations are made.&amp;nbsp; Nigel Wolters, David Culbertson, Moneta Ho, Mark Mydland, David R. Williamson, &lt;A href="http://blogs.msdn.com/edglas/" mce_href="http://blogs.msdn.com/edglas/"&gt;Ed Glas&lt;/A&gt;, Michael Rigler, &lt;A href="http://blogs.msdn.com/dhopton/" mce_href="http://blogs.msdn.com/dhopton/"&gt;Dominic Hopton&lt;/A&gt;, &lt;A href="http://blogs.msdn.com/euanga/" mce_href="http://blogs.msdn.com/euanga/"&gt;Euan Garden&lt;/A&gt; and myself (&lt;A href="http://blogs.msdn.com/nnaderi/default.aspx" mce_href="http://blogs.msdn.com/nnaderi/default.aspx"&gt;Naysawn Naderi&lt;/A&gt;) have have all been thoroughly involved in making Camano as easy on the eye as we think it is easy to use. &lt;/P&gt;
&lt;P&gt;Along these lines, we are also incredibly indebted to our MVPs, &lt;A href="http://blogs.msdn.com/controlpanel/blogs/www.ttsig.com" mce_href="www.ttsig.com"&gt;SIG representatives&lt;/A&gt; and many other unsung feedback heros who have been invaluable in praising us when appropriate and holding us out on the ringer when we deserve to as well.&amp;nbsp; My thanks goes out to you for helping to shape the design of codename Camano.&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9649331" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Rosario/default.aspx">Rosario</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Camano/default.aspx">Camano</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Generalist+Testers/default.aspx">Generalist Testers</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/UX+Design/default.aspx">UX Design</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Agile/default.aspx">Agile</category></item><item><title>How We Approach Agile Design</title><link>http://blogs.msdn.com/nnaderi/archive/2009/05/08/how-we-approach-agile-design.aspx</link><pubDate>Fri, 08 May 2009 21:28:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9597485</guid><dc:creator>nnaderi</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/nnaderi/comments/9597485.aspx</comments><wfw:commentRss>http://blogs.msdn.com/nnaderi/commentrss.aspx?PostID=9597485</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;For approximately the past year and a half, I have been working on building the next generation of testing tools. Our standalone UI, Microsoft Test and Lab Manager, was built to allow testers to plan their testing and overview their results. We have built the UI in an Agile manner and followed Agile processes. In this post, I'll go over some of the practices that we have been following to plan and design in an agile manner. In the next post, I'll go over an example of this by looking at how the UI for Camano has evolved in the past year and a half.&lt;/em&gt; &lt;/p&gt;  &lt;h3&gt;Breaking down the Planning&lt;/h3&gt;  &lt;p&gt;The Camano team follows an &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development#Principles_behind_agile_methods"&gt;Agile Development&lt;/a&gt; process with Sprints of 5 weeks. I'm sure most of you are familiar with Agile. One of its premises is that requirements and priorities are constantly changing and that software is best developed by breaking work into bite size chunks which can be coded, tested and completed in a single Sprint.&amp;#160; The idea is to incrementally add the most pressing features to the product in a manner where the overall quality of the product is maintained. &lt;/p&gt;  &lt;p&gt;To accommodate planning in this manner, our team maintains a priority sorted product backlog in a &lt;a href="http://en.wikipedia.org/wiki/Team_Foundation_Server"&gt;Team Foundation Server&lt;/a&gt; (TFS) database. Each backlog item has a corresponding work item that contains a field for its relative priority (RankInt) to other items on the backlog. We leverage the integration that TFS has with Excel, to view the list of all the backlog work items in Excel so that we can move the work items around in the list and change their relative rankings. We are constantly adding more items to the backlog and shifting around their relative priorities. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/HowWeApproachAgileDesign_92E8/backlog_2.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="backlog" border="0" alt="backlog" src="http://blogs.msdn.com/blogfiles/nnaderi/WindowsLiveWriter/HowWeApproachAgileDesign_92E8/backlog_thumb.png" width="450" height="341" /&gt;&lt;/a&gt;This is a screenshot of how the Camano backlog looked at one point in time.&amp;#160; Each row in excel corresponds to a TFS work item&lt;/p&gt;  &lt;p&gt;About 4 weeks before a Sprint begins, we flag the items at the top of the backlog to be planned and developed in the next Sprint. Us Program Managers, take it as our goal to fully spec out the features for the Sprints so that developers have all unanswered questions hashed out by the time they need to plan out its implementation. We don't always hit our mark of identifying which features to develop in time or manage to close open issues by design week, but we our best to achieve the goal.&lt;/p&gt;  &lt;h3&gt;Rapid Design to Accommodate Agile Development&lt;/h3&gt;  &lt;p&gt;PMs and designers typically have about 5 weeks to grind out a design for a feature to be implemented in Camano. Although this may sound like a while, striving to go from nothing to something which all the important stake holders agree upon can be a challenging task.&lt;/p&gt;  &lt;p&gt;Our team has attempted to create rapid designs by having Program Manger spearhead a design who presents to higher ups the design at regular intervals. When there are 4 weeks to develop a design, it typically looks like this:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Prior to Week 1&lt;/strong&gt;: Management and PMs decide on the components to add to the product in the next Sprint.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Week 1&lt;/strong&gt;: PM chats with a few passionate people about a new and cool feature, develops a low fidelity wireframe of the experience &amp;amp; discusses the experience with higher ups at the end of the week&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Week 2&lt;/strong&gt;: PM iterates on feedback from the discussion &amp;amp; works with a designer to create a high fidelity mock ups of their features and presents it again to the higher ups for feedback&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Week 3&lt;/strong&gt;: PM iterates on feedback and does another review with higher ups and engineering leads to see to it that they are content with the final solution.&amp;#160; The PM also typically will run a design by other effected teams to be sure that dependencies are flagged properly.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Week 4&lt;/strong&gt;: PM presents the design to the engineering team. Engineering team has feedback which is jotted down to make design trade-offs.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Week 5&lt;/strong&gt;: PM updates the design from feedback from the engineering team.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;End of Week 5&lt;/strong&gt;: The Sprint begins and the designs begin to be implemented by the engineering team.&amp;#160; The PM team starts to design the features for the next Sprint.&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;Feedback along the way&lt;/h3&gt;  &lt;p&gt;Since we are developing in an Agile manner, we are able to demonstrate functionality to customers along the way and get feedback. Although our product is being released as a part of Visual Studio 2010, we have shown the completed portions to customers in pre-betas, called Customer Technology Previews (CTPs), at regular milestones.&lt;/p&gt;  &lt;p&gt;In addition to getting input via customer use of CTPs, we use a variety of other mechanisms to get feedback from customer as the product is developed.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Hands on Labs&lt;/strong&gt;: With each CTP release, we have adopted the practice of getting both internal and external testers to run through a scripted scenario. Although it is painful to set up machines for all parties to run through, it is a good means to hear feedback from first time users of the product. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Focus Groups&lt;/strong&gt;: We have 2 groups of customers, one made up of&lt;a href="http://www.ttsig.com"&gt; local software testers&lt;/a&gt;, one of remote testers. We routinely discuss priorities and features before they are coded and ask them to find gaps in our story. &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Usability Studies&lt;/strong&gt;: We routinely run usability studies where we bring in local testers and observe their efforts to perform various tasks on the developed product. I've found it quite eye opening to see users struggling to perform tasks with a product that you've designed. It is also quite motivating to fix an issue when the whole engineering team observes a user yelling at the screen! &lt;/li&gt; &lt;/ul&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Customer Chats&lt;/strong&gt;: Its nice to work on a team where people care about the product that you are developing. The Camano team has been fortunate to be able to have many customers eager to provide feedback via the Microsoft TAP program. Via this program, most members on the team are assigned one member at an interested company to speak with about the product in development on a regular basis. Through these informal chats, we strive to keep everyone on the development team focused on solving real world problems. &lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Responding to Feedback&lt;/h3&gt;  &lt;p&gt;As we get feedback on implemented code, we do our best to respond to this feedback by making design changes and tweaks in subsequent sprints. This can be as simple as adding another button or changing a color to overhauling an entire design and dropping functionality to go in another direction.&lt;/p&gt;  &lt;p&gt;While it is challenging to plan in an iterative manner, I find it all worthwhile as through its use we can show customers a design, find out it needs more work, and make appropriate changes before we ship. In the next post, I'll go over how designs have changed as we have progressed by looking at how the UI of Camano has evolved as we have gotten feedback.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9597485" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Camano/default.aspx">Camano</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Manual+Testers/default.aspx">Manual Testers</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Generalist+Testers/default.aspx">Generalist Testers</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Planning/default.aspx">Planning</category><category domain="http://blogs.msdn.com/nnaderi/archive/tags/Agile/default.aspx">Agile</category></item></channel></rss>