{"id":728,"date":"2013-11-20T13:24:49","date_gmt":"2013-11-20T21:24:49","guid":{"rendered":"http:\/\/angryweasel.com\/blog\/?p=728"},"modified":"2013-11-20T13:25:40","modified_gmt":"2013-11-20T21:25:40","slug":"some-stuff-ive-learned","status":"publish","type":"post","link":"https:\/\/angryweasel.com\/blog\/some-stuff-ive-learned\/","title":{"rendered":"Some Stuff I&rsquo;ve Learned"},"content":{"rendered":"<p>I picked up my Xbox One this morning &#8211; a special white console with &#8220;I made this!&#8221; engraved on it. The reviews started appearing last night, and for the post part, they&#8217;re quite positive (and I&#8217;m not surprised by the drawbacks listed in the reviews I&#8217;ve read so far). Now that this project is officially behind me &#8211; and before I figure out what&#8217;s next, I have some backlog blog posts to share.<\/p>\n<h4>Lessons Learned<\/h4>\n<p>I gave a keynote at STAR West in October on &#8220;Lessons learned from Xbox One&#8221;. Given that it was an unreleased product at the time at the time of the presentation, rather than talk about the details, I spoke mostly about the team, and how strong team principles lead to great software projects (I spoke of my love of the Xbox team in a previous post &#8211; <a href=\"http:\/\/angryweasel.com\/blog\/?p=723)\">http:\/\/angryweasel.com\/blog\/?p=723)<\/a>. I thought I&#8217;d share a few of those lessons.<\/p>\n<h4>Lesson 1: Build a Great Team<\/h4>\n<p>In order to build great software, build a great team first. I&#8217;ll say that differently in case it didn&#8217;t sink in (or make sense). Worry about building a great team first, and then let them build a great product. I realize this isn&#8217;t always an option for every organization, but I see too many teams take an existing group of people, and then try to make a product that isn&#8217;t in the sweet spot of that organizations strengths. A good team can usually make a few good things, but a great team can make anything great.<\/p>\n<p>That leads to a phrase I heard once that rings too true &#8211; &#8220;Don&#8217;t ship your org chart&#8221;. Just over ten years ago, I was working on Windows CE (an embedded operating system loosely based on Windows). During product planning, I noticed what looked like an unbalanced number of networking features (there were a lot &#8211; including some relatively obscure functionality). I didn&#8217;t know if it was a product strategy decision, customer requests, or what, so I asked. The answer was, &#8220;Our networking team has a lot of people, and we need to keep them busy.\u201d To this day, I still don\u2019t know why there was no attempt to shift people around as needed for features <em>customers<\/em> wanted, but I do know it seemed silly at the time, and it seems silly now.<\/p>\n<p>Which leads to\u2026<\/p>\n<h4>Lesson 2: Diversity and strengths<\/h4>\n<p>I\u2019m a believer in teams filled with (or at least largely populated by) <em>specializing generalists<\/em>. Everyone certainly doesn\u2019t have to be able to do <span style=\"text-decoration: underline;\">everything<\/span>, but every team member should be able to do many things well, and a few things very well. It\u2019s important, when building a team to have diversity in both generalization and specialization \u2013 and match those skills with what\u2019s needed for your project.<\/p>\n<p>In my opinion (and experience), you can\u2019t have enough deep specialization. My official job title at Microsoft is Principal SDET \u2013 that means I\u2019m in the Principal band, and that I don\u2019t manage people. I think far too many testers (and organizations) see management as the only career growth path, when there is huge value in developing, growing, and nurturing the experience of experienced individual test contributors (which reminds me, <a href=\"http:\/\/angryweasel.com\/Articles\/PNSQC-alanpa-77.pdf\" target=\"_blank\">I wrote a paper<\/a> about the value of highly experienced non-manager testers a few years ago).<\/p>\n<p>There are 100 or so Principal SDETs at Microsoft (plus more in the management ranks that I haven\u2019t counted lately). When I joined the team two years ago, there were five of us (Principal testers) \u2013 two on the Xbox Live team, and three on console. For various reasons, we wanted a name for our virtual team on the console software team. The mythical Hydra name was already in use to describe our three-OS model, so after a bit of deliberation, we named ourselves after Hagrid\u2019s three-headed dog in Harry Potter, and Team Fluffy was born. Over time, we expanded (and promoted) our way to eight Principal testers in console, and three in Live, for what I believe is the highest team concentration of Principal testers at the company. Someone asked once if we <em>needed<\/em> that many Principal ICs \u2013 but honestly, I don\u2019t know how we would have made this product without the diversity and deep skills of this group. I think the eight of us all contributed significantly to getting this product shipped on time with quality.<\/p>\n<h4><\/h4>\n<h4>Teams and Products<\/h4>\n<p>Yes \u2013 products are important, but I\u2019m a huge believer in the team first \u2013 and I think it\u2019s just as difficult and challenging to build a great team, as it is to build a great product \u2013 and that we should all put the same care and passion into hiring and developing our teams, as we do in building great software.<\/p>\n<p>I\u2019ll share a few other lessons later this week.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I picked up my Xbox One this morning &#8211; a special white console with &#8220;I made this!&#8221; engraved on it. The reviews started appearing last night, and for the post part, they&#8217;re quite positive (and I&#8217;m not surprised by the drawbacks listed in the reviews I&#8217;ve read so far). Now that this project is officially&#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-728","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\/728","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=728"}],"version-history":[{"count":0,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/posts\/728\/revisions"}],"wp:attachment":[{"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/media?parent=728"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/categories?post=728"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/angryweasel.com\/blog\/wp-json\/wp\/v2\/tags?post=728"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}