これははてなエンジニアアドベントカレンダー2022 41日目の記事です。昨日は id:nakiwo の 1月9日、初代iPhone発表の日にiPhone SDK 2時代をふりかえる - Cocoaメモ でした。
私の初 iphone は 3G のときで、赤外線による連絡先の交換ができずに、相手に負荷をかけてしまったな...という記憶があります。
さて、私は何度か転職をしているため、いくつかのチームを経験しております。
その当時は困っていたけど、今となっては解決策を知ったことの中でコスパが良かったものを列挙してみようと思います。
レビュアーの自動割り当て + slack 通知
これは github の 機能です
自動割り当てを有効化すると、TeamがPull Requestのレビューをリクエストされた場合、そのチームはレビュー担当者から外され、指定されたTeamメンバーの一部がそのTeamの代わりに割り当てられます
Teamのコードレビュー設定の管理 - GitHub Docs
レビューを待っている時間は、開発している中でも退屈な時間に挙げられると思います。
相手が忙しいならまだしも、レビューしてほしいことに気づいてもらえてないってことが多々ありました。
これを導入してからは、レビューの待ち時間がかなり改善しました。 またレビューイを自動で選んでくれるので、レビューの問題点であるレビューしてくれる人が偏るとかも解消してくれるのがありがたいです。
機能フラグ
機能フラグの説明はこのサイトがわかりやすかったです
機能フラグ (一般に機能トグルとも呼ばれる) は、新しいコードをデプロイすることなく実行時に選択機能のオンとオフを切り替える、ソフトウェアエンジニアリング手法です
https://www.atlassian.com/ja/continuous-delivery/principles/feature-flags
たったそれだけ?って感じなんですけど、結構多くの問題を解決してくれております。
一つは、開発完了するまでフィーチャーブランチで作業して、リリースしたいタイミングでメインブランチにマージするという運用をしている時がありました。 ご想像の通り、マージ時にはコンフリクトが大量発生してどうしようもなかったんですが、機能フラグはこの問題を解決してくれます。
あとは、新機能の公開が決まっているときなどは、前日に全ての作業を終わらせて当日はフラグを切り替えるだけにしておくと、当日バタバタせずにすみます。 CDの機嫌によって公開時間が前後するのも防げるのもありがたいです。
さらに、オンとオフだけではなく、管理者限定だけ新しい機能を試せるみたいにしておくと、本番公開前に軽く動作確認などができるもの良い点だと思います。
サーバー監視
所属している会社からポジショントークっぽいけど、導入してない状態でどうやってサーバーの運用するんだっけ...ってなっています。
定期的に ssh でサーバーにログインしてディスク容量を確認したり、悲鳴ベースで対応していたっけなという記憶があるのですが、明らかに監視を入れたほうが日々の運用作業が少なくなって良いかなと思っております。
以上、3点になります!
明日のアドベントカレンダーは同じチームで働いている id:anatofuz です!