Sponsored Contents

appleの最新記事

Image credit:
Save

iOS 13とmacOS Catalinaはなぜバグが多いのか。元アップルエンジニアが語る6つの理由

新機能入れすぎとエコシステムが複雑になったことなど

Kiyoshi Tane
2019年10月26日, 午後02:35 in Apple
572シェア
162
410
0

連載

注目記事

世界初の完全分離骨伝導イヤホン「earsopen PEACE」でネクストレベルの「ながら聴き」を体感

世界初の完全分離骨伝導イヤホン「earsopen PEACE」でネクストレベルの「ながら聴き」を体感

View
AirPods Pro実機をソニーのWF-1000XM3と比較 ノイズキャンセリングの決定版は?(追記)

AirPods Pro実機をソニーのWF-1000XM3と比較 ノイズキャンセリングの決定版は?(追記)

矢崎 飛鳥, 10月29日
View

最近リリースされたiOS 13やmacOS Catalinaでは複数の不具合が報告され、短期間のうちにたびたびアップデートが配信される事態となっています。

なぜ、これほどまでにバグが多くなっているのか。その内幕が、アップルの元エンジニアにより語られています。

Mac関連のニュースサイトTidBITSに寄稿したDavid Shayer氏は、アップルで18年間も勤め、多くのプロジェクトでソフトウェアエンジニアとして働いた人物です。つまり、アップル内部でのソフトウェア開発過程には精通しており、同社が直面している問題につき客観的な視点を与えてくれる考察と言えます。

以下、David氏が語る「iOS 13やmacOS Catalinaにバグが多い6つの理由」の要約となります。

■機能リストを詰め込みすぎてスケジュールチキンにつながる

運営が上手くいっているプロジェクトでは、開発が遅れている機能は早い段階でふるい落とされ、エンジニア達は実際に出荷される機能の洗練に時間をかけられる。しかし、部局会議ではプロジェクトで自分の部署が遅れていることは誰も認めたがらないため、マネージャー達はしばしば「スケジュールチキン」(遅れていることをギリギリまで隠す)に走る。もし誰も警告しなければ、エンジニアは期日内に完了できない可能性のある機能を開発し続け、最終的には将来のリリースに先送りされる。

■クラッシュレポートからはクラッシュ以外のバグは分からない

アップルはクラッシュレポートを真剣に受け止め、修正に努めている。その結果、アップルのソフトウェアがクラッシュすることは以前よりもはるかに少なくなった。

残念ながら、クラッシュレポートはクラッシュしないバグを捕捉できない。iCloudにアップロードされない写真、MacからiPhoneに同期されない連絡先カード、破損して数か月ごとに再起動する必要のあるTime Capsuleバックアップ、およびAppleサポートに電話するまで、iCloudアカウントにサインインするように繰り返し要求されるループから抜け出せなかったiPhone 11のセットアップ(これらは全てDavid氏が経験したこと)などは報告されない。

■重要度の低いバグはトリアージされる

開発中、アップルは開発サイクルの段階とバグの重大さに基づいてトリアージ(大事故や災害現場で多数の患者が出たとき、治療の優先度を決定して選別すること)を行う。アルファ版前なら、エンジニアは必要なバグをほとんど修正できる。しかし、開発がアルファからベータに移行すると、主要な機能を阻害する重大なバグのみが修正され、出荷日が近づくと、データの損失またはクラッシュを引き起こすバグのみが修正される。

バグでも稀にしか出ないものや、ひどく重要ではない(損失ではなく単なる混乱の原因になるなど)は、トリアージシステムによって後回しにされ続ける。

■回帰は修正されるが、古いバグは無視される

エンジニアが正常に機能している機能を誤って壊した場合は、それは回帰(regression)と呼ばれ、修正されることが求められる。しかしバグレポートを提出し、それが以前のバージョンにも存在するとQAエンジニアが判断すると「回帰ではない」古いバグとされる。その修正のために、誰も割り当てられることはない。

■自動化テストはあまり使われていない

ソフトウェア業界では自動化テストが流行しているが、アップルは特定の領域を除いて手動テストに大きく依存している。バッテリーの性能やSafariのパフォーマンス測定には用いられているが、より自動化されたテストは、おそらくアップルのソフトウェア品質向上に役立つはずだ。

■エコシステムの複雑さが増した

昔アップルはMacのみを販売しており、プロセッサには1つのコアしかなく、10万行ものコードは大きいと見なされ、ほとんどはシングルスレッドだった。

それに対して最新のアップル製OSには、数千万行のコードがある。Mac、iPhone、iPad、Apple Watch、AirPods、HomePodはすべて相互に通信し、iCloudと通信している。すべてのアプリはマルチスレッドであり、(不完全な)インターネットを介して互いにデータをやり取りしている。そのため、開発とテストが難しくなっている。

David氏は今後、短期的にはバグ修正のアップデートが増えると予測。しかしアップルの上層部は問題を完全に認識しており、長期的には最善の対処方法を考えていると確信していると述べています。

なぜならバグはサポートコストやエンジニアの時間を浪費するだけでなく、アップル製品のプレミアム価格を貶め、ひいては会社の評判に傷を付けかねないから。そうしたDavid氏の見通しが当たることを期待したいものです。



広告掲載についてのお問い合わせはad-sales@oath.com までお知らせください。各種データなどはこちらのメディアガイドをあわせてご覧ください。

Source: TidBITS
関連キーワード: apple, AppleRumor, bug, BugFixes, ios13, macOS Catalina
572シェア
162
410
0

Sponsored Contents