Apple's bug-squashing week was part of its efforts to minimize errors

Posted:
in iOS

Apple's week-long pause on development for its next generation of operating systems and to debug code instead was necessary to ensure iOS 18, macOS 15 and other releases have the best chance of bug-free releases, reckons a report.




In late October, Apple software head Craig Federighi implemented a week-long pause on the development of its next operating systems round, including iOS 18, iPadOS 18, macOS 15, watchOS 11, and tvOS 18. The pause was used to fix bugs and improve the performance of the elements that Apple's software team has produced, and was quickly lifted with normal development resuming right after.

Mark Gurman, writing for the Bloomberg "Power On" newsletter on Sunday, points out that this isn't the first time Apple has done this sort of thing, as bugs have been a problem for the company in the past.

Apple's release of iOS 18 and its other operating systems in 2024 will apparently be "more crucial than usual,"as Apple is attempting to catch up with others in the generative AI space. Furthermore, with the belief that there won't be "any major advances" in hardware for the iPhone 16, the operating system has to be even more impressive than usual.

Apple previously made changes to its procedures in 2019, a time when iPhones had software glitches at launch, and after the company had to postpone several features destined for iOS 12 to iOS 13 instead.

The week-long pause occurred after Apple hit a key milestone in iOS 18 and macOS 15 development, namely the completion of the first internal versions that contain the main big new features. After this first period, referred to as M1, Apple took a one-week break to debug before the next phase, M2.

Each of the four phases that occur before WWDC typically boil down to four weeks of feature development followed by two of bug fixes. In effect, the pause added an extra week of bug fixing to M1.

For the grand scheme of development, the extra week shouldn't affect the overall release timings of the operating systems. Instead, it should just give less time at the end for removing last-minute bugs.

The Pact



While bug fixing is generally part of development as a whole, Apple has taken steps to try and minimize the appearance of bugs in its in-development software.

Craig Federighi adopted a policy in 2019 internally referred to by his division as "The Pact." The policy is summed up as "We will never knowingly allow regressions in the build. And when we find them, we will fix them quickly."

The decree essentially meant that if a bug or a new feature breaks something else within the operating system, the bug has to be fixed as a priority.

It is likely that the introduction of "ambitious and compelling" features, according to internal descriptions by Apple's senior management, may have proved to cause more bugs than acceptable, necessitating the extra bug-fix week.

Read on AppleInsider

Comments

  • Reply 1 of 8
    Hopefully the will fix the battery drain bug in WatchOS 10.2 public beta 2 
    edited November 2023 darkvader
  • Reply 2 of 8
    New features are often in development for years, so one week isn’t going to impact that much. In fact it would surprise me if it were only one week. It might just be spend a week testing and looking through bug reports then spend more time if needed.
    watto_cobraAnilu_777Alex1N
  • Reply 3 of 8
    One week to fix all the bugs they have? That just doesn't sound like a true commitment.  Are they just placating us?
    baconstangNoGodsNoMasters
  • Reply 4 of 8
    chasmchasm Posts: 3,306member
    One week to fix all the bugs they have? That just doesn't sound like a true commitment.  Are they just placating us?
    You might try reading the article (for the first time, or maybe just a closer re-read).

    a. The "bug fix week" was not actually intended for public consumption, it was an internal matter that leaked.

    b. Again FTA, the purpose of the week of focus on bug-fixing was for the OSes first feature complete internal build. Get rid of the bugs in the framework of the house, and you are less likely to have system-level flaws later.

    c. Nobody has said there won't be another such "focus week" as development moves along. Don't know where you jumped from to get to that conclusion.
    Anilu_777
  • Reply 5 of 8
    Maybe Aperture will work again...s/
  • Reply 6 of 8
    "It is likely that the introduction of "ambitious and compelling" features, according to internal descriptions by Apple's senior management,"

    I would like some of what they are on.
  • Reply 7 of 8
    dewmedewme Posts: 5,376member
    chasm said:
    One week to fix all the bugs they have? That just doesn't sound like a true commitment.  Are they just placating us?
    You might try reading the article (for the first time, or maybe just a closer re-read).

    a. The "bug fix week" was not actually intended for public consumption, it was an internal matter that leaked.

    b. Again FTA, the purpose of the week of focus on bug-fixing was for the OSes first feature complete internal build. Get rid of the bugs in the framework of the house, and you are less likely to have system-level flaws later.

    c. Nobody has said there won't be another such "focus week" as development moves along. Don't know where you jumped from to get to that conclusion.
    Absolutely. 

    Mark Gurman, writing for the Bloomberg "Power On" newsletter on Sunday, points out that this isn't the first time Apple has done this sort of thing, as bugs have been a problem for the company in the past.

    This is reassuring and makes sense to me. I too was a bit surprised when I first heard about the pause because one week is way too little time to make a serious dent in their bug backlog. Many software teams intersperse these "maintenance" sprints into their software development process.

    As chasm points out, there is something called a "cost of quality" that evaluates the cost to fix bugs discovered over the software product's development and release cycle. The least expensive anomalies to fix are those discovered during design and architectural review, before any code is written. The next least expensive anomalies are those discovered by the developer as they test their code, ideally as part of a test driven development process that builds unit testing test cases at the same time or even before the functional code is written. The relative cost to fix bugs between the two least expensive phases is typically around 5X. On the other extreme, the most expensive bugs to fix are those that leak into the released product and have to be addressed after the fact. The cost ratio between the two extremes can rise above 30X (according to NIST) when you factor in business losses associated with critical functionality being unavailable.  

    Speaking of bugs. The easiest way to prevent bugs is to not write the code, for example, by culling requirements. If I had to recommend a feature that Apple should have culled, in my opinion of course, is the "Reactions" feature added to FaceTime. It is currently broken on iOS, but more so, it's what I consider a totally worthless feature because it provides no value and in its broken state, it is so annoying as to question why they bothered to put it in there in the first place when it gets in the way when you're not using it. Everyone is entitled to their opinion, but these fluffy features just add bloat to an already quality challenged codebase.  
    edited November 2023 muthuk_vanalingamAlex1N
  • Reply 8 of 8
    avon b7avon b7 Posts: 7,703member
    There is no such thing as 'bug free' (unless it is something like TeX that can be pored over endlessly) so accepting bugs in an OS is something we have to live with and is 'reasonable' to a degree. 

    That said, bugs should be flagged and fixed, with nothing going unpatched for years or ever, (or before the next big release).

    I've been well and truly bitten by absurd bugs that never ever got fixed and when they break workflows etc it makes you wary of upgrading. It's the number one reason I always hold back. 

    The race for features and interconnection inevitably leads to bigger problems down the line so hitting the pause button from time to time is absolutely necessary.

    Bugginess definitely seems to have risen to noteworthy levels over the last few years so I hope the pendulum swings back in favour of better code over yet more functionality. 
    baconstangAlex1Nmuthuk_vanalingam
Sign In or Register to comment.