{"id":54,"date":"2007-06-20T10:41:00","date_gmt":"2007-06-20T17:41:00","guid":{"rendered":"http:\/\/www.ghostinthepixel.com\/archives\/54"},"modified":"2007-12-31T22:52:53","modified_gmt":"2008-01-01T05:52:53","slug":"dealing-with-edge-cases","status":"publish","type":"post","link":"https:\/\/www.ghostinthepixel.com\/?p=54","title":{"rendered":"Dealing with edge cases"},"content":{"rendered":"<p>One of the challenges of working with inter-disciplinary software teams involves incessant yet valuable inputs from QA engineers, who earnestly point out situations not necessarily covered by the MRD or UI spec, aka &#8220;edge cases&#8221;.<\/p>\n<p>These cases typically impact perhaps 5 &#8211; 10 % of the target user audience, if not less. But as the leade designer for an ambitious re-design, and as a consultant guiding the client on doing what&#8217;s right for the user, how do you handle these requests without dismissing them rudely or acquiescing to every single request (and thus caught stuck in the quicksand of pointless iterations)?<\/p>\n<p>Here are some quick pointers I&#8217;ve learned from Andrei\/Involution. The basic overall premise is that the designer is there to help ship a product to users, given time\/resource constraints.<\/p>\n<ol>\n<li>Gather all the pertinent info about the case: the main context, primary trigger, consequences if not resolved, level of impact\/severity on user&#8217;s productivity and goal\/task-completion<\/li>\n<li>Ask: does this happen once, twice, or more? Be sure to ask BOTH the PM and the Dev Lead or QA&#8211;you&#8217;ll likely get different answers, which will force a much-needed but often neglected conversation among key stakeholders about the app&#8217;s utility in &#8220;real situations&#8221; and what&#8217;s really important in terms of the product strategy\/direction.<\/li>\n<\/ol>\n<p>Upon resolution of the frequency&#8230;<\/p>\n<ul>\n<li>If it happens just once, shelve it as a bug for now to be addressed &#8220;if there&#8217;s time&#8221;; so just have QA file a formal bug and move on to other high priority design tasks<\/li>\n<li>If it&#8217;s a few times, explore a few design alternatives but set a firm timeline. If the situation is not resolved by then, have QA file a bug and move on<\/li>\n<li>If it&#8217;s everywhere, or warrants major impact due to PM\/customer request priority or executive fiat (as is often the case), then certainly get this design tasked and prioritized and crank on it!<\/li>\n<\/ul>\n<p>Another thing to consider all the while is the adage &#8220;don&#8217;t break 80% of the app, just to fix something used by 20% of the users&#8221;. Holding to that ideal can be difficult when facing a QA nagging you in your face (or filling up your inbox with lovely screenshots). Just remember to verify the frequency, priority, and fit within the overall design strategy. The QA&#8217;s job is to find those crazy weird edge cases and dutifully report and file them for handling per their bug filing systems (clearquest, etc.)&#8211;so you should simply recognize that, and don&#8217;t let it get in your way as a designer. You&#8217;re not beholden to fix every single problem encountered; you&#8217;re paid to help deliver the best possible solution for your users\/customers given the constraints of the situation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the challenges of working with inter-disciplinary software teams involves incessant yet valuable inputs from QA engineers, who earnestly point out situations not necessarily covered by the MRD or UI spec, aka &#8220;edge cases&#8221;. These cases typically impact perhaps 5 &#8211; 10 % of the target user audience, if not less. But as the &hellip; <a href=\"https:\/\/www.ghostinthepixel.com\/?p=54\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Dealing with edge cases&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_themeisle_gutenberg_block_has_review":false,"footnotes":""},"categories":[19],"tags":[],"class_list":["post-54","post","type-post","status-publish","format-standard","hentry","category-practical-matters"],"_links":{"self":[{"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=\/wp\/v2\/posts\/54","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":0,"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ghostinthepixel.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}