{"id":901,"date":"2014-11-30T10:37:03","date_gmt":"2014-11-30T18:37:03","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=901"},"modified":"2014-11-30T10:37:05","modified_gmt":"2014-11-30T18:37:05","slug":"hwtsam-six-years-later","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/hwtsam-six-years-later\/","title":{"rendered":"HWTSAM &#8211; Six Years Later"},"content":{"rendered":"<p>We\u2019re less than a week away from the sixth anniversary of How We Test Software at Microsoft (some chapters were completed nearly seven years ago). <\/p>\n<p>Recently I was considering a new position at Microsoft, and one of my interviewers (a dev architect and also an author) said that he had been reading my book. I stated my concern that the book is <a href=\"http:\/\/angryweasel.com\/blog\/hwtsamfive-years-later\/\">horribly out of date<\/a>, and that it doesn\u2019t really reflect testing at Microsoft accurately anymore. In the ensuing discussion, he asked how I\u2019d structure the book if I re-wrote it today. I gave him a quick brain dump \u2013 which in hindsight I believe is still accurate\u2026and worth sharing here.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: right; padding-top: 0px; padding-left: 0px; margin: 0px 0px 0px 5px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/angryweasel.com\/blog\/wp-content\/uploads\/2014\/11\/image.png\" width=\"199\" align=\"right\" height=\"255\"\/><\/p>\n<p>So \u2013 for those who may be curious, here\u2019s the outline for the new (and likely never-to-be-written) edition of How We Test Software at Microsoft. For consistency with the first edition, I\u2019m going to try to follow the original format&nbsp; as much as possible.<\/p>\n<h3><\/h3>\n<h3>Part 1 \u2013 About Microsoft<\/h3>\n<p>This section initially included chapters on Engineering at Microsoft, the role of the Tester \/ SDET, and Engineering Life cycles. The new edition would go into some of the changes Satya Nadella is driving across Microsoft \u2013 including flattening of organizational structures, our successes (and shortcomings) in moving to Agile methodologies across the company, and what it means to be a \u201cCloud First, Mobile First\u201d company. I think I\u2019d cover a little more of the HR side of engineering as well, including moving between teams, interviews, and career growth.<\/p>\n<p>Part 1 would also dive deeply into the changes in test engineering and quality ownership, including how [combined] engineering teams work, and an intro to what testers do . This is important because it\u2019s a big change (and one still in progress), and it sets the tone for some of the bigger changes described later in the book.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; float: left; padding-top: 0px; padding-left: 0px; margin: 0px 6px 0px 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" src=\"http:\/\/i1.wp.com\/angryweasel.com\/blog\/wp-content\/uploads\/2014\/01\/image16.png\" width=\"387\" align=\"left\" height=\"244\"\/><\/p>\n<p>Although I don\u2019t think I could give Marick\u2019s Testing Quadrants the justice that Lisa Crispin and Janet Gregory (and many others) give the them, I think the quadrants (my variation presented on the left) give one view into how Microsoft teams can look at sharing quality when developers own the lions share of engineering quality (with developers generally owning the left side of the quadrant and testers generally owning the right side. <\/p>\n<p>And finally, part 1 would talk about how community works within Microsoft (including quality communities, The Garage, and how we use email distribution lists and Yammer to share (or attempt to share) knowledge.<\/p>\n<h3>Part 2 \u2013 About Quality<\/h3>\n<p>Fans of the book may remember that the original name for the second&nbsp; and third sections of the book were\u201cAbout Testing\u201d, and \u201cAbout Test Tools and Systems\u201d \u2013 but I think talking about quality \u2013 first from the developer perspective, and then from the quality engineer \/ tester perspective (along with how we use tools to make our jobs easier) is a better way to present the 2015 version of Testing at Microsoft.<\/p>\n<p>I\u2019d spend a few chapters showing examples of the developer workflow and typical tools \u2013 especially where the tools we use are available to readers of the book (e.g. unit testing and coverage tools available in Visual Studio and use of tools like SpecFlow for acceptance test development).<\/p>\n<p>This section would also include some digging into analysis tools, test selection, test systems, and some of the other big pieces we use across all products and disciplines to keep the big engines running. <\/p>\n<p>I didn\u2019t talk much about how Microsoft does Exploratory Testing in the original book \u2013 I\u2019d fix that in the second edition.<\/p>\n<p>I also thought about breaking this section into \u201cdeveloper owned\u201d and \u201ctesting owned\u201d sections, but that line isn\u2019t clear across the company (or even across organizations), so I think I\u2019d start as a progression from unit testing to exploratory testing and let readers draw their own ideas of where their team may want to draw the line.<\/p>\n<h3>Part 3 \u2013 About Data Driven Quality<\/h3>\n<p>There\u2019s at least a book or two of information that could go in this section, and it represents the biggest shift over the last six years. The original chapters on Customer Feedback Systems and Testing Software Plus Services hinted about how we approach Data-Driven Quality (DDQ), but our systems, and the way we use them have matured massively, and there\u2019s definitely a lot of great information worth sharing \u2013 and enough where it\u2019s an easy decision to dedicate a full section and several chapters to the topic.<\/p>\n<h3>Part 4 &#8211; About the Future<\/h3>\n<p>Much of what I talked about in this section of the original has either happened\u2026or become obsolete. As in the first version, I would reserve this section for talking about engineering ideas still in the experimental stage, or ideas currently under adoption. Also, as in the original, I\u2019d use this section as a platform for whatever essay idea chewing on me about where software engineering is going, and what it means to Microsoft.<\/p>\n<h3><strong>Part 5 \u2013 Appendix<\/strong><\/h3>\n<p>In my 20+ years of testing, I\u2019ve read at least a hundred different books on software testing, software development, leadership, and organizational change. I\u2019ll include a list of books that have had a significant influence on my approach and views to software engineering, publications that influenced the content of book, and publications that readers may find helpful for further information. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re less than a week away from the sixth anniversary of How We Test Software at Microsoft (some chapters were completed nearly seven years ago). Recently I was considering a new position at Microsoft, and one of my interviewers (a dev architect and also an author) said that he had been reading my book. I&#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":true,"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-901","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\/901","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=901"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/901\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=901"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=901"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=901"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}