{"id":20483,"date":"2018-02-13T01:00:37","date_gmt":"2018-02-13T06:00:37","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=20483"},"modified":"2021-09-06T10:20:50","modified_gmt":"2021-09-06T14:20:50","slug":"how-apple-plans-to-root-out-bugs","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2018\/02\/13\/how-apple-plans-to-root-out-bugs\/","title":{"rendered":"How Apple Plans to Root Out Bugs"},"content":{"rendered":"<p><a href=\"https:\/\/www.bloomberg.com\/news\/articles\/2018-02-12\/how-apple-plans-to-root-out-bugs-revamp-iphone-software\">Mark Gurman<\/a> (<a href=\"https:\/\/twitter.com\/markgurman\/status\/963022304606224384\">tweet<\/a>, <a href=\"https:\/\/www.macrumors.com\/2018\/02\/12\/ios-12-to-feature-facetime-animoji-and-more\/\">MacRumors<\/a>, <a href=\"https:\/\/www.reddit.com\/r\/apple\/comments\/7x0eif\/how_apple_plans_to_root_out_bugs_and_revamp\/\">Reddit<\/a>, <a href=\"https:\/\/news.ycombinator.com\/item?id=16363140\">Hacker News<\/a>, <a href=\"https:\/\/arstechnica.com\/gadgets\/2018\/02\/apples-ios-12-strategy-take-more-time-to-squash-the-bugs\/\">ArsTechnica<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.bloomberg.com\/news\/articles\/2018-02-12\/how-apple-plans-to-root-out-bugs-revamp-iphone-software\">\n<p>Instead of keeping engineers on a relentless annual schedule and cramming features into a single update, Apple will start focusing on the next two years of updates for its iPhone and iPad operating system, according to people familiar with the change. The company will continue to update its software annually, but internally engineers will have more discretion to push back features that aren&rsquo;t as polished to the following year.<\/p><p>[&#8230;]<\/p><p>The shift is an admission of what many customers have already come to notice: Some Apple software has become prone to bugs and underdeveloped features. [&#8230;] Apple has also recently released features later than it expected, as the rush to meet the annual deadline overtaxed engineers and created last-minute delays.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/daringfireball.net\/linked\/2018\/02\/12\/gurman-ios-macos\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2018\/02\/12\/gurman-ios-macos\"><p>I&rsquo;m not so sure the above is a new strategy so much as a tacit admission of what&rsquo;s actually been going on the last few years.<\/p><\/blockquote>\n\n<p>Then why should we expect any improvement?<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/lapcatsoftware\/status\/963106342394359809\">Jeff Johnson<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/lapcatsoftware\/status\/963106342394359809\"><p>The idea of postponing features a year until they&rsquo;re &ldquo;ready&rdquo; misses the whole point. It&rsquo;s very difficult to find all the bugs in a major change until after you ship it. To get to a stable operating system, you need to spend at least a year just fixing bugs after a major release.<\/p><\/blockquote>\n\n<blockquote cite=\"https:\/\/twitter.com\/lapcatsoftware\/status\/963027846666051584\"><p>You can&rsquo;t just consider the internal costs of annual updates. There are major external costs. Third party developers play an essential role in QA. If we never get the thing until June, and you ship every fall, never enough time to fix bugs.<\/p><\/blockquote>\n\n<p>A <a href=\"https:\/\/daringfireball.net\/linked\/2018\/02\/12\/sinofsky-apple-software\">lot<\/a> <a href=\"https:\/\/twitter.com\/jsnell\/status\/963184815087403015\">of<\/a> <a href=\"https:\/\/www.imore.com\/understanding-apple-scale\">people<\/a> are pointing to <a href=\"https:\/\/medium.learningbyshipping.com\/apples-software-problem-and-fixing-it-via-twitter-c941a905ba20\">Steven Sinofsky&rsquo;s comments<\/a> (<a href=\"https:\/\/www.reddit.com\/r\/apple\/comments\/7x8jz1\/the_former_head_of_windows_and_office_steven\/\">Reddit<\/a>). He makes some good points about the &ldquo;broader context,&rdquo; but I think he&rsquo;s completely wrong about Apple&rsquo;s software quality:<\/p>\n\n<blockquote cite=\"https:\/\/twitter.com\/stevesi\/status\/963142651200622593\"><p>In any absolute sense the quality of Mac\/iOS + h\/w are at quality levels our industry has just not seen before. [&#8230;] On any absolute scale number of bugs&mdash;non-working, data losing, hanging mistakes&mdash;in iOS\/Mac is far far less today than ever before.<\/p><\/blockquote>\n\n<p>I don&rsquo;t see how that can be taken seriously. He doesn&rsquo;t have access to Apple&rsquo;s bug database, so how would he know? I really doubt that the number of open bugs is lower than in the past, and even if it were there&rsquo;s no reason to assume that Radar is representative of the actual number of bugs. He later says that the list of bugs is &ldquo;infinitely long,&rdquo; so this whole line of argument seems nonsensical. In what way is today&rsquo;s Mac\/iOS quality better in &ldquo;any absolute sense&rdquo; than in, say, 2010? He doesn&rsquo;t say, except that more people are using it:<\/p>\n\n<blockquote cite=\"https:\/\/twitter.com\/stevesi\/status\/963145412470366208\"><p>What is different is that at scale a bug that happens to 0.01% of people is a lot of people. A stadium full or more. [&#8230;] No one ever anywhere has delivered a general purpose piece of S\/W+H\/W at scale of 1B delivering such a broad, robust, consistent experience. We don&rsquo;t have a measure for what it means to be &ldquo;high quality&rdquo;.<\/p><\/blockquote>\n\n<p>Well, we can look at how many problems an individual user runs into. Is it higher or lower than before? This measure is independent of Apple&rsquo;s scale. So is the circle of people I hear complaining. Apple&rsquo;s customer base has doubled many times over, but the number of family members, friends, and customers that I communicate with has not. Now you could argue that maybe we have become exceptionally unlucky and are running into more than our share of issues, but I don&rsquo;t find that very convincing.<\/p>\n\n<p>He wants to discount the actual experiences of &ldquo;many super smart\/skilled people&rdquo; because &ldquo;the more a product is used the more hyper-sensitive people get to how it works.&rdquo; What does that even mean? The number of hours in a day hasn&rsquo;t increased; I don&rsquo;t think my Mac\/iPhone usage has increased much, if at all. Hardly anyone complains to me about the &ldquo;slightest changes&rdquo;; I hear about things that flat out don&rsquo;t work. That&rsquo;s not being hyper-sensitive.<\/p>\n\n<p>Previously: <a href=\"https:\/\/mjtsai.com\/blog\/2018\/01\/30\/apple-delays-features-to-focus-on-reliability-performance\/\">Apple Delays Features to Focus on Reliability, Performance.<\/a><\/p>\n\n<p>Update (2018-02-13): <a href=\"https:\/\/www.reddit.com\/r\/apple\/comments\/7x0eif\/how_apple_plans_to_root_out_bugs_and_revamp\/du4z6bx\/\">jarjoura<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.reddit.com\/r\/apple\/comments\/7x0eif\/how_apple_plans_to_root_out_bugs_and_revamp\/du4z6bx\/\">\n<p>As someone who used to work on iOS at Apple, what that company honestly needs is a culture not beholden to the whims of their EPMs (project managers). They used to help organize and work with engineering to schedule things across the company&rsquo;s waterfall style development. However, by the time I left, they essentially took power over engineering. Radar became the driver for the entire company and instead of thinking about a holistic product, everything became a priority number. P0 meant, emergency fix immediately, P4 meant nice to have. You get the idea.<\/p>\n<p>Nothing could be worked on if it wasn&rsquo;t in Radar with a priority number attached and signed off by the teams&rsquo; EPM. No room for a side project or time away from your daily duties because there were always P1s to fix. If you didn&rsquo;t personally have any left for the day, you&rsquo;d take one from another engineer who was likely swamped with their own list of P1s.<\/p>\n<p>[&#8230;]<\/p>\n<p>This is how you get bugs in shipping software. EPMs driven to schedule things and over manage engineers would decide on a whim that something was a P2. That was basically always shelved to a follow-up .1 release.<\/p>\n<p>Ultimately, engineers lost the freedom to decide when a feature was ready to ship.<\/p>\n<\/blockquote>\n\n<p>This point about bug prioritization came up <a href=\"https:\/\/mjtsai.com\/blog\/2015\/01\/06\/apples-software-quality-continued\/\">two years ago<\/a>.<\/p>\n\n<p><a href=\"https:\/\/twitter.com\/bob_burrough\/status\/963392734974287873\">Bob Burrough<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/bob_burrough\/status\/963392734974287873\"><p>This is absolutely, 100% true, and jibes with my experience.<\/p><p>There was (don&rsquo;t know if there still is), another really whacky problem with iOS work prioritization back then. Radar has P1, P2, P3, etc priorities. Milestones were arranged such that &ldquo;No P3&rsquo;s&rdquo; happened (the point at which P3&rsquo;s were no longer allowed to be worked on)&#8230; followed by &ldquo;No P2&rsquo;s&rdquo; then finally &ldquo;No P1&rsquo;s.&rdquo;  At first glance that arrangement makes sense because it means the only bugs getting fixed late in the game are the really high priority ones. However, what it meant in practice was, if there was a P2 bug an engineer wanted to fix&#8230; They would scramble to make sure it gets fixed before the &ldquo;No P2&rsquo;s&rdquo; milestone occurs&#8230;in effect, causing P2 bugs to be worked on before P1&rsquo;s.<\/p><\/blockquote>\n\n<p><a href=\"https:\/\/news.ycombinator.com\/item?id=16363818\">throwaway7187<\/a>:<\/p>\n<blockquote cite=\"https:\/\/news.ycombinator.com\/item?id=16363818\"><p>I&rsquo;m a former iOS EPM (not speaking for Apple, obviously, since I don&rsquo;t work there anymore), and although the Reddit commenter got the atmosphere of constant crisis right, he\/she is misplacing the blame and misunderstanding the power dynamic. EPMs at Apple essentially have zero power over engineers&rsquo; workload. They take the list of stuff the engineering managers said they want to get done this year and say &ldquo;You guys are crazy, you&rsquo;ll never be able to do this without 3x the hours\/manpower.&rdquo; Then they proceed to drive the team as hard as necessary to make sure that they actually deliver what they said they were going to deliver. That&rsquo;s it. The idea that there is this cabal of mighty EPMs twirling their mustaches and loading developers down with work is pretty far from reality.<\/p><p>It&rsquo;s true that you shouldn&rsquo;t be working on anything not in Radar (the bug tracker) but this is true anywhere you&rsquo;ll work. Project managers however do not sign developers up for all those radars--on the contrary--we&rsquo;re usually trying desperately to help you get rid of scope and get the task list down to what&rsquo;s actually do-able!<\/p><p>One of the great things that IMHO sets Apple apart is how engineering-driven they are. I&rsquo;ve never worked anywhere else where engineers had so much freedom to decide what they&rsquo;re working on. The fact that they always decide to work on 3x what they can actually achieve is kind of on them. But that drive to try to do so much is part of what keeps innovation strong at Apple.<\/p><\/blockquote>\n\n<p><a href=\"http:\/\/benjaminmayo.co.uk\/bloomberg-details-apple-s-new-software-development-strategy\">Benjamin Mayo<\/a>:<\/p>\n<blockquote cite=\"http:\/\/benjaminmayo.co.uk\/bloomberg-details-apple-s-new-software-development-strategy\">\n<p>It sure looks like this is a case of the feedback loop working. The Apple community complains about software quality, the executive team reviews procedures and makes structural changes.<\/p>\n<p>[&#8230;]<\/p>\n<p>As an outsider, I think it&rsquo;s hard to really assess whether these changes are meaningful rather than empty, ambitious, words. However, I&rsquo;m glad the way it is portrayed in the Bloomberg report indicates it is a deeper shift of philosophy rather than a one-time focus for iOS 12 followed by a return to the status quo.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/pxlnv.com\/linklog\/gurman-apple-development-cycle\/\">Nick Heer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/pxlnv.com\/linklog\/gurman-apple-development-cycle\/\">\n<p>If the changes are as modest as this report makes them out to be, how much of an improvement can we realistically expect in software quality?<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/twitter.com\/tim\/status\/963462101585993728\">Tim Bradshaw<\/a>:<\/p>\n<blockquote cite=\"https:\/\/twitter.com\/tim\/status\/963462101585993728\">\n<p>First Apple shareholder question is about software quality, which he says is &ldquo;very unsatisfactory&rdquo;. &ldquo;We are getting plenty of changes but not many improvements... My solution has been to stop upgrading because I no longer trust Apple.&rdquo; Apple is &ldquo;losing touch with working people&rdquo;<\/p>\n<\/blockquote>\n\n<p>Update (2018-02-14): <a href=\"http:\/\/morrick.me\/archives\/8077\">Riccardo Mori<\/a>:<\/p>\n<blockquote cite=\"http:\/\/morrick.me\/archives\/8077\">\n<p>While I&rsquo;m certain there are still underlying issues left unsolved in both Tiger and Leopard, in day-to-day general use, nothing prominent shows up on my radar. I turn on this PowerBook, it boots into Mac OS X 10.5.8, I open whatever apps I need for this session, and I feel I&rsquo;m working in a stable, predictable environment. The only unfortunate thing I notice is that in places the hardware shows its age, or that certain features or services are too new to support this platform, but neither this particular vintage Mac nor its Mac OS X version are at fault. And it&rsquo;s pretty amazing I&rsquo;m still being productive with a 14-year old machine.<\/p>\n<p>[&#8230;]<\/p>\n<p>I&rsquo;m just an outside observer, with perhaps the vantage point of having been using Apple hardware for almost 30 years. I can&rsquo;t say with certainty that today both Mac OS and iOS have more bugs and issues than before. I&rsquo;m also not saying that everything was 100% perfect before and now it&rsquo;s all rubbish, because it&rsquo;s not true. But from having extensively used (almost) each version of Mac OS and iOS, what I <em>do<\/em> notice is that behind the scenes there was a different approach to their development before a certain point in Mac OS X&rsquo;s timeline, and that something changed (for the worse) after that point.<\/p>\n<\/blockquote>\n\n<p>Update (2018-02-16): See also: <a href=\"https:\/\/www.relay.fm\/download\/42\">Download<\/a>.<\/p>\n\n<p>Update (2018-02-21): See also: <a href=\"https:\/\/daringfireball.net\/thetalkshow\/2018\/02\/18\/ep-215\">The Talk Show<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Mark Gurman (tweet, MacRumors, Reddit, Hacker News, ArsTechnica): Instead of keeping engineers on a relentless annual schedule and cramming features into a single update, Apple will start focusing on the next two years of updates for its iPhone and iPad operating system, according to people familiar with the change. The company will continue to update [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2021-09-06T14:20:54Z","apple_news_api_id":"c6316812-36f1-4f78-888a-6c42bad164a2","apple_news_api_modified_at":"2021-09-06T14:20:55Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/AxjFoEjbxT3iIimxCutFkog","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[38,1143,44,31,1610,30,1609,2109],"class_list":["post-20483","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple","tag-apple-software-quality","tag-bugtracking","tag-ios","tag-ios-12","tag-mac","tag-macos-10-14","tag-radar-and-feedback-assistant"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/20483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=20483"}],"version-history":[{"count":13,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/20483\/revisions"}],"predecessor-version":[{"id":20650,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/20483\/revisions\/20650"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=20483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=20483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=20483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}