今週初めから、多くの開発者やメディアで「Appleのソフトウェアの品質は低下してきている」という話が出てきましたが、Hacker Newsに書き込まれた元AppleのOS Xエンジニアの書込みがここへ来て話題になっています。詳細は以下から。
HackerNewsは投資会社YコンビネータLLCが運営する掲示板ですが、この掲示板に投稿されたスレッド"Apple has lost the functional high ground"のコメント欄に元AppleのOS Xエンジニアと現Appleエンジニアが書き込んで意見を交わしているとTUAWなどが紹介しています(HackerNewsは匿名性なの話半分ですが)。
TUAW@TUAW
Apple software quality and the &vquot;sprint system&vquot; of OS X development - http://t.co/skNwGsAWL5
2015/01/06 23:02:03
元AppleのOS Xエンジニアの書込みは以下の通りで、彼の意見としては「騒がれているAppleのソフトウェア(OS X)の品質の話については昔の方が悪いと思う。昔の方が良かったという方は、古いOS Xが単に古く安定していたからで、近年のOS Xに違和感を覚えているならそれはクレイグ・フェデリギが導入した”スプリントシステム”が原因で更新頻度が頻繁になったからだと思います。」というものです。
Former OS X developer here.
元OS Xの開発者です。
I'd say the biggest change in the development methodology happened when Bertrand Serlet was replaced with Craig Federighi.
>私の考えでは、OS X開発方法論の大きな転換はソフトウェアエンジニアリング担当上級副社長がバートランド・サーレイ(Bertrand Serlet)さんからクレイグ・フェデリギ(Craig Federighi)さんへ変わった時に起こったと思います。
With Bertrand, we would move in giant monolithic releases where every group would just dump in whatever they had ready and the whole thing would get released with nightly builds.
>バートランドさんの時、各グループが準備しているものやナイトリービルドでリリースにこぎつけているものを無視してでも、我々は巨大な一枚岩となってリリースまで行動していました。
With SnowLeopard in particular, I remember three dozen releases in a row where Xcode was unusable due to obj-c garbage collection issues.
>具体的に言うと、Snow Leopardの時、Objective-Cのガーベッジコレクションが原因でXcodeが不安定な状態であり、立て続けに3ダースリリースしたことを覚えている。
[Xcode - Wikipedia]
Random stuff you didn't expect like CoreGraphics would have showstopper issues and then we'd report it and it would get fixed by the next week.
>あなた方はCoreGraphicsに致命的な不具合があり、我々がそれを報告し、次の週に修正するとは思わないはずだ。(1つの事に集中しているため他が疎かになるという意味?)
This resulted in extremely late releases that had a ton of bugs that we piled patches onto as time went on.
>この結果、大量のバグのため我々は山積みとなった修正に追われ、リリースは大幅に遅れました。
Craig moved the organization onto a sprint system, where we would develop new features for 2 weeks and then spend a week fixing bugs. After 10 or 12 or 16 of these cycles, we would deem it ready and ship it out.
>クレイグ・フェデリギは「スプリントシステム」を導入しました、スプリントシステムは新しい機能を2週間かけて開発し、その後1週間を不具合の修正に費やすというもの(システム)で。このシステムを10, 12, 16回繰り返し、それが用意出来たと判断すると出荷します。
*16回繰り返した場合、3週間 x 7日間 x 16回 = 336日 = 11ヶ月でOS X 10.8~のリリースサイクル(13ヶ月)に近づきます。
I felt this produced more stable but more conservative software.
>私はこの生産方法は(バートランドさんの時よりも)安定していると感じましたが、それ以上に保守的なソフトウェアになったと感じました。
It seemed like giant rewrites and massive features would be very difficult to introduce and if they did get done, wouldn't happen until two thirds or so into the release cycle.
>この方法だと、大きな変更や重要な機能の導入をするのがとても難しくなるし、もし、彼らがそんなことをしたらリリースサイクルの3分の2も出来ないだろう。
On the other hand, Craig has consistently been able to release on time with most of the features promised.
>(大きな変換ができなくなった)一方で、クレイグは約束したほとんどの機能を時間通り確実にリリースすることが出来るようになりました。
I was only there up to the release of Lion (the first Craig release), so I don't know how updates and patches worked from then on. Maybe they're worse now.
>私が担当したのはクレイグが担当した初のOS X 10.7 Lionまでだったので、それ以降はどうアップデートしているか、パッチを適用しているか分かりませんが、でも、それらは一層ひどくなってる思います。
But I've been using OS X all this time, and honestly I don't think it's any worse than before.
>しかし、私は常にOS Xを使用していますが実際のところ、OS Xが前より悪くなっているとは思いません。
What has changed is that releases and features happen more often.
>変わったことはリリースサイクルや新機能が頻繁になったことだ。
Tiger and Leopard had a good 2 years to mature and get patches while their delayed successors missed target dates.
>OS X 10.4 Tigerと10.5 Leopardは後継OSが遅れ完成予定日を逃し、パッチや成熟のための良い2年間を得た。
In the meantime they stagnated with ancient unix tools, safari build, QuickTime frameworks, graphics drivers etc.
>その一方で、それらのOSは古いUNIXツール、Safari、QuickTime frameworks、グラフィックドライバーでくすぶっていた。
They felt stable because they were just old, sort of like Debian stable.
>それらが安定したと感じてい理由は単に古いからで、いわば安定版Debianの様なものだ。
Meanwhile, the development versions of Leopard and Snow Leopard (the two I spent most of my career at Apple developing) were downright horrible and unreleasable.
>同時に(私のAppleの開発者としてのキャリアのほとんどを過ごした)LeopardとSnow Leopardの開発版は酷い出来で公開できるものではなかった。
[Mac OS X 10.6 - Read Bertrand's lips: No New Features! - ArsTechnica]
Each of those releases went gold and had an almost immediate .1 release to fix glaring issues.
>それらのOSはGMリリースと同時に、酷い不具合を修正するためのOS X 10.x.1をリリースする状態にあった。
[Mac OS X 10.6が2009年8月28日リリースで、10.6.1 Updateが9月10日 - Apple]
(*OS X 10.10は 2014年10月16日リリースで、10.10.1 Updateは11月18日)
It's just that you remember them better because they had a longer history as a stable legacy OS than the modern versions.
>あなた達は、長い歴史がある安定した古いOSが新しいバージョンのOSよりいいと思っているだけです。
このコメントには多くの意見が書き込まれていますが、更に今Appleのエンジニアだという方が以下の様な書込みをしています。
current apple engineer...
>今現在Appleのエンジニアです…
the sprint (milestone) development system is still in place...
>スプリント(マイルストーン)開発システムは今も実施されています…
it's not the problem though, it's the problem is the focus on new useless [imo] features at the expense of core functionality and quality
>しかし、それは問題ではありません。問題は主要部分の機能性や品質を犠牲にして新しい機能に焦点をおいていることです[私が思うに]。
hope marco, geoff and others keep writing these articles so that eventually tim or someone sees one and shakes things up. pressure from the bottom has not worked so far.
>Marco ArmentさんやGeoff Wozniakさんなどには最終的にTim Cook CEOや他の誰かが見て変化するまで記事を書き続けて欲しい。下からの圧力は働いていない。
この書込みを見たのかどうかは分かりませんが、元AppleのエンジニアでMarsEditorの開発者のDaniel Jalkutさんも自身が見てきたAppleの歴史をハイライトで綴っているので興味にある方はどうぞ。
Daniel Jalkut@danielpunkass
Some historical perspective on the notion that Apple has reached a peak of bugginess or that marketing is prevailing: http://t.co/mBY020QHIE
2015/01/06 03:48:03
関連リンク:
・Apple has lost the functional high ground - HackerNews
・アップルのデザインはアイブが決める- 日経ビジネスオンライン
最近になって使い始めた俺は何も言えないっす