丹内優紀(48)279279件のシェア(すこし話題の記事)この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。入社してそろそろ3ヶ月になります。Summitの社内報告会で発表を行いました。※上記スライドに示された意見はわたし個人のものであり、所属する組織を代表するものではありません。この発表の最初と最後のGitHubの方が発表した内容の試行錯誤メモブログです。tl;drリモートの人と受託開発をスクラムで進めるにあたり、コミュニケーションをGitHubに集約する試行錯誤中です。Tokyoで聴講した「働き方もOSSのようにすることで楽しくなる」という旨の発表に感銘を受け、実務で試みています。ZenHubとSlackを併用しながら進めています。良い方法や改善点があったら是非指摘してください。今回は、ソフトウェアの受託開発を想定します。開発者3,4人が、同じリポジトリで、Railsアプリを開発するとします。リモートワークの開発者が1人で、あとはフルタイムの開発者です。Slackを使ってスクラムで開発を進めます。Flowにそって開発を進めます。大まかな開発の流れスクラムイベントを行い、タスクボード(物理)を作成するスプリントのはじめに、スクラムイベントを実施します。ここで、以下の様なストーリーを全員で考えます。(架空の例です)ユーザはブログを投稿できる。hogehogeだからユーザは投稿にタグを付けられる。fugafugaだからさらに実行レベルでタスクを書き出し、以下の様なタスクボード(物理)を作成します。タスクボード(物理)は、以下の要素で構成・運用されています。"PBI"の領域には、ストーリーをポストイットに書いて貼る"TODO"の領域には、タスクをポストイットに書いて貼る(タスクは、ストーリーに紐付かないものもある)"WIP"の領域には、現在行っている作業をTODOのなかから選択して貼ります。このとき、自分のタスクであることを示すために、クリップを付けます。"DONE"の領域には、完了したタスクをWIPから移します。タスクボード(物理)はオフィスのホワイトボードに貼って設置し、常に更新します。オフィスにいるチームメンバーは、これを見ることでスプリント中の進捗を一覧することができます。話を戻して、スプリント中の最初にタスクボードを作成したら、この内容をGitHubに反映します。タスクボードの内容をGitHubに反映するストーリーの内容を、issueに転記します。What/Why「誰々は◯◯できる。Criteriaストーリーの受け入れ条件ですRailsアプリの場合、Turnipによるテスト項目と対応するように書きますReference参考になるURLなどがあれば、ここにリンクを張ります顧客とのやりとり(Wiki)、チーム内でのやりとり(Slack)などが該当しますTaskタスクボード(物理)に書いたものと同じ項目を記載しますチェックボックスにして、進捗によって適宜更新します。issue一覧から、ストーリーの進捗を以下のように把握できます。Requestを書きます。Issueこのタスクが紐づくストーリーのIssueを書きます以下のように、ストーリーのIssueの画面から進捗を確認できます。コードレビューの後、マージ作業が終わってCIが通ったら、PRのタイトルから"WIP"を取り外し、Slackやメンションでレビューを依頼します。レビューや修正が終わったら、マージしてストーリーのissueのTaskを更新して完了です)積極的に行っていることコミュニケーションは極力口頭以外で行う隣の席にチームの人が座っているとついつい口頭で質問をしたくなるのですが、そこをぐっと抑えて極力Slackでやりとりします。口頭のやりとりで決まったことは、別途しっかりと共有しないとリモートの人がキャッチアップできないため、可能な限りチャットで行うのが望ましいです。Issueを立てて、投げつけるチャットでストレス無くコミュニケーションするには、同じタイミングで相手も座っていなければなりません。相手がそのタイミングで作業を行っているかは把握しづらいです。カメラを繋ぎっぱなしにするという方法もあるのですが、それ以外の方法として、"同期的なコミュニケーションを避ける"という解決策があります。最初にIssueを立ててリンクをSlackに流し、時間のあるときに見てもらう、という方法です。緊急性の高い内容はチャットや音声通話でやりとりしなければならないですが、必要な内容を書いてIssueを立てれば、案外この方法でもやりとりできています。仕様の相談をする際、普通なら口頭でやりとりするところを、以下のように進めます。Issueを立てて勝手にアサインを設定するSlackでIssueのリンクをメンションする(この後私は外出しました)仕事に戻ると、以下のように解答されていました。これを足がかりに仕様を決め、実装を開始しました課題に感じていることLabelの運用ブレブレです。良い感じの運用方法があったら是非教えて下さい。いい感じの使い方があったら是非教えて下さい。PRタイトルにwipとつけることZenHubを使っているので、Pipelineで良いのではと思っています。GitHubで#と始めた時にタイトルで[wip]と書いていると、わかりやすいんですよね。まとめコミュニケーションをGitHubに集約したことで、円滑なコミュニケーションをしながら仕事ができています。改善点は多いので、改善しながらプロジェクトを進め、新しく成果がでたらこのブログにまとめます。ご意見ご感想等、ブコメやコメントでどんどんお願いします!現場からは以上です。コメントは受け付けていません。487,318AWSとサーバサイド中心のアプリケーションエンジニアです。プロフィールはこちら。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。本が出ていたので読んでみたところよかったので紹介させていただきます。使いたいときの注意点を書きました。新井成一64最近Sphinxつかってドキュメントを書いてるのですがなかなかイケています。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健232こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。