はてなキーワード: gafaとは
元アジャイルコーチとして、アメリカのガチの、ガチのシステム開発現場に、言うたらエスノグラフィ(行動観察調査)をしてるようなもんです。三流プログラマながら。
そういうリファレンスみたいなことをお伝えしたら、皆さん(Regional Scrum Gathering Tokyo 2022の参加者)が喜んでくれるかなとか思って、内容を構成しています。
ただ、僕が知っているのはマイクロソフトだけですし、自分の職場だけなので、主語が大きすぎるとか、そう言うのはやめてください。心が傷つくから(笑)
そういうのを踏まえて聞いてください(笑)。全部一次情報で、人から聞いたものではないです。ちょっとだけマネージャ関連のところはマネージャに聞いたところもありますが、基本的には自分が経験したことのみで構成します。
ウォーターフォールは使われていない
まず滝。ウォーターフォールがどれぐらい使われてるのかって話ですけど、これは簡単です。ゼロパーセント、本当に見たことないです。
だからといって本当に素晴らしいスクラムをみんなやってるかっていうと、そうでもない。どれぐらいプロセスに対してマチュア(成熟)かはチーム次第なんだけど、少なくともイテレーティブじゃないのはないし、アップフロントデザイン(開発前の仕様策定)を大量に時間をかけてやってるというのもない。
デザインドキュメントっていうのを書く人もいれば書かない人もいて、書く人が多いですけど、書いても5ページぐらい。
何年か前にサム・グッケンハイマーというDevOpsで有名な人が日本に来たときに日本のお客さんに「ウォーターフォールとアジャイルのメリットデメリットを教えてください」って聞かれて、彼が「ウォーターフォールは全くメリットがないのでやめておきなさい」って言い放って。
私は間違っていた。ごめん。ウォーターフォールは何のメリットも無い - メソッド屋のブログ
分かります。誰も使ってないんだから。やっぱりもうやめといた方がいいですよね、正直話無理があります。
次は、僕のチームがどんな感じで運用されてるかっていうお話をします。
マイクロソフトには統一プロセスとかなくて、基本的にチームをどう回すかはチーム次第なんですよ。でもだいたいみんな似たような感じでやってると思います。
基本的にはスモールチームです。どんな大きなプロジェクトであっても、スモールチームの集まりって感じです。
自分のチームについては、これがよいやり方かは分からないですが、個人商店みたいなもので。「IC」というのはIndividual Contributorですね、開発者。
マネージャからアサインされるバックログが基本的にはふわっとしているので、ICがそれを明確にします。
ICが仕様を自分で明確化して、自分でデザインして、インプリメントする。だからそれぞれがレスポンシビリティを持っていて、それぞれが実装をする。
ただ、同じマイクロサービスをメンテする役割の人みたいなのがいて、それは「Buddy」(バディ)みたいになっていて、僕の場合は例えば「スケールコントローラー」っていうのを開発していますが、スケールコントローラーのチームでバディになってると、質問というかお互いに話が聞きやすい。すぐに答えてくれやすいですね。
他のチームとかになると、ちょっとバリアがあって。やっぱりみんなそれぞれの仕事をやっているので、プライオリティがそれぞれあるんですよ。だから違うチームの人になると意地悪じゃなくて彼らのレスポンスは1日に1回とかになったりするわけですよね。仕方がないことです。
多分このチームの単位はマネージャが管理できる最大以下の人数で構成されてるんじゃないかなと思います。だから本当に自分のチームはそれぞれが個人商店みたいな感じですね。自分でレスポンシビリティを持って自分でやる。それは新人であっても一緒です。
司会)ここでちょっと会場から質問が入りました。このチームというのはどういう単位なんでしょうか。プロダクトの単位なのか、どういう単位なのか。
(右下の点線で囲われたところ)このチームはスケールコントローラをやっていて、(右上の3つのICを指して)このあたりはプラットフォームと言って中の基盤みたいなことをやってたりします。
でも基盤もかなり巨大なので、内部でいくつか分かれているんですけど、同じマネージャが見て、みんなを助けている、という感じですね。
司会)隣のチームと、このチームを分けているのは、マネージャが違うだけ?
ええと、大きな機能で分かれているというのがあります。例えば隣のチームはランタイムっていうチームなんで、Azure Functionsのランタイムを担当してるんですよ。
さて、エンジニアの評価っていうのはどんな感じになってるかっていうと、この図にはマイクロソフトは入っていないのですが、僕の友達に「ゆうさん」っていう人がいて、彼がブログでGAFAの給与体系みたいなをまとめてくれて、マイクロソフトも似たような感じです。
参考:GAFA米国本社のエンジニアの年収をジョブレベル別に比較してみた【Google・Amazon・Facebook・Apple】
こういう情報って外部に公開されてるので別に隠すことはないし、マイクロソフトの給料の額とかも調べられるんですよ。
どういうふうになってるかっていうと、エンジニアとしてランクがあるんですよね、「SDE1」「SDE2」とか。マイクロソフトの場合は「シニアソフトウェアエンジニア」があって「プリンシパルエンジニア」がある、みたいな。
このランクの人はこういうことができる、っていうのが明確に定義されていて、それによって給料が決まるんですね。
だから自分が給料を上げたかったらどうするかっていうと、プロモート(ランク上げ)してもらえるように頑張るって感じです。他の人との戦いじゃないんです。
いまより一つ上のランクの仕事をしばらくしていれば、マネージャが「こいつは今はシニアだけどプリンシパルの仕事してるからプロモートしよう」とノミネートしてくれる。
そうやってノミネートされたら次のレベルに行けるし、行けなかったら転職をする。転職するとそこでネゴシエーションしやすいので、その時に例えばシニアとかプリンシパルになれればその給料がもらえる。
ただ、そういうふうに上に行くとレスポンシビリティも大きくなるので、自分でチョイスする感じですね。自分でチョイスするし、自分との戦いなので。だから他の人と比べて不公平とか全然思わない。
給料を上げたかったら次のレベルになればいい。そういうアクションをとればいいので、あくまで自分との戦いって感じになります。
マネージャの存在っていうのは僕的にはすごい(日本と)違ってるように感じています。
日本にいるときはマネージャって進捗管理や課題管理をしたりとかして、プログラマとか開発者を指揮するとかそんなイメージだったんですかね、僕のイメージとしては。
アメリカの場合は、彼らが重視してくれるのは僕のキャリアなんですよ。僕がハッピーかどうかとか、僕がキャリアで成功するかっていうのをすごい重視してくれるんです。
これまで何人かマネージャが変わりましたけど、みんなそうでした。マイクロソフトには明確にそう定義されているんです。だからマネージャはみんなそういう動きをしてくれます。
マネージャのすごく大事な仕事に「アンブロック」というのがあります。IC、つまり開発者の人がどこかで詰まっている状態になると、マネージャが助けてくれる。ブロックされているものをアンブロックしてくれるんです。
例えば、僕が技術的に詰まるとして、誰かに聞かなあかんけど、誰か聞かなあかん人がなかなか答えてくれへんとか、そういうこともあるかもしれないです。
そういうブロックをされる状況が一番生産性を阻害すると思うんですね。
そういうときにマネージャがアンブロックを手伝ってくれる。ある人に繋いでくれたり、マネージャ経由で他の人が僕に協力してくれたりとか。
マネージャが、このプルリクエストを見たら分かりやすいよと教えてくれるとか。
あと結構面白いのは、少なくとも今の僕の職場では、納期が基本的にない感じです。
あるときもあるんですよ。どんなときかっていうと、マイクロソフト最大のイベントの「Build」というのが5月ぐらいにあって、そのキーノートで発表される予定のプロダクトみたいなもの。それが決まったら納期があるのかもしれないですけど。
マネージャも僕に対して「早くしてください」って言ったことは1回もないですね。どっちかというと、僕が「何か遅くてごめんな」とか言ってたら、「いやそんな気にすんなよ」って、「よくあることだよ」とか言われたりする。
これは多分いろんな意味合いがあるんですよね。多分クラウドのプラットフォームって、難しいことがいろいろあって、例えば自分が1週間でできるって思ったのに2カ月かかったりとか、ほんまにあるんですよ。
例えば、JVMにあるJarをアタッチするだけに見えた仕事に、僕は半年かかりました。
僕の能力のなさもあるかもしれないですけど、そういういろんな予想外のことが起こる。
やっぱり世界中の人が使うプラットフォームなので、よく分かってない実装とかしたらむちゃくちゃになるんです。ちゃんと理解して、より良いアーキテクチャを作らないとひどい目にあう。
だから多分マネージャは絶対に急かさないんだと思います。ちゃんと理解して出来るようになれば、次からは開発が速くなる。だからマネージャとしてはそこで急かさないことによって未来への投資をしてる感じなんじゃないかなと、僕は思ってます。
バックログはあり予定もあるが、達成されないこともしょっちゅう
司会)すいません、マネージャの話しに行く前に。質問が集まっていて。納期がないという話に関して皆さんが大混乱に陥っていてですね(笑)。納期がないとすると逆に何があるのか。バックログみたいなのがあるのか、ロードマップがあるのか。どういうものを始点に駆動されていて、牛尾さんの仕事が始まるのか。
バックログですね。大きなトピックだけはある。今期はこれをやろう、というのはあるんですよ。
だいたい今期はこれとこれをやっていこうというのがあって、それを荒い粒度ですけどブレイクダウンしたストーリーにして、それをICにアサインするんです。
でも、それが今期に達成されないということはしょっちゅう起こります。
思ったよりもすごく難しかったとか、あるシステムで改変が入るのでそれまで作れないとか、そういうのがしょっちゅうある。でもそれでそのICが責められることはないです。
変化は見通せないので仕方ないですよね。オーガナイズはされているけど、できなかったときはできないと認める、ということです。
司会)お客様からバックログの元になるような要求がきて、それがリリースされるまでのタイムスパンはどのくらいなんでしょうか?
僕らの場合はプロダクトオーナーみたいなチームとしてプロダクトマネージャがあって、バックログの発生元はプロダクトマネージャが決めるのですが、そのインプットソースとしては、彼らの戦略(ストラテジ-)とカスタマフィードバックですね。
あとはハッカソンでエンジニアがなにかプロポーズするときもあります。
そういうもののなかからプロダクトマネージャが、今期これをやればインパクトがあるんじゃないかと考えるものがピックアップされます。
で、それが達成されてリリースされるまでの期間は本当にピンキリです。
僕の場合は、早いときは1週間で終わりましたけど、さっきの話みたいに1週間で終わると思ったやつが半年かかったこともあります。
僕の上にはプリンシパルマネージャがいるんですね、それが日本で言ったら課長みたいなもので、その上に部長みたいなのがいて、で、テクニカルフェロー、これは事業部長みたいな感じです。
彼らの技術力はどんな感じか。
僕の1つ上の上司は、Azure FunctionsのJavaランタイムをイチから書いた人です。
その上の人は、Azure Automationの開発をしている人で別チームなので細かいところまでは知らないのですが、技術力がハンパない、ということだけは分かります。
何でかと言うと、どんなテッキーな話題を振っても、ものすごく早く深く理解するんです。彼が経験したことのないことであっても、Kubernetesでも、彼がやったことのないPythonとかでも、完璧に理解してアーキテクチャの深い話をするんです。
で、テクニカルフェロー。これはAzureの主要なサービスをイチから書いていたりします。
つまり何が言いたいかというと、僕の上司で僕よりもプログラミングができない人なんて一人もいないんです。
そしてこういう人が僕の仕事のサポートをしてくれる、応援をしてくれるわけです。
だからこんな上司に何かを説得する必要なんてないんです。彼らがテッキーなミーティングに参加して、しかも僕らにすごい鋭いアドバイスをくれるんですよ。
皆さんがもしマネージャをやるときには、こういう人たちと世界で戦わないといけない、ということをちょっと意識していただきたいんです。
YouTubeやTwitchなどのストリーミングサイトで気軽に配信を始められる「Open Broadcaster Software」(OBS)は無料で公開されている有名ツールの一つだ。同時接続1万人を超える有名ストリーマーやVTuberをはじめ、多くのゲーム配信者がOBSを利用している。
そこで気になるのは、OBSの開発はGAFAのような資金力をもつIT企業ではなく、世界中にいる「OBSをよくしたい」と思った一般人、ボランティアによって開発されていることをゲーム配信者が理解しているかだ。
例えば、TwitchやYouTubeの仕様に変更があれば、その仕様変更の影響を受けないようにボランティア精神を持つ一般人たちがOBSにおける影響範囲を調べ、必要に応じてOBSを改良する。
あるいは、特定のOSの特定のバージョンでOBSが起動できないような問題が発生した場合は、原因の調査と修正したバージョンの提供、アップデートの呼びかけをする。
配信をする上でつまづいたり、分からない点について利用者から問い合わせがあった場合、問題解決を支援するために回答をする。
こうした一連のメンテナンス、サポートが無償で行われているのだ。
メンテナンスをする人たちがOBSから去ったとき、自分自身でOBSを開発したり改良したりする自信はあるか?
ゲーム配信のためにOBSを利用して、視聴者からのスパチャやビッツ、サブスクで収益を上げているのであれば、OBSの開発、改善が持続するように
OBSの開発プロジェクトに対して率先して寄付をすべきではないだろうか。飯を食う分には困らない収益を上げているなら今すぐ寄付をするべきではないだろうか。
ゲーム配信者が自分自身のゲーム配信を持続させるため視聴者から寄付を募っているのと同じく、配信ツールもまたツールの提供を持続させるために寄付を募っているのだから。
某配信アプリに入り浸ってるんだけど、何人かの配信者が同じこと言ってたのが印象的だったんだが「初見お断り設定したいな」という素直なお気持ち。わかるわ~。
ゲーテッドコミュニティというか。ゆるい線引きが欲しいよなーっての。NIMBY問題とまでは行かないが、まあ延長したら地続きではある問題かも知れないが。
そうなんだよね、見知った人だけを相手にして喋りたい。なんかマナーがなってない人間に郷に入っては郷に従えと注意するとか、「うちの配信はこうなんですよ」というマイルールを尊重してくれない一見さんが来てしまい対応に追われるリスクがある。
だってさ知らない人と喋るモードと、ある程度の知ってる人と喋るモードってどう考えても脳の警戒度というか緊張度が違うじゃん。見知った相手のほうが疲れないし。でも基本的に配信って全世界に公開されていて誰でも入って来れてしまうものじゃん、だから疲れる。
でも10年前のニコ生からそうだけど「今日テストの点数がさ~」みたいなめちゃくちゃローカルな、半径2kmみたいな話してたりするじゃん。そういうのってもうLINEとかのクローズドな場に移行していってるのかな。ツイキャスとか。
そも人間って川を越え山を越え海を越え、複数の異文化人と渡り歩けるような人間ばかりじゃないし、って言うかそんな越境人間のほうが稀有じゃないですか。基本ローカルすよね。
だから半クローズドというか、開き具合、閉じ具合をコントロールできるようにするのが、日本的?というか、ある意味全人類に普遍的な配信プラットフォームにとって必要な機能じゃね?
YouTubeにもパリコレの波がきて規制が厳しいじゃないですか、エロとかも厳しいし。その点はニコニコのが緩いというか日本人の倫理観で制御されてるぶん比較的に馴染みやすい、文化的には。某N氏が「グローバルな規制を~しないと~GAFAが」みたいなことをちょっと口走って炎上して減給処分かなんかされてましたけど、ちょっと安心しました。日本の文化防壁としてニコニコには生き延びて欲しい。
閑話休題。
もちろんトレードオフなんですよ。それは分かる。配信者も新規ファンの獲得・開拓、外貨を稼ぐ、といったムーブが必要な場面もある。しかし、お金やメジャーになりたい名声を得たいといったようなものでなく、「見知ったファンとこじんまり地下ライブハウスみたいな、場末の居酒のママみたいに客の人生相談や愚痴でも聞きながら過ごしたい」って言う需要も確かにあるんでしょよねー。採算度外視、趣味の弁当屋・喫茶店・駄菓子屋のジジババ的な余生型配信者というか、いわゆる「漁師のコピペ」みたいな状況だよね。
でも資本主義の論理と正反対にあるので、営利企業的には美味しくないのかも知れないね。あとグローバル化とも反するね。
例えばYouTubeで成り上がる手段って、ようは「もっとYouTubeを見てくれる人や時間を増やし、広告媒体としての価値を上げてくれそうな動画投稿者(YouTuber)を優遇する」というリコメンドのアルゴリズムしてるわけで。クローズドなんてもってのほかなんすよ。だって広告だし。クローズド配信する機能が解放されるのは収益化が通ってメンバーシップという会員制を敷いて課金してる人だけ、っていうね。
門を閉じたいならカネを払う必要があるし、無料でやりたいなら全世界に門戸が開いた状態でしかできない。a.k.a "全世界にお見せできる内容しかできない" わけですわ。
そうだ、キョート行こう
自分「そうとも言えると思うよ」
妻「執筆料で稼いでいるの?」
自分「いや、執筆は入らない。雑誌によるけど、むしろ謎の手数料を取られたりする。」
妻「じゃあ、なんで論文を書くの?」
自分「いい論文を書いていい雑誌に載れば、研究費がたくさんおりるから」
妻「どういうこと?」
自分「研究予算がおりました、その予算でこんないい結果を出しました。ほら、いい雑誌に載った、世間も認めてる。次はもっとお金ください。っていう理屈」
妻「ますます意味が分からないわ。お金を投じて、投じたお金に値する結果を残したかどうかって論文に載ったかどうかなの?出資してるのに研究成果の良し悪しを判断できないの?」
妻「国なの?大企業とかじゃなくて?GAFAみたいなところが主導してるのかと思った。」
自分「研究論文は、研究機関が多いよ。巨大企業はさ、いい結果がでたらプロダクトにする、それができなければ特許、論文は後回し。」
妻「なんで?」
自分「アピールする必要ないしね。言葉でいくら研究成果を並び立てるより、製品やサービスとして世に出したほうが説得力はあるし、なによりお金になるし」
自分「査読っていって、この雑誌にふさわしいかジャッジされるの?」
妻「いい雑誌っていうのは、その雑誌の編集者の質が高いってこと?」
自分「いや、査読者ってのは、たいていボランティア。同業の科学者」
妻「なにそれw内輪の自慢合戦?」
自分「そういわれるとそんな気がする」
自分「そういわれるとそんな気がする」
妻「その、雑誌ってやつってどこで読めるの?」
自分「大半は有料だよ。すげー高い。部数が少ないから高くつくんだ。」
妻「ちょっと、執筆料タダで、査読ってやつもボランティアで、金とるの?舐めてない?」
自分「うん」