元アジャイルコーチとして、アメリカのガチの、ガチのシステム開発現場に、言うたらエスノグラフィ(行動観察調査)をしてるようなもんです。三流プログラマながら。
そういうリファレンスみたいなことをお伝えしたら、皆さん(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の主要なサービスをイチから書いていたりします。
つまり何が言いたいかというと、僕の上司で僕よりもプログラミングができない人なんて一人もいないんです。
そしてこういう人が僕の仕事のサポートをしてくれる、応援をしてくれるわけです。
だからこんな上司に何かを説得する必要なんてないんです。彼らがテッキーなミーティングに参加して、しかも僕らにすごい鋭いアドバイスをくれるんですよ。
皆さんがもしマネージャをやるときには、こういう人たちと世界で戦わないといけない、ということをちょっと意識していただきたいんです。
男を女と同じように「たった一人の大切な人とだけセックスしたい」という価値観にさせたい、そしてそれは「正しい教育」によって可能なはずと信じてる人がいるようだけど、そんなことしたら大多数の非モテ男と同じように多くの女はそもそも男から相手にされなくなって生涯未婚率が今の2,3倍になるだろうな。それでもいいから男の性欲を排除したいと考える女は別にいいんだけど、男の性欲をいじっても今と同じように男からの需要があると思ってそうな女はまあ頭がお花畑すぎるよなって思う。
アセクシャルという概念が非モテ差別的というか、「私たちはそう生まれただけで、実際恋愛や結婚できない非モテと同じにしないでください」って主張したいってことだろ?
来月から確定でだったけど
今年は定時で帰れる日なんてないんだろうな、クソが
学級閉鎖で休む子持ちパートが増え続けて人手不足なのに会社は時短営業しない
倒れてもこき使われる、1日中使われる
仕事内容は頭使わなくても出来る仕事だがやる事が多すぎる、毎日仕事終わらず帰る
というか客が多すぎてやらなきゃいけないことも少ししか出来てねぇ
これがいつまで続くんだろうな
これからのガキ可哀想だな、正社員は安定の代わりにしょぼい給料と精神と時間を取られていくんだよ、お前らも俺と同じ道行くんだぞあーあかわいそうだなーーーーー
金は入るが結婚も旅行も交友関係も何もかも予定がねぇからギャンブルに消えるし寝る前の時間は増田漁るかニコ生の底辺見て終わる
ポンチ絵って聞いたことありますか? お役所系で働く人は必ず1度は聞いたことがあるはず。
2.概略図。構想図。製図の下書きとして作成するものや、イラストや図を使って概要をまとめた企画書などのこと。
なぜ、そんなにわかりにくく描くのか‥
今回は2.概略図。にあたる、お役所的ポンチ絵について。高専で働いて3年、お役所的ポンチ絵を何枚も書きました。例えば、大型補助金に申請するとき、学内の合意形成をするとき。初めて「ポンチ絵かいてね」って言われた時は、簡単な手描きスケッチで良いのかと思うぐらい、なにも知りませんでした。
それくらい【お役所的ポンチ絵のノリ】がわからないので、最初はどんなのが好まれるか結構調べました。
f:id:mi-a-chip0213:20160902103929p:plain
どれもこれも、なんだかダサい…そしてわかりにくい。
右肩上がりの矢印とか、三角形で積み上がっていくイメージとか、3つの柱が融合してるとかで、価値を表現!
謎のグラデーション!
ただ、このポンチ絵の印象で補助金獲得できるかどうかが問われるわけです。みんな必至に描きます。かくいう私も、大型補助金の時はこのノリに合わせた形式で描きました。いま見てもわかりにくくてイヤだなーと思ってしまう絵です。
ただ、このポンチ絵がうまくならないと大型補助金も獲得できない…競争的資金が大学経営に大きな影響を与える時代に、死活問題なのです。ポンチを書ける事が一種のスキルとして認められているようにも思えます。結果、こんな勉強会まで。
f:id:mi-a-chip0213:20160902104356j:plain
http://tomita.me/ponchi-design-day1/
結局道具の問題でしょ。
なんで、みんな似たような絵になるのか。気づいたのは道具の問題。多くの場合は、パワーポイントでつくっているようです。図形挿入したり、フリーの絵を持ってきたり。それはそれは大変な作業量です。
私の場合は、全てイラストレーターで作っていました。運良く、文科省の大型補助金を獲得しましたのですが、それ以降の提出書類で「ポンチ絵はパワーポイントで作ってください」という文言が加えられたのです笑 負けじと、素材を全てイラレで作ってパワポで配置したデータを送りました笑 最近イラストレーターを使える人もぼちぼち増えてるし、そろそろお役所でもデザイン部隊が働き出すといいのになーと思います。あと、ポンチ絵を作る作業って、建築学科卒業の人は得意だと思います。ダイアグラムを作ったり、プレゼンテーションをつくる作業ととても似てます。
上手に書き過ぎないこと。がお役所的ポンチ絵のキモかもしれません。https://ryota-saeki-lifelog.hatenablog.com/entry/2016/09/02/105402
ビルダーズは是非1→2とやっていただきたい。1も良いゲームなんだけど、2から戻るとさすがにシステム面で見劣りするので。
ドラクエ知らなくても楽しめる。知ってるとなお可。
「アロマンティック・アセクシュアルが登場してまともに描かれる作品って聞かないじゃん」って言われるけれど
主要な登場人物が最後まで恋愛をしなかった作品なんて珍しくないじゃん
例えば進撃の巨人のリヴァイとか、最後まで誰とも色恋の描写はなかったし
作者も興味なさそうだと発言してたと思ったけどそういうのじゃ駄目なの?
面白い。
極論チックだが、事実だろうなあ。
一枚のスライドに凝縮する「ポンチ絵」なども、時間をかけただけ評価される(=労働集約型)公務員の産物だろうなあ。
有名な「パーキンソンの法則」だね。