{"id":386,"date":"2011-12-05T10:20:22","date_gmt":"2011-12-05T18:20:22","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=386"},"modified":"2011-12-05T10:20:22","modified_gmt":"2011-12-05T18:20:22","slug":"just-fix-it-mostly","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/just-fix-it-mostly\/","title":{"rendered":"Just Fix It (mostly)"},"content":{"rendered":"<p>Chris McMahon\u2019s <a href=\"http:\/\/chrismcmahonsblog.blogspot.com\/2011\/12\/just-fix-it.html\">latest post<\/a> (Just Fix It) proposes that as far as bug tracking goes, the best course of action is to skip the \u201ctracking\u201d part of the workflow and \u201cJust Fix It.\u201d I\u2019m a huge fan of this approach and think that for the most part, tracking a large number of bugs in a big fat bug system (and often overemphasizing the church of the bug curve) pretty much <em>encourage<\/em> a test-last \/ test-quality-in workflow. <\/p>\n<p>I see this concept come up frequently, and I\u2019ve noticed a bit of a trend. Teams that follow Just Fix It love it. Teams that prefer to fix bugs later are sure that the concept won\u2019t work for their team, and that they need the curve and tracking data in order to ship their (undeniably unique) product. As a side note, one fun thing I\u2019ve talked a few teams at Microsoft into doing is to pair on bug fixes \u2013 when Joe-Tester finds a bug, he Tells Kathy-Developer about the issue, and then the two of them pair-program the fix. I could write a whole post on why this is so cool, but I\u2019ll leave it at that for now.<\/p>\n<p>In short, I\u2019m a huge fan of Just Fix It, but as usual, the totality of overlap of agreement between Chris and I is about 93%. <\/p>\n<p>For example, let\u2019s say on Monday, Alex-Tester notices that the froobnozzle isn\u2019t working. He tells the developer, who fixes the problem immediately. Tuesday, Beth-Tester notices that the froobnozzle doesn\u2019t work when interacting with another part of the system. She tells the developer, who fixes the problem right away. Over the following days and weeks, <strong>a lot<\/strong> of problems are discovered with the froobnozzle. The froobnozzle, is, in fact, a piece of crap held together by the 1s and 0s version of spit and duct tape. A bug tracking system let\u2019s you see (I hate to say this out lout\u2026) <em>trends<\/em> of <u>where<\/u> errors are. Bugs don\u2019t appear randomly sprinkled throughout a product \u2013 they tend to congregate in clumps. Knowing where the clumps are can guide further testing, or risk decisions.<\/p>\n<p>Source control <em>almost<\/em> mitigates this concern, but unless you have a diligent comment policy for check-ins, you probably won\u2019t be able to differentiate between a \u201cI was adding <em>new <\/em>code or functionality\u201d check-ins vs. \u201cI was fixing shit I broke\u201d check-ins.<\/p>\n<p>But I won\u2019t go as far as to say you need a bug tracking system. As Chris describes it, and as most people use them, a bug system is really a work-item tracking system anyway. If you track work items on post-its or notecards, bugs should work the same way. As far as trends go, I think a simple tic-mark system would work just as well. When you discover a problem with the froobnozzle, write it on the board and put a tic-mark next to it. When a component gets <em>n<\/em> number of tics, schedule refactoring time, or do a design review (or both). Alternately, look at the components with the highest number of tics during the retrospective or sprint planning and review those for potential re-work.<\/p>\n<p>But other than that, yeah. Just Fix It!<\/p>\n<p><em><strong>Note<\/strong>: I would have posted this as a comment on Chris\u2019s blog, but I, for one, find the comment forms on blogspot completely unusable.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Chris McMahon\u2019s latest post (Just Fix It) proposes that as far as bug tracking goes, the best course of action is to skip the \u201ctracking\u201d part of the workflow and \u201cJust Fix It.\u201d I\u2019m a huge fan of this approach and think that for the most part, tracking a large number of bugs in a&#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-386","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\/386","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=386"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/386\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=386"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=386"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=386"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}