5か月間、同じコンピューターで一緒にコードを書きました。 ここに私が見つけたものがあります





モブプログラミングという用語を生み出した人は、明らかにマーケティングに精通していません。 誰がギャングに参加したいですか? 暴徒という言葉は、割れたガラスや略奪された店のイメージを思い起こさせます-スプリングフィールドの人口は、フォークやトーチと並んでいます。



確かに、ギャングや群衆は、プログラミングセッションの成功を望んでいるものの反対です。 群衆は混乱しており、決定を急ぐ傾向があり、怒って妥協する気がありません。 しかし、グループプログラミングはそれとは何の関係もありません。



それでは、グループプログラミングとは何ですか?







グループプログラミングとは 簡単に言えば、これらは3人(またはそれ以上)の開発者と1つのキーボードです。 いいえ、これらはインターネットで見た奇妙なものではありません。 コラボレーションと高品質ソフトウェアのリリースについてです。



ほとんどのプログラマーは、他の人と一緒に働くことを考えて汗をかいているので、それがどのように見えるかについて詳しく説明します。 開発者のスティーブがあると想像してください。 彼は、ユーザーがレシピを表示できるアプリケーションに取り組んでいます。 スティーブがお気に入り機能をアプリケーションに追加するように指示されたら。 この機能を使用すると、ユーザーは「お気に入り」と呼ばれる独自のリストにレシピを保存できます。 保存されたレシピを見たい場合は、「お気に入り」リストを開いて選択します。



スティーブはグループプログラミングを使用して自分の機能を実現したいので、会議室を予約し、同僚のジョンとサラにグループへの参加を依頼しました。 ジョンとサラはラップトップとのミーティングに登場し、お気に入り機能の実装に取り​​掛かります。



現時点では、スティーブは特定のルールを設定する必要があります(はい、mobにはルールがあります)。 次のようなものになります。



  1. 常に1人が「ドライバー」です。 これは、キーボードとマウスを持つ男です。 コードを変更できるのは1人だけです。
  2. 残りはすべて「ナビゲーター」(ナビゲーター)の役割を担います。 ドライバーは物理タイピングに多くの時間を費やしますが、ナビゲーターは思考、レビュー、議論、説明するために必要なすべての時間を持っています。 それがまさに彼らがすべきことです。
  3. すべてがしばしば場所を変える。 いいえ、これらは幼稚園のようなゲームではありません。 人々が同じ役割に長く留まると、疲れることがあります。 彼らが好きな役割を持っている場合、彼らはそれなしで退屈することができます。


これですべてです。グループプログラミングが何であるかがわかりました。 履歴書に追加します。



わかった、もっと教えて



これを以前読んだことがあるなら、おそらくこの男がグループプログラミングを説明しているのはなぜでしょうか。 Googleには既に500の説明があります。」 まあ、私は5ヶ月間毎日それをします。 そして、ここに私が見つけたものがあります:



本当にいい



グループプログラミングについて初めて学んだときのことを覚えています。 私は19歳でしたが、解体を目的としているかのように見える建物の消臭剤を使用していない部屋にたくさんの学生がいました(面白いですが、そのようになりました)。 教授はデータ構造に関するコースの説明を終えました。 最後に、彼は冗談を言った:「あなたは一人でまたはグループで働くことができます-業界では誰もがグループで働いて、彼らは彼らをmobと呼びます。」 なんてこった、私は思った、 そして成人期にはグループワークがあります。



驚くべきことに、グループプログラミングの概念を新しい人に説明するたびに、同じ恐怖感が彼の顔を駆け抜けているようです。 グループワークを続けましょう。



しかし悪いニュースは、すでにグループ作業をしているということです。 職場にはチームがあり、同僚に助けを求め、彼らはあなたのためにコードを検討します。 プロジェクトが成功するかどうかを判断するには、あらゆる努力の組み合わせが必要です。



そして、グループプログラミングとは何かを理解できます。 これはグループ作業以上のものではありません。 違いは、同僚とのすべてのやり取りが非常に簡単になることです。同僚が何をするのかを推測する必要はありません。



グループプログラミングを使用すると、同僚をよりよく知ることができます。







モニターから目を離すと、他の人の周りを見つけることができます。 彼らにも人生があることがわかりました! 真剣に、朝から晩まで同僚とやり取りすれば、同僚のことをよりよく知ることができます。



プログラミングは仕事であり、趣味のクラブではないため、より実用的である必要があります。 うまく相互作用するチームはより良い仕事をします。 これは事実です。したがって、これらすべてのチームビルディング演習とキャンプです。 Mobチームはチームビルディングを必要としません。彼らはすでにうまく連携しているからです。



疎外は回避する理由ではない



「しかし、私はリモートで働きます。私はオフィスにいることはなく、誰かと暴徒に加わります。」 悪いニュース、相棒、私はいつもリモートで働いています。 このことから、リモートワーク、ワゴン、小型カートのアプリケーションの21世紀と呼ばれることが判明しました。 私のお気に入りはSlackビデオ通話です。 必要なすべての機能を備えています。ドライバーとして動作するときに画面を共有し、ナビゲーターとして音声で話すことができます。 あなたの会社はSlackを使用していないかもしれませんが、WebExのようなもので、コールの組織化には研究グループの3年間の作業が必要です。 この場合、 Appear.inでセッションを開くだけで、生産的な作業を中断する理由を探すのをやめます。



愚かではないので、もっと時間をプログラムする





プログラミングだけがどのように見えるか



だから私は告白するつもりです-私はCSSが得意ではありません。 そして悪いだけでなく、特に悪い。 たとえば、私がプロジェクトに取り組んでいる場合、たとえばすぐに私のウェブサイトで作業している場合、何時間も頭を壁にぶつけて、私のdivが整列していない理由を理解しようとします(本当に、なぜですか?)。



グループ作業では、すべてが異なります。私はCSSにとらわれていません。常に2番目と3番目の目があります。 だから、私は頭を壁にぶつける時間を減らし、問題を解決するのにより多くの時間を費やします。



「マイピース」のようなコードはありません



恐怖の物語、 特定のコードの物語を話しましょう。 まあ、あなたはそれらを知っています。 フランクはもともとそれを書いただけで、フランク。 バグがあったとき、フランクはそれらを修正しました。 新しい機能が必要になったとき、フランクはそれらを追加しました。 チームの他の誰も、コードがどのように機能するかを知りませんでした。 まさに彼がすべきこと。 彼が正しいことをしなかった場合、近くにフランクがいます。 まあ、かつてフランクはいなかった。 彼は新しい仕事を見つけて、大きな昇給を得ました。 そして、あなたは誰も理解せず、誰も触れたくない、楽しむことのできないシステムの一部を残しています。



グループは連携して動作するため、コードに秘密や謎はありません。 今、不思議な断片がある場合、プログラマーのグループにこのコードの作成者を設定し、彼らは秘密に終止符を打つでしょう。



結論として



それで、ここではグループプログラミングについて(今のところ)学びました。 正直なところ、これが複雑な技術的問題を処理し解決する快適な方法であることに本当に驚きました。 おそらく、あなたは今、私が重要なポジティブ(またはネガティブ)ポイントを1つ逃したことを心配しているでしょう。幸いなことに、これに関するコメントセクションがあります。



All Articles