Chatwork Creator's Note

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

ビジネスチャット「Chatwork」のエンジニアとデザイナーのブログです。

読者になる

フロントエンド開発部の業務を紹介します

こんにちは。フロントエンド開発部の佐山です。

最近Chatworkに興味を持ってくれた方の中で、Creator’s Noteの記事を見ました!と言っていただける方が増えているようなので、フロントエンドチームで普段行っている業務について紹介してみようと思います。

ちなみに今回はコードを書くなどの開発業務以外で行っている定常業務について紹介していきます!

この記事は Chatwork AdventCalendar 2021 21日目の記事です。

スプリントプランニング

フロントエンドチームでは2週間を1スプリントとしてスクラムで開発をしています。

そのため、2週間ごとにスプリントの開始日にスプリントプランニングを行っています。

ここでは、PMからこのスプリントでユーザーにどのような価値(機能)を提供したいかを確認して、それぞれにタスクを割り振っていきます。

どれくらいのタスクをスプリント内に含めるかは、これまでのスプリントで達成できたベロシティをもとに今スプリントでの稼働日などを考慮しながら決定しています。

ちなみに、後ほど出てきますがスプリント準備の段階で各タスクの見積もりは行っているので、ここではなるべく時間が長くならないように1時間半以内で終わるように話し合いを行なっています。

朝会

毎日30分、朝会を行っています。

ここでは以下のことを行なっています。

  • SonarCloudでIssueやCodesmellsの確認
  • チームへの共有・相談事項
  • 当日リリースがある場合はリリース内容の確認
  • 各自の本日のタスク確認

こちらもそれぞれ次の予定があるので30分を越えないことよう注意して進行していますが、相談事項などでどうしても時間を越えてしまいそうな時があるのでその場合は別途時間を設けている二次会で話すようにしています。

以前は朝会の中で議論しないといけないことが出てきたときに、話し合いが長引いてしまってタスク確認などの時間がなくなることがありましたが、二次会の時間を設けたことでそのようなことは起きなくなりました。

二次会

先ほども話しましたが、朝会で議論するには時間が足りなさそうなものをこちらで話し合ったり、他部署からフロントエンドチームへ相談事項があった時にはこの二次会に参加してもらって話を伺ったりしています。(もちろん、別途MTGの予定をとって打ち合わせする場合もあります)

ユビキタス言語討論会

ここではChatwork上のUIについて、みんなで話し合ってユビキタス言語を決めていく会を実施しています。

ここで決まったユビキタス言語は、ドキュメントを書く際やコードを書くときの変数名に使うようにしたり、実際のプロダクト内にも反映されています。

これまではフロントエンドのメンバーで実施してきましたが、最近ではフロントエンドチーム以外の方にもこの取り組みを知ってもらって広めていこうという思いから、毎回ゲストという形で他部署の方にも参加してもらっています。 (今回のゲストが次回のゲストを紹介するという、いい○もスタイル)

ちなみにこのユビキタス言語討論会については、明日(22日)の アドベントカレンダー でも紹介があるので、そちらもご覧いただければと思います!

モブレビュー

毎週1時間行なっているモブレビューでは、モブプロでみんなで一緒にプログラミングを行うのと同じような形式で、PR(プルリクエスト)のレビューを行っています。

進め方としてはマージ済みのPRを対象に、まずそれぞれで確認して気になるところにコメントしていきます。

コメントの内容はロジックについてよかったところの共有やより良い書き方の提案、テストの書き方や変数名の付け方まで大小問わず書いています。

そしてある程度書き終わったところで、みんなでコメントを読みながらディスカッションしています。

ここで注意しているのが、一つのPRにみんなでレビューするという形式上、レビューされた側の人がいわゆる「公開処刑」のような形にならないように、相手を批判するのではなくコードについて言及する形でコメントやディスカッションするように気を付けています。

あくまでこの会の目的としては相手の悪いところを指摘するのではなく、お互いの知見を共有してコードの品質や価値を高めることにあります。

モブレビューについて より詳しく紹介した記事 もありますので、よければこちらもご覧ください。

振り返り

スプリントの最終日には振り返りを行っています。

ここでは以下のことを行なっています。

  • 今スプリントでIssue, Codesmells, Coverageなどの数値がどのように変わったか
  • ベロシティやバーンダウンチャートの確認
  • 4 keys metrics の確認
  • スプリント振り返りと共有

振り返りと共有ではMiroのボードを使って、議題について思うことを付箋で書き出してみんなで確認しながら話し合っています。

以前はずっと同じ議題で振り返りを行なっていたのですが、最近はスクラムマスターの提案で毎回内容を変えるようにしていて、新鮮な気持ちで振り返りができていると感じています。

最近行った振り返りの例

  • 今気になっていること、それを胸の内にしまったらどうなるか、それを誰かと共有しているか、どのような行動に起こすか
  • このスプリントでよかったこと、よくなかったこと
  • フロントエンドチームで開発スピードを上げているもの、開発スピードを落としているもの、目に見えているリスク

スプリント準備

スプリント最終日の振り返りが終わった後は、次回のスプリント準備を行っています。

ここでは次回のスプリントで取り組むタスクに対してどのような内容であるかをメンバー全員で共有し、どのように対応するかまで話し合っています。

この目的としてはなるべくタスクに属人性を持たさないようにして、もし担当者が休みなどで不在になった場合でも他のメンバーで対応できるようにすることにあります。

また、メンバー全員がタスクの内容を把握することで、ストーリーポイントの見積もりをより正確にすることにもあります。

そのため、ここでメンバー全員がタスクの内容を理解した上でプランニングポーカーで見積もりを行なっています。

改善タイム

ここでは普段後回しになりがちである、テストの拡充やドキュメントの整備や古いコードの見直しなどを行なっています。

普段は機能開発などを優先しているためなかなか手がつけられていないところですが、プロダクトを健全に保つためには必要なことなので、ここではこれらのことを集中して取り組めるように時間を設けています。

まとめ

フロントエンドチームで普段行っている定常業務について紹介させていただきました。

こちらの記事で少しでも業務のイメージが伝わっていれば幸いです!