集団で作業した上で、より良い技術を盛り込んでいきます。 Squarespace では、現在のマシンを作成したり、本格的な代替品を作成したりした後、Seek recordsdata from for Comments doc (RFC) を作成しています。
RFC は、Choose up Documents としても診断されており、同じ古い代替観察であり、実際の目的のためのものです。 それらは、別のアイデアをレビューし、インクルードを記述するためのメカニズムを提供します。
RFC はアイデアを言葉に変えます。 それらは明快さを促進します: RFC を書き留めるのは、解決しようとしている直接の内容とその理由について確信が持てない限り困難です。 それらは、作成者が発明のあらゆる側面を通じて認識し、選択を発明して文書化するのに役立ちます。
発明書を作成することで、他のエンジニアがこれらの選択肢を概観できるようになります。 レビュアーは、おそらく、ダイレクトをまったく解決する必要があるかどうか、またはより大きなアプローチがうまく機能するかどうかについての意見を含めることができます. 彼らはおそらく、プロジェクトへのリスク、発明の欠陥、またはうまくいかないエッジケースに目を向けるでしょう。 または、おそらく (ほとんどの場合!) 彼らは発明に焦点を当てるでしょう。インフラストラクチャ組織で使用する RFC パスの繰り返しを開始しました。 私たちはうまく機能していない私たちのパスの物質に対処したかった:
デザインは継続的に取得されませんでした深い概要。 エンジニアは、洗練された欠陥で実装された手法や、必要以上に複雑な手法を発見したことに不満を漏らしていました。
著者は、コミュニティでは事実ですが、それはより広いアーキテクチャの説明には当てはまりませんでした。 2 つのグループは、関連する問題や重複する問題を解決できる可能性がありますが、うまく機能しない手法を実装するまでは、それを発見することはできません.
レビュアーは、自分たちが何をしなければならないのか確信が持てず、探し出そうとしています. 彼らは、作成者が潜在的に意見を持っていたが書き留めていなかった問題について、細かい質問や「遅い質問」をすることを警戒していました.
著者は、レビュアーが批判を重ねていると感じました。 作成者が概要を説明するために現在の RFC を送信すると、通常、大量のコメントが寄せられました。 ブロッカーであるはずのコメントと、脇をつかむ美しい人々を区別するのは複雑になりました.
査読者は、発明全体を気に入っているかどうかについて明確ではありませんでした。 レビュアーが発明に異議を唱えなかった場合、彼らは発明が事実に変わったことを指摘しませんでした。 彼らは通常、何も述べていませんでした。
著者は、概観期間がいつ完了に変更されたかについて確信が持てませんでした。 いつ出産強制OKに変わったのかもわからない。
私たちは 3 つのステップを実行しました。それぞれのステップで、パスが徐々に改善されました。 独自のRFCテンプレート、作成されたインフラストラクチャ評議会 、そして Structure Review.
を開始しました。独自の RFC テンプレート
最初のステップとして、RFC テンプレートを書き直して、RFC に何を含めるべきかについてより独自のガイダンスを提示しました。 デザインの作成とレビューのための個別の最も単純なプラクティスのドキュメントを含める分野では、人々が正しい要素を達成するために、直接的かつ直感的にそれを発明したいと考えています.
私がこのブログ記事の RFC を書いた場合、そのヘッダーはおそらくこれを気に入るはずです:
私はEva と Alex を承認者として追加しましたが、彼らが事実に基づくアドバイスであることに焦点を当てない限り、私はこれに関与しません。 私はまた、私が多くの意見を高く評価している他の数人のエンジニアを追加しました. 概要を説明する時間が含まれていない場合は、問題ありません。 私はそれをブロックしませんでした。
承認者は「はい」または「もうやめた」と述べています。 肯定的なコメントを支援したいので、テンプレートは「いいえ」を示しません。 素敵な拒否を知っていることの変更として、それを承認するために何が得られるかを明確にすることをお勧めします. 「はい」は、おそらく注意を払って達成することができます. たとえば、この投稿の主要なドラフトをレビューする際に、Eva はおそらく次のように書くことができます。 「yes, if」承認方法論のこの流行は、発明者がブロックされておらず、承認者のために削減する必要がないというものです後ですべてを読む。 承認者は、それらが正しい成分を達成することを信頼しています。 また、フラットな「いいえ」よりも励みになります。 承認者は作成者と協力して、発明を検討することをお勧めします。
Show hide the field 規律をここに: これは無料のテキストの叫び声であり、多かれ少なかれ私が好む概要を明確にするために使用しています。 最初のドラフトでは、これが事実上のアドバイスであるかどうかにかかわらず、レビュアーに私を歌ってもらうことをおそらく好むでしょう. それが重複した努力であるか、価値がないように思われる場合は、それに多くの時間を費やす前に知っておくようにします. さまざまな発明には、すでに巨大な承認が含まれている可能性があり、ロールアウトのリスクを探ろうとしている. 球体について明白にすることで、レビュー担当者が発明のこの段階で価値のあるコメントを残していることを確認します。
レビュアーの生活をよりシンプルにするために、いくつかのセクションを追加して、競合や不適切な仮定の原因を探すのに役立つセクションをいくつか追加しました:
/以前のアートワークについてのアイデアの選択: あなたの意見とは反対のアプローチのチェックリストそして、それらが機能しなかった理由。 ほぼ機能する既存の手法はありますか?
依存関係: あなたが依存している他のテクニックは何ですか?
運用作業 : 追加するハンドブックの責任と、その作業を達成するために誰を期待していますか? 他のエンジニアリング グループまたは最高のカスタマー オペレーション担当者は、この発明義務を発明するために他に何かを達成する必要がありますか?
これらの質問には、いくつかの誤解や思い込みが含まれています。 彼らはまた、レビュー担当者が実際に質問をすることをより幸せに感じるようにします。 たとえば、「先行技術」を一部に含めると、これらの既存の技術を美しく使用できなかった理由に明らかに惹かれます。
テンプレートのボイラープレート テキストの悲鳴は、承認者のいくつかのカテゴリを示唆しています: あなたのマシンの有能な顧客、あなたが依存する技術をアレンジするグループ。 、あなたが評価したが、もはや使用しないことを選択した内部テクニックのメンテナー、あなたが追加の仕事を得ると予想する人。 しかし、ほとんどの場合、グループは落ち着いていて、RFC が存在していることに気付いていなかったり、作成者が RFC を含めるのを忘れていたりすることに非常に驚いていました。 それが解決への次の直接に変わりました。
インフラストラクチャー協議会
RFC について知ることが重要なすべての個人が RFC を検討したことを確認するための重要な計画の 1 つです。 これの前例が変わりました。プロダクト エンジニアリングの同僚が従来の会議、Product Backend Council を開催し、組織全体で RFC が議論され、レビューされました。 現在の発明の分野では、私たちは彼らの意見を採用し、インフラストラクチャ評議会を作成しました。これは、ほとんどのインフラストラクチャの前で RFC を提示し、議論する 2 週間ごとの会議です。 それは受け入れられ、多くの参加者が集まったことが証明され、私たちは継続的に焦点を当てる膨大な数の RFC を抱えていました。
インフラストラクチャ評議会は、私たちの問題のすべてを解決したわけではありません。 1 時間に 3 つの RFC を処理する必要があったため、詳細な概要を説明する重要な時間はありませんでした。 RFC で公開するのにほんの数分しかかからなかったので、誰も「はい、もし…」とは言いませんでした。
また、これらの異議を提示する重要性がどれほど重要かは明らかではありませんでした。 誰かが発明を愛していないなら、それを拒否権に変えましたか? その個人が作成されたドキュメントの承認者ではなかった場合、作成者は実際に彼らの懸念をブロックする必要がありましたか?
それは現在の問題ももたらしました。 組織全体の前でプレゼンするのは威圧的です。 エンジニアは、非常にになるまで、RFC を持ち込もうとしませんでした。 )洗練された… 作成者がルートに投資するようになった期間を通じて、主な変更は歓迎されませんでした。 これほど巨大なディスカッション ボードで発明の決議を非難するのは、特に年長のエンジニアが年下の人の仕事を批判したときに、不親切に感じました。
発明の概要に Infrastructure Council を使用することで、RFC の作成者は、実際に、自分たちが挑戦していることが好きだと感じるようになりました。 威嚇に変わりました。
構造の見直し
RFCが欲しかった詳細な概要を含めますが、作成者が実際に攻撃を受けていると感じさせることはありません。 そこで私たちは Structure Review を立ち上げました。これは週 2 回のミーティングであり、最も上級のエンジニアが RFC を詳細に概説します。 すべての主要な RFC は 1 時間のセッションを取得し、接続された人々がそれらを概観するという理由で、レビュー担当者は組織内で発生しているすべての部分のイメージを含め、おそらくさらに重複または互換性のないイニシアチブを確認する可能性があります.
最初は、レビュアーとドキュメントの作成者が構造レビューに参加しました。 しかし、実際には直立しているとは感じませんでした。 組織全体の前で RFC について議論することは、公になりすぎていると感じていました。 最も単純な 5 人のレビュアーを持つことは、その逆でした。「煙のような部屋で」愛の選択が秘密裏に行われているように感じました。 記録データがインフラストラクチャのほぼすべてをカバーする別の地域を作成しようとしても、概要メンバーはすべての技術の専門家になることはできませんでした。 私たちは、すべての概要に参加するようにさまざまな人々にアピールすることで、バランスをとることにつまずきました. ほとんどの場合、これらの追加のレビュアーには、マシンの主要な能力を備えた顧客、ドメインのスキルの専門家、または作成者が魅力的な立場をもたらすと提案する人が含まれます。 大規模な会議は扱いにくくなるため、会議室に 10 人を超えないようにしています。
構造の概要にはプレゼンテーションは含まれていません。 出席者はすでに RFC を理解していることが期待されており、ほとんどの場合、RFC についての会話や公開スレッドを含めることができます。 近所の人たちは、提案についての深い議論に 50 分間を費やし、反対意見、出てくる懸念事項と注意事項、含めなければならないユースケース、軽減しなければならないリスクなどを詳細に書き留めます
会議の最後の 10 分間は、決議を行うためのものです。 部屋にいる一人一人が、その提案に満足しているかどうか、またはそれに同意するために彼らの代わりに何が必要かを言います。 最も受け入れられている応答は、「確かに、それを確認するときはいつでも…」です.通常、「もはやしかし」として組み立てられます。 実際に受け取った提案の中にはどの発明でも機能しないものもありますが、ほとんどのアイデアは価格をさらに調査するものであり、ほとんどの場合、著者に反復を促し、もう 1 つの概要の削減を実現します。 厳しいコンセンサスを探し出すことを目的としています
つまり、RFC の承認者として Structure Review を追加し、会議のメモへのハイパーリンクを縮小します。 メモには出席者のチェックリストが含まれているため、この発明には、組織内の基本的に最も上級のエンジニアのほんの数人の強化が文書化されています. 実際、作成者は、機械を実装した後は反対意見にあまり驚かないので安心できます。また、要約ドキュメントには、これまでに開催されたすべての構造レビュー ミーティングが示されています。
結論
ストラクチャーレビューは成功しました。 現在、インフラストラクチャ用の最高品質の言語として Bolt を採用し、マイクロサービス間通信用に gRPC に切り替えるなど、膨大な選択肢を発明するモデルに傾倒しています。 私たちは、いくつかのグループにまたがるいくつかの現在のテクニックの深い概要を得るためにそれを傾けてきました. RFC の作成者は、それが事実上のスキルであったか、またはもはや事実ではないことを知らせ、製品エンジニアリングおよび内部エンジニアリングの同僚は、同じモデルを使用し始めました.
インフラストラクチャ カウンシルを含めますが、コミュニティを構築し、確認するためのディスカッション ボードに変わりました。 著者はそこで RFC を提示しますが、今では記録データを共有し、実際の作業を可視化し、一流の視聴者の前でプレゼンテーション スキルを観察することが可能です。 RFC を提示するだけでなく、Infrastructure Council を使用して、非常に重要なインシデントの振り返りに焦点を当て、ライトニング トークを公開します。 製品および内部エンジニアリング グループが当社のインフラストラクチャをどのように使用しているかを提示するようアピールすることにより、エンジニアリング全体にハイパーリンクを含めます。 私たちは勝利を挙げ、現在の雇用を歓迎し、大規模な問題を解決した人々を祝います.
インフラ審議会と構造見直しは私のお気に入りの会議。 一人一人の作品をレビューすることで、より強力なデザインを書き、一人一人から教えられ、協力して誕生の習慣に貢献するようになります. 発明の概要を達成する方法について継続的に反復する可能性がありますが、私はこのレベルに到達したところが気に入っており、このモデルを他の組織に示しています.
RFC テンプレートを収集します