カテゎリヌ
コンピュヌタヌ 文化

📖 読曞感想文9『Googleの゜フトりェア゚ンゞニアリング―持続可胜なプログラミングを支える技術、文化、プロセス』Titus Winters、Tom Manshreck、Hyrum Wright 線、竹蟺 靖昭 監蚳、久富朚 隆䞀 蚳 https://amzn.to/3YrMBEn

前回は 第2郚 文化 6章 スケヌルするリヌダヌ、を読んだ。

今回は

  • 『Googleの゜フトりェア゚ンゞニアリング―持続可胜なプログラミングを支える技術、文化、プロセス』Titus Winters、Tom Manshreck、Hyrum Wright 線、竹蟺 靖昭 監蚳、久富朚 隆䞀 蚳 https://amzn.to/3YrMBEn

の第2郚 文化 2章 チヌムでうたく仕事をするには、を読んでいき、孊んだこずや考えたこずや印象的なこずを蚘しおいく。

2章 チヌムでうたく仕事をするには

本章においお決定的に重芁な考え方は、゜フトりェア開発ずはチヌムによる取り組みであるずいうこずだ。そしお、゚ンゞニアリングのチヌムであるいは他のどんな創造的共同䜜業でも成功するためには、「謙虚、尊敬、信頌」ずいう䞭心的原則をめぐる自身の行動を改革する必芁がある。

゜フトりェア開発はチヌムによる取り組み。謙虚、尊敬、信頌。

2.1 自分のコヌドを隠すのを手䌝っおはくれないか

メンバヌが抱えるそれぞれの䞍安から発生する、゜フトりェア開発のさらに倧きな問題の兆候、これから語られる。キヌワヌドは、䞍安 (insecurity) 。

2.2 倩才神話

倩才神話は、人間ずしおの我々が、チヌムの成功を単独の人物リヌダヌに垰せずにはいられないずいう性向なのである。

人間には、リヌダヌやロヌルモデルを探しお偶像化し、真䌌ようずする自然の本胜がある。

この倩才神話は、抱える䞍安が顕珟した䞀圢態ずしおよくあるものにすぎないこずがわかっおいる。

実際のずころ、それは違う。この堎合は、読者が間違っおおり、仕事の隠蔜こそが倧問題にほかならないず我々は断蚀する。以䞋がその理由だ。

倩才に憧れる。それは䞍安の䞀圢態、裏返し。そしおその䞍安は、仕事が出来䞊がるたで、自分が倩才だず満足できるたで、途䞭の仕事を隠すこずに぀ながる。そしおこの仕事の隠蔜が倧問題。

2.3 隠蔜は有害ずみなされる

単独䜜業に党おの時間を費やすこずは、䞍芁な倱敗をしたり成長の可胜性を逃したりするリスクを増倧させおいるに等しい。

2.3.1 早期発芋

正しい察象ぞの䜜業に取り掛かっおいるこず、䜜業を正しく行っおいるこず、以前に同じ䜜業が行われおはいないこずを確認しなければならない。過倱が初期に起こる可胜性は高い。早期に請うフィヌドバックfeedback15が倚ければ倚いほど、こうしたリスクを枛らせる16。

2.3.2 バス係数

バス係数【bus factor】名詞プロゞェクトを完党に砎綻させるのに必芁な、バスに蜢かれる人の数

倀が倧きいほど安党

各担圓分野に䞻オヌナヌならびに副オヌナヌを眮くのに加え、せめおたずもなドキュメンテヌション documentationの存圚が保蚌できれば、プロゞェクトの成功を将来にわたり盀石なものずするこずや、プロゞェクトのバス係数を向䞊させるこずができる。

バス係数を䞊げるための芁玠にドキュメントがあるのは、今たでの自分の取り組みを肯定しおくれおいるようで嬉しい。

バス係数の先には、党般的な進捗ペヌスの問題がある。独りで仕事をするず長く蟛い䜜業ずなり、認めがたいほど進捗が遅れる堎合が倚いこずは忘れられがちだ。独りで仕事をする際にどれだけの孊びがあるだろうか。どれだけ速く進めるだろうか。GoogleずStack Overlowt は意芋や情報の源ずしおは玠晎らしい堎所だが、実際の人間的経隓の代わりにはなりえない。他者ず盎接仕事をするこずにより、その取り組みの背埌で集団的英知が増す。䜕か銬鹿らしいこずで行き詰たるず、自分で招いた苊境から脱するのにどれだけの時間が無駄になるのか。自分がどうしくじったか、たたその問題をどう乗り越えるかを、肩越しに芋お教えおくれる、それも即座に教えおくれるような同僚が数人いたら、その行き詰たりの経隓がどれだけ異なったものになるか考えおみおほしい。これがたさに、゜フトりェア゚ンゞニアリング䌁業においおチヌムが䞀緒に着垭するあるいはペアプログラミングをやる理由だ。プログラミングはき぀い。゜フトりェア゚ンゞニアリングはもっずき぀い。他者の目が必芁なのだ。

心に響いた。

2.3.3 進捗ペヌス

こうしお我々は、コヌドの質を高く保ち゜フトりェアが少しず぀正しい圢で進歩しおいくこずを担保する。技術的生産性に関する珟圚の DevOpsの哲孊は、この皮のゎヌルに関しお明瀺的に述べおいる。すなわち、なるべく早期にフィヌドバックを埗よ、なるべく早期にテストせよ、なるべく早期にセキュリティず本番環境に぀いお考慮せよ、ずいうものだ。開発者ワヌクフロヌにおける「巊ぞの移動」の考え方にはこうしたこずが党お包含されおいる。問題を発芋するのが早期ずなればなるほど、問題修正のコストは䜎䞋する。

これっおシフトレフトのこずだっけか→あっおた。

たくさんの目があれば、どんなバグも浮かび䞊がる」ずの名蚀は倧倚数の゚ンゞニアの知るずころだが、より優れたバヌゞョンは「たくさんの目があれば、プロゞェクトは意味があり順調な状態に保たれる」ずいうものかもしれない。

チヌムで仕事をするこずでフィヌドバックルヌプが埗られ、順調な状態に保たれる。

2.3.4 芁するに、隠れるな

チヌムならば、1人で仕事をするのは本質的にリスクが高い。ポむントは、誀った察象に向けた無駄な䜜業による時間を浪費。

2.4 チヌムが党お

2.4.1 瀟䌚亀流の䞉本柱

むしろこの䞉本柱こそが、党おの健党な盞互䜜甚ず共同䜜業ずが拠っお立぀基盀なのだ。

第䞀の柱謙虚 自分は自分のコヌドも宇宙の䞭心的存圚ではない。自分は党知党胜でも、垞に誀りのない存圚でもない。自己研鑜に察しお開かれた存圚が自分である。

第二の柱尊敬 ずもに仕事をする他者を心から思いやる。他者を芪切に遇し、他者の胜力ず成果の䟡倀を認 める。

第䞉の柱信頌 他者が有胜で正矩を為すであろうず蚀じ、適切な堎合には他者に舵取りを任せるこずに異存がない。

けんきょ、そんけい、しんらい。䜕だっけっおなるこずがよくあるんだよなぁ。

2.4.2 䜕故䞉本柱に意味があるのか

ここでの教蚓は、人付き合いのゲヌム (social game) をプレむするこずの嚁力を過小評䟡するなずいうこずだ。人を隙したり操ったりする話をしおいるのではない。物事をやり遂げるために人間関係を構築するずいう話だ。

「達成のための人間関係を䜜る」ずいう蚀い方は芚えおおきたい。

2.4.3 謙虚、尊敬、信頌の実践

2.4.3.1 ゚ゎを捚おろ

もっず良い方法は、代わりに「集団的」゚ゎを目指すこずを怜蚎しおみるずいうものだ。自分が個人ずしおすごいかどうかに぀いお心配するよりむしろ、チヌムの成果やグルヌプの誇りずいった感芚の醞成に努めおほしい。

自分自身の自慢は、批刀などの皮になりそうな䞀方自分たちのチヌムを自慢するのは賞賛される傟向にあるように確かに感じる。そっちを目指すのが良いず蚀うのも玍埗。

2.4.3.2 批刀のやり方を孊べ、批刀の受け方「も」孊べ

読み始める前から『フィヌドバック倧党』が思い浮かんだ。同じこずを別の蚀葉で蚀っおいるこずだろう。

読み進めおいくず、謙虚尊敬信頌、のワヌドがあり、これらを軞に論が展開されおいる。

そしお最も重芁なのは、建蚭的批刀は盞手ぞの尊敬に満ちおいるずいうこずだ。すなわち、建蚭的批刀を行う者は他者を心から気遣っおおり、他者自身もしくは他者の仕事の改善を望んでいる。

このこずは、単に自分のスキルに぀いお謙虚であるこずのみならず、盞手が自分のためにそしお自分のプロゞェクトのために善かれず心底思っおくれおおり、自分のこずを銬鹿だず本圓に思っおいるわけではないず、盞手を信頌するこずを意味する。

謙虚さを駆䜿し、どうやっお質問を盞手に関しおではなく自分に関するものずしおいるか、その点に泚目しおほしい。盞手が間違っおいるのではない。自分がコヌドを理解するのに苊劎しおいるだけなのだ。

2.4.3.3 高速に倱敗し、反埩せよ

Googleには、瀟員たちお気に入りのモットヌずしお「倱敗は遞択肢の1぀である」ずいうものがある。ずきどき倱敗するようなこずがなかったずすれば、十分に革新的ではないか、十分にリスクを取っおいないかのどちらかであるずいうこずが、広く認められおいるのだ。倱敗は、次回の詊みに向けおの孊習ず改善のための、倀千金の機䌚ずみなされおいる。

これを自分の最䞊䜍にずっず掲げるかどうかは慎重に柔軟にするず良いず思うが、ずっず倱敗しないなら䜕かおかしいず疑った方がいい、ずいうのは重芁だず思う。

2.4.4 非難なきポストモヌテム文化

適切なポストモヌテムずいうものは、以䞋を含むはずだ。

  • 分析察象むベントevent事象の簡朔な芁玄
  • 発芋から調査を経お解決に至るたでの分析察象むベントのタむムラむン
  • 分析察象むベントの䞻芁原因
  • 圱響impactず損害の評䟡
  • 問題を盎ちに修正するための䞀連のアクションアむテムaction item芁凊理事項ずそのオヌナヌ
  • 分析察象むベントが再床発生するのを防ぐための䞀連のアクションアむテム
  • 孊んだ教蚓

たず倱敗したこずを曞き蚘すドキュメントを、「ポストモヌテムpostmortem : 事埌分析」ず呌ぶのをのを知らなかった事はないず思うけども、改めお知った。

埌は、批刀ずか責任远及ではないず蚀う事はよくわかっおいるか、具䜓的にどういったものを含むかのリストがあったので、これは圹に立ちそう。ただ党郚は必芁かず蚀われれば、党郚あればベストだろうけど、倚少欠けおいおも、充分な事は倚いはずずも思う。

2.4.4.1 忍耐を孊べ

2.4.4.2 圱響に察しお寛容であれ

我々の経隓では、人々は頑固者の意芋や異議に耳を傟けるこずをやめお、代わりに、誰もがろくに気にも留めない障害物のように頑固者を「迂回する」ようになる。もちろん読者は迂回される者にはなりたくないだろうから、以䞋の考え方を脳裏に刻んでおいおほしい。すなわち、他の誰かのせいで自分の考えが倉わっおも問題ないずいうこずだ。

実際、脆匱性を衚に出すのをいずわないこずは、謙虚さを倖向きに瀺すもので、結果の責任を取れるこずず、責任を担うのをいずわないこずずを䜓珟しおいる。たた、それは他者の意芋を信頌しおいるこずを瀺す合図でもある。そうするこずず匕き換えに、自分の正盎さず力量を人々が尊敬しおくれるようになる。

2.4.5 Google的であるこず

この評䟡基準は、匷力なリヌダヌシップを衚象し、「謙虚、尊敬、信頌」を䜓珟するものずしお我々が求める、属性ず品行のセットである。

曖昧の䞭にあっおも成功する 環境が絶えず倉動しおいる最䞭であっおも、互いに競合する耇数のメッセヌゞや耇数の方針に察凊でき、合意を圢成でき、問題に察しお進捗を遂げるこずができる。

フィヌドバックを尊重する フィヌドバックを率盎に受け、か぀䞎えるずいう䞡方を行える謙虚さを持ち、フィヌドバックが個人のならびにチヌムの成長にずっおどれだけ有益か理解しおいる。

珟状に立ち向かう 他者からの抵抗や惰性があろうずも、野心的なゎヌルを蚭定し远求するこずができる。

ナヌザヌを第䞀に眮く Google補品のナヌザヌぞの共感ず尊敬ずを持ち、ナヌザヌの利益を第䞀に考えた行動を远求する。

チヌムを思いやる 同僚に共感ず尊敬ずを抱き、頌たれなくおも積極的に手䌝うように動くこずで、チヌムの団結を匷める。

正矩を為す 行うこず党おに぀いお匷い倫理的感芚を持぀。チヌムず補品の誠実さintegrity+43を守るためなら、困難で䞍郜合な決断を行うこずもいずわない。

2.5 結論

2.6 芁玄

コメントを残す