{"id":17,"date":"2009-11-03T23:00:21","date_gmt":"2009-11-04T06:00:21","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=17"},"modified":"2009-11-05T00:23:35","modified_gmt":"2009-11-05T07:23:35","slug":"in-search-of-quality","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/in-search-of-quality\/","title":{"rendered":"In Search of Quality"},"content":{"rendered":"<p>If you ever want to start a great discussion \/ debate with a group of testers, ask them to define quality and come up with measurements.\u201cQuality\u201d is such an overloaded term that it\u2019s hard to get people to agree. The Weinberg fans (I suppose I\u2019m one of them) will cite their mentor and say \u201cQuality is Value (to some person)\u201d. To that, I say fine \u2013 define Value and tell me how to measure that! Most of the time, I think measuring quality is similar to how <a href=\"http:\/\/www.oyez.org\/justices\/potter_stewart\/\">Potter Stewart<\/a> defined pornography when he said \u201cit\u2019s hard to define, but I know it when I see it\u201d. I\u2019ll admit that in many situations, the value of gut-feel and hunches about quality outweigh some of the quantitative attempts some organizations use. Unfortunately, I see many quality \u201cexperts\u201d throw the baby out with the bathwater and dismiss quantitative metrics simply because they\u2019re easy to get wrong.<\/p>\n<p>If you ask most teams how they measure quality, they\u2019ll probably tell you they measure code coverage, count test cases, track bugs found during different activities and a number of other <em>engineering <\/em>practices. They\u2019re not improving product quality \u2013 they\u2019re improving <em>engineering<\/em> quality. Now, improving engineering quality is a good thing too \u2013 it does a lot to decrease risk and increase confidence, but it does diddly-squat to improve the customers <em>perception<\/em> of quality. So here\u2019s a conundrum \u2013 how do you measure perception before you can get someone to perceive it? One way is to define scenarios, and attempt to use the software like we think customers will use it, all the while noting where it\u2019s difficult, or where something goes wrong, then working to get those issues fixed. In the end, we still cross our fingers and hope they\u2019ll like what we gave them.<\/p>\n<p>But I\u2019m wondering if there\u2019s a better way to make software our customers like (and <em>perceive<\/em> to be of high quality). Wikipedia has a great list of <a href=\"http:\/\/en.wikipedia.org\/wiki\/Ilities\">the ilities<\/a> \u2013 attributes that lead to system quality, but the list is huge. If you attempt to improve that many items at once, you may as well work on nothing at all. But suppose you knew which of those ilities were most important to your most important customer segments. My hypothesis is that if you focus on pushing the bar on a small set of quality attributes that customer perception of quality will improve. It\u2019s not easy (again \u2013 why some people just give up completely on metrics), but I think it can work.<\/p>\n<p>Think of this scenario: You\u2019re leading a team on v2 of their software. You ask them to \u201cimprove quality\u201d. If their heads don\u2019t spin and explode, they may ask to hire more testers or make plans to increase code coverage, or they may just ignore you because quality is too hard to measure. Or, you could tell your team they need to focus on reliability, usability, and compatibility (areas you know your customers care the most deeply about). You provide them with checklists and other aids to help them think about these areas more deeply as they work on v2. You may even come up with some measurements or models that show how much the team is improving in those areas.I\u2019m fairly confident one of those approaches will lead to quality software 99 times out of 100.<\/p>\n<p>I\u2019ll dig into some of my favorite ilities and speculate how to improve them in future posts.<\/p>\n<p><em>Ed: added the rest of the Weinberg quote because so many people were annoyed I left it out. <\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>If you ever want to start a great discussion \/ debate with a group of testers, ask them to define quality and come up with measurements.\u201cQuality\u201d is such an overloaded term that it\u2019s hard to get people to agree. The Weinberg fans (I suppose I\u2019m one of them) will cite their mentor and say \u201cQuality&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-17","post","type-post","status-publish","format-standard","hentry","category-allposts"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/17\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=17"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=17"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}