1:名無しさん@お腹いっぱい。2019/10/27 03:50:56ID:bx6uRLdh
iOS 13とmacOS Catalinaはなぜバグが多いのか。元アップルエンジニアが語る6つの理由
https://japanese.engadget.com/2019/10/26/ios-13-macos-catalina-6/
2:名無しさん@お腹いっぱい。2019/10/27 03:51:45ID:???
最近リリースされたiOS 13やmacOS Catalinaでは複数の不具合が報告され、
短期間のうちにたびたびアップデートが配信される事態となっています。
なぜ、これほどまでにバグが多くなっているのか。その内幕が、アップルの元エンジニアにより語られています。
3:名無しさん@お腹いっぱい。2019/10/27 03:52:01ID:???
Mac関連のニュースサイトTidBITSに寄稿したDavid Shayer氏は、
アップルで18年間も勤め、多くのプロジェクトでソフトウェアエンジニアとして働いた人物です。
つまり、アップル内部でのソフトウェア開発過程には精通しており、
同社が直面している問題につき客観的な視点を与えてくれる考察と言えます。
5:名無しさん@お腹いっぱい。2019/10/27 03:52:32ID:???
■機能リストを詰め込みすぎてスケジュールチキンにつながる
6:名無しさん@お腹いっぱい。2019/10/27 03:52:58ID:???
運営が上手くいっているプロジェクトでは、開発が遅れている機能は早い段階でふるい落とされ、
エンジニア達は実際に出荷される機能の洗練に時間をかけられる。
しかし、部局会議ではプロジェクトで自分の部署が遅れていることは
誰も認めたがらないため、マネージャー達はしばしば「スケジュールチキン」
(遅れていることをギリギリまで隠す)に走る。もし誰も警告しなければ、
エンジニアは期日内に完了できない可能性のある機能を開発し続け、
最終的には将来のリリースに先送りされる。
7:名無しさん@お腹いっぱい。2019/10/27 03:53:14ID:???
■クラッシュレポートからはクラッシュ以外のバグは分からない
8:名無しさん@お腹いっぱい。2019/10/27 03:53:44ID:???
アップルはクラッシュレポートを真剣に受け止め、修正に努めている。
その結果、アップルのソフトウェアがクラッシュすることは以前よりもはるかに少なくなった。
だが残念ながら、クラッシュレポートはクラッシュしないバグを捕捉できない。
9:名無しさん@お腹いっぱい。2019/10/27 03:54:09ID:???
iCloudにアップロードされない写真、MacからiPhoneに同期されない連絡先カード、
破損して数か月ごとに再起動する必要のあるTime Capsuleバックアップ、
およびAppleサポートに電話するまで、iCloudアカウントにサインインするように
繰り返し要求されるループから抜け出せなかったiPhone 11のセットアップ
(これらは全てDavid氏が経験したこと)などは報告されない。
10:名無しさん@お腹いっぱい。2019/10/27 03:54:26ID:???
■重要度の低いバグはトリアージされる
11:名無しさん@お腹いっぱい。2019/10/27 03:54:53ID:???
開発中、アップルは開発サイクルの段階とバグの重大さに基づいてトリアージ
(大事故や災害現場で多数の患者が出たとき、治療の優先度を決定して選別すること)を行う。
アルファ版前なら、エンジニアは必要なバグをほとんど修正できる。
しかし、開発がアルファからベータに移行すると、主要な機能を阻害する
重大なバグのみが修正され、出荷日が近づくと、データの損失または
クラッシュを引き起こすバグのみが修正される。
12:名無しさん@お腹いっぱい。2019/10/27 03:55:09ID:???
バグでも稀にしか出ないものや、ひどく重要ではない
(損失ではなく単なる混乱の原因になるなど)は、
トリアージシステムによって後回しにされ続ける。
13:名無しさん@お腹いっぱい。2019/10/27 03:55:25ID:???
■回帰は修正されるが、古いバグは無視される
14:名無しさん@お腹いっぱい。2019/10/27 03:55:47ID:???
エンジニアが正常に機能している機能を誤って壊した場合は、
それは回帰(regression)と呼ばれ、修正されることが求められる。
しかしバグレポートを提出し、それが以前のバージョンにも存在すると
QAエンジニアが判断すると「回帰ではない」古いバグとされる。
その修正のために、誰も割り当てられることはない。
15:名無しさん@お腹いっぱい。2019/10/27 03:56:02ID:???
■自動化テストはあまり使われていない
16:名無しさん@お腹いっぱい。2019/10/27 03:56:19ID:???
ソフトウェア業界では自動化テストが流行しているが、
アップルは特定の領域を除いて手動テストに大きく依存している。
バッテリーの性能やSafariのパフォーマンス測定には用いられているが、
より自動化されたテストは、おそらくアップルのソフトウェア品質向上に役立つはずだ。
17:名無しさん@お腹いっぱい。2019/10/27 03:56:35ID:???
■エコシステムの複雑さが増した
18:名無しさん@お腹いっぱい。2019/10/27 03:56:50ID:???
昔アップルはMacのみを販売しており、プロセッサには1つのコアしかなく、
10万行ものコードは大きいと見なされ、ほとんどはシングルスレッドだった。
19:名無しさん@お腹いっぱい。2019/10/27 03:57:06ID:???
それに対して最新のアップル製OSには、数千万行のコードがある。
Mac、iPhone、iPad、Apple Watch、AirPods、HomePodはすべて相互に通信し、
iCloudと通信している。すべてのアプリはマルチスレッドであり、
(不完全な)インターネットを介して互いにデータをやり取りしている。
そのため、開発とテストが難しくなっている。
20:名無しさん@お腹いっぱい。2019/10/27 03:57:22ID:???
David氏は今後、短期的にはバグ修正のアップデートが増えると予測。
しかしアップルの上層部は問題を完全に認識しており、
長期的には最善の対処方法を考えていると確信していると述べています。
21:名無しさん@お腹いっぱい。2019/10/27 03:57:38ID:???
なぜならバグはサポートコストやエンジニアの時間を浪費するだけでなく、
アップル製品のプレミアム価格を貶め、ひいては会社の評判に傷を付けかねないから。
そうしたDavid氏の見通しが当たることを期待したいものです。
23:名無しさん@お腹いっぱい。2019/10/29 10:00:46ID:???
>>21
>David氏の見通しが当たることを期待したい

Mac本体じゃなくて、OS。つまり使っててシステム自体がバグが原因
で火を噴けば・・どう火を噴くのはわからんが、デスクトップが燃えて
ディスプレーまで焦げるとか・・、さすがのAppleだってなんとか
するだろ。ピカピカ光り好きなWinなゲーマー連中からは、
火を噴くOSって羨ましがられるかもよ。下手な冗談ですまん
44:名無しさん@お腹いっぱい。2019/11/03 03:34:58ID:/M0QmF8A
一回機能追加やめてひたすらOSバグをとる期をやったらいい。
新機能は独立したアプリで提供すればいい。
48:名無しさん@お腹いっぱい。2019/11/17 12:40:58ID:svM15SHX
まあ、Appleに限らず規模が大きくなると元エンジニアの言う通りになるよな。macOSは機能多すぎなのと、文字コードをUTF-8をデフォルトにすべき。
52:名無しさん@お腹いっぱい。2019/12/01 11:02:39ID:???
>>48
>規模が大きくなると元エンジニアの言う通りになる

正直、泣けてくるわ。