「Appleのソフトウェアへの不満」はOS Xの開発方法にフェデリギの「スプリントシステム」が採用されたからではないか?という匿名の元OS X開発者の書込みが面白い。

スポンサーリンク

 今週初めから、多くの開発者やメディアで「Appleのソフトウェアの品質は低下してきている」という話b.hatenaが出てきましたが、Hacker Newsに書き込まれた元AppleのOS Xエンジニアの書込みがここへ来て話題になっています。詳細は以下から。


OSX-Release-interval-Hero2


 HackerNewsは投資会社YコンビネータLLCが運営する掲示板ですが、この掲示板に投稿されたスレッド”Apple has lost the functional high ground“のコメント欄に元AppleのOS Xエンジニアと現Appleエンジニアが書き込んで意見を交わしているとTUAWなどが紹介しています(HackerNewsは匿名性なの話半分ですが)。


 元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)さんへ変わった時に起こったと思います。


OSX-Release-interval-Hero3


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-v4-history2
[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回繰り返し、それが用意出来たと判断すると出荷します。


Sprint-System-img

*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年間を得た。


Mac-OS-X-Tiger-Leopard


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の開発版は酷い出来で公開できるものではなかった。


snow-leopard-0-new-features
[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をリリースする状態にあった。

OS-X-106-SnowLeopard-Update
[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の歴史をハイライトで綴っているので興味にある方はどうぞ。


関連リンク:
Apple has lost the functional high ground – HackerNews

アップルのデザインはアイブが決めるb.hatena – 日経ビジネスオンライン

コメント

  1. Apple7743 より:

    「お前らOS Xが不具合だらけだって言ってるけど昔のMac OS X時代知ってて言ってるの?」つーところか。
    最近になって使い始めた俺は何も言えないっす

  2. Apple7743 より:

    10.4が出る直前頃の10.3から使ってるけど、現エンジニアという人の意見に近いなー。
    以前のOSXもバギーはバギーだったけど、新バージョンで追加される機能にはワクワク
    させられ、実際に使ってみても良い機能が多かったので、些末なバグなんて吹き飛ばす
    だけの魅力があった。
    そんな感じの集大成が10.6で、OS9からOSXへ、PPCからIntelへの移行を担ったオールド
    OSXは一旦そこで完成を迎えたように思う。
    その後のOSXはというと、琴線に触れるような機能の追加もなく、根本的な問題は
    ほったらかしで小手先の改修ばかりして、ただの「バグだらけ」のOSという印象が強い。
    リリースサイクルが短くなってバグ修正が迅速になったとは言うものの、それによって
    別のバグを生み出してるという感じしかしない。
    実際、リリースするたびに毎回同じようなバグ(WiFi繋がんない、電源切れないとか)
    出してるしねぇ。

  3. Apple7743 より:

    Anonymousだから本当かどうか分からないけど、スプリントシステムて言うのはアジャイル1つのScrumのScriptだから一応この辺の業界の人か、詳しい人だね。
    ttp://en.wikipedia.org/wiki/Scrum_(software_development)#Sprint
    雑誌フォーブスにAppleのJobs世代アジェイルが詳しく書かれてるよ。
    ttp://www.forbes.com/sites/stevedenning/2012/02/03/is-apple-truly-agile/

  4. Apple7743 より:

    バグの量は変わらなくとも、新機能とか改良点のスケールがどんどん小さくなってる気がする。
    他のOSには搭載されていない誰も考えていなかった機能とかにワクワクしていたけど、今は周りの状況を見て不足してるものを補ってるだけっていうのが正直なところ。
    遥か遠くを見通す目はもう誰も持っていないのかもね。

  5. Apple7743 より:

    この辺、訳が気になったのでテキトーに意訳で補完。
    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.
    「(~Xcodeの不具合や)コアグラに致命的な問題が見つかって、報告したら、翌週までに直すよう言われた、みたいな諸々の予想外な事例」
    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
    「それ(=件のシステム)は大した問題じゃねーのよ。本当にヤベーのは根っこの機能性や品質をないがしろにして、代わりに(俺的に=IMO)クソの役にも立たない新機能の方に注力してるってとこ。

  6. Apple7743 より:

    リリースサイクル短くなっても無料だから致命的なバグがない限り別にいいだろ

  7. Apple7743 より:

    案外、無料化によって中の人にもそういう考え方が蔓延してて、昨今の品質低下を招いているのかもね。

  8. Apple7743 より:

    10000円くらいの有料でもいいから人員増やしてバグ潰しや大きな新機能の追加とかをやってほしい、が今のアップルは「斬新的な製品の誕生」に費用も時間も割いててOSXはやる気なしだね。徐々にiOSもやる気なしになってきたけど。

  9. Apple7743 より:

    まぁOS無償化ってのは会社への貢献が数字には表れずらいからね。
    モチベーションとかはなかなか上がらんとは思う。
    消費者としては無償ってのは嬉しい限りだけど。

  10. Apple7743 より:

    Mac OS X 10.1から(Mac自体は漢字Talk7.5.3から)使ってるけど、
    俺も>>2と同じ印象。Snow Leopardが一番良くて、Lion以降は正直微妙。

  11. Apple7743 より:

    Lionから入った新参ユーザーとしては機能や見た目はLion以降も良いと思うのだけれど…そこは個人差だなぁ
    MissionControlは便利だし
    でも内側がバグだらけなら批判されてもしようがないよね

  12. Apple7743 より:

    要するに今も昔も酷いってことかw
    プリインストールからデグレードを許さず過去バージョン切り捨ててるのにバギーだから
    エンドユーザ的には非常に印象悪いとは思うね

  13. Apple7743 より:

    まあこうやって騒がれ真剣に議論してる人がいるのは、大勢の人に愛されてるからだろうなぁって思う。
    どんな人だって好きなモノを嫌いになるのは辛い。

  14. Apple7743 より:

    OSくらいの規模のソフトウェアにバグは付き物だし、セキュリティの問題は不可避だ。
    OSXだって同じこと。
    だが、昔はWindowsに対する空虚な優越感を得たいがために、ことさらにバグがないだの、セキュリティの心配はないだのと強調していために、勘違いしてただけじゃね?
    昔のOSXのほうが品質がよかったなんて、とても思えんのだけど。

  15. Apple7743 より:

    MacOSは8.1から、OSXは10.3から使ってる。
    安定性はいまのほうが高い。
    品質も高い。
    バグの多さは昔も今も大して変わらん。ユーザが増えて不満を言う口が増えただけだと思う。
    ただ、アップグレード毎のワクワク感は、かなり落ちてる。そこがとてもさみしいところだ。
    また、OSX Serverに関しては、Lion以降で悪化している(いじる範囲が狭まっている)。
    なので個人的にはプラットフォームとしてしか使ってない。でも他のOSに比べればUI/UXが良いから使っている。画面がキレイだし、フォントが美しい。そしてRetinaは素晴らしく目に優しい。
    脱線した。
    おそらく今後もずっとMacを使い続ける。ただ、全てのアップグレードについていくかどうか、それは不明。

  16. Apple7743 より:

    昔からOSのメジャーアップデートはトラブルを抱える度量のない人は3ヶ月様子をみようというのは定説でしたよね。
    問題はアップデートしたいと思える仕様を提供できていない新規性の無さ。
    いま新しいMac買ったらYosemiteになると思うとかなり購買意欲が落ちる。

  17. Apple7743 より:

    まとめると、毎年OSアップデートにするからバグが多発してしまった、ってことですね

  18. Apple7743 より:

    訳が微妙に違っていて気になったところが。
    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.

  19. Apple7743 より:

    Bertlandの時は全てのグループがそれぞれ完了している部分を全てほお離婚で巨大な単一のアップデートを(まるで毎夜のような)頻繁なアップデートとしてリリースしていました。

  20. Apple7743 より:

    Maybe they’re worse now.
    もしかしたら現在はさらにひどいのかもしれませんが。
    Tiger and Leopard had a good 2 years to mature and get patches while their delayed successors missed target dates.
    TigerとLeopardは修正を得て成熟するのに2年を与えられ、結果として後続のバージョンはターゲットの期日を逃しました。
    In the meantime they stagnated with ancient unix tools, safari build, QuickTime frameworks, graphics drivers etc.
    同時に彼らは昔ながらのUnixツール、Safariバージョン、QuickTimeフレームワーク、グラフィックドライバーを大幅に刷新せずに停滞していました。
    They felt stable because they were just old, sort of like Debian stable.
    彼らが安定していると感じていたのは何も新しいものが無くソフトが成熟していたからです。ちょうどDebian Linuxが安定が安定しているように。

  21. Apple7743 より:

    最後のにTypeがあったorz
    これらが安定していると感じていたのは何も新しいところが無くソフトが成熟していたからです。ちょうどDebian Linuxが安定しているように。

  22. Apple7743 より:

    TypeというTypoか

  23. Apple7743 より:

    専門的なところまで踏み込んでる前者はともかく、後者は誰でも言える感想垂れ流してるだけで、ほーんって感じ

  24. Apple7743 より:

    >Marco ArmentさんやGeoff Wozniakさんなどには最終的にTim Cook CEOや他の誰かが見て変化するまで記事を書き続けて欲しい。下からの圧力は働いていない。
    何にしても今Appleのエンジニアだという方が「みんなでもっと話を大きくして上を動かしてよ。」って言ってるに等しいわけだよね。
    誰でも言える感想でも意味ある変化が起きるなら声上げてってことではないの。

  25. Apple7743 より:

    仕事でMacを使っている身からすると、新しい機能よりも安定性・互換性が欲しい。
    こういう事言うと「将来性、未来性が無い」って言われそうだけど。
    Snow Leopardの頃の安定性・反応性はどこに行っちゃったの?????
    今はMacProにMountain Lion入れてギリギリ凌いでいるが
    バグの多さと重さからMavericks, Yosemiteは全く実用に耐えなかったので見送っている。
    OSのリリースサイクルが早くなると、一番困るのがサードパーティ製ソフトウェアの更新じゃない?
    頻繁な更新について来れなくなって、ようやく対応したかと思ったら新しいOSX登場というタイミング。
    FireFoxのラピットリリースの失敗を見習った方が良いんじゃないか。
    あと
    カジュアルユーザ向けには、もっと簡単に操作できる無料のMac OS Xを配布して、
    仕事で使うプロユーザ向けには、詳細設定や徹底機な最適化を行った、有料のMac OS X Proを配布したらどうだろうか?
    シンプル・イズ・サ・ベストのAppleのポリシーに反するかもしれないがw

  26. Apple7743 より:

    リリースサイクルを早くするのはソフトウェア界全体の大きなトレンドだし、
    Appleがサードパーティのことを気にしたことなんてない。

  27. Apple7743 より:

    トレンドトレンドって流行りに乗っかって未完成品をリリースされてもねえ・・・
    ラピッドリリースのメリットを何も感じないわ。

  28. Apple7743 より:

    無償なんだからバージョン上げろって無言の圧力だろ
    Yosemite出てから山ライオンのサポート終了するサードパーティーも多い
    2世代前のOSとは言えたった2年前のOSなんだよなぁ

  29. Apple7743 より:

    古いMacbookより新しいMacbookの方が不安定なんだけど・・・・。
    yosemiteはなぜかeary2008のほうが安定してる気がする