オンラインで「Deserted Island DevOps 2020」に“行って”、人と人とのつながりについて考えた
たのしい!「あつまれ どうぶつの森」でDevOpsカンファレンス
2020年07月31日 07時00分更新
DevOpsの神髄は“人間関係の構築”や“コミュニケーション”にあり
カンファレンスは大盛況に終わった。視聴者数合計(ユニークビュー)は8500件を超え、TwitchのチャットもDiscordチャンネルも大いににぎわった。
講演では、多人数で開発に取り組むときの工夫やポイントなどが、幅広い視点から語られた。たとえば基調講演では、Herokuのリードプラットフォームセキュリティエンジニアであるイアン・コールドウォーター(Ian Coldwater)氏が、変化の激しいクラウドやDevOpsの世界で開発者にセキュアな対策を伝えるには、ただ“ダメだし”するのではなく、まずは相手のテクノロジーを学び、コミュニケーションしやすい関係を構築する大切さを訴えた。
New Relicのデベロッパーアドヴォケイト、ノシュニカ・フィー(Nocniča Fee)氏は、サーバーレスでDevOpsする難しさを人間的にどう解決するかを紹介。たとえば、なぜこの構成になっているのか、理由をきちんとドキュメントに残し、その際には「正直に本当のことを明記すること」だと語った。
「ある案件を手伝ったとき、コードのコメント欄に『この箇所のコードは創業者ふたりが書いたもの。すごく複雑な処理をやっていて、きれいにしたいけど手を加えるのがはばかられるので、そのまま放置』とあった。こういったことは書くのも恥ずかしいかもしれないが、コードの生い立ちや背景が分かり、後で参加した人たちが対処方法を考えやすくなるので、ぜひ書いて残すべき」(フィー氏)
そう述べたフィー氏は、「カナリアリリース」や「実験的デプロイ」といったDevOpsの側面を考慮した予算計画などその他ポイントを挙げつつ、これらを実現するには「何でも話せる、任せられる信頼関係を構築することが大切だ」と強調した。
DevOpsのテーマとは少し離れるが、Nationwideのデベロッパースペシャリスト、トーリ・チュー(Tori Chu)氏は、「自宅からでも実践できるモブプログラミングのポイント」を紹介した。
同社では最近クラウド移行を進めており、チュー氏はアプリケーション開発チームに対し、DevOpsやクラウド移行の基本やツールについて教育し、スキルアップさせるチームメンバーに抜擢された。教育方法を検討した末に、モブプログラミングを採用することにした。モブプログラミングは、2人1組で行うペアプログラミングの多人数版だ。1人が作業をして、その他の人はより良い解決策や改善点を提案。作業者を交代しながらこれを繰り返すことで、それぞれの知見やベストプラクティスを共有し、開発者のスキルアップと成果物の質向上を図る手法だ。
だが、そこにコロナ禍がやってきた。これまではチームが1つの部屋に集まってモブプログラミングを行っていたが、これがリモートになった結果、気軽に質問できる環境がなくなり、相手の様子もよく分からないためにペース調整ができなくなったという。
そこで、QAツールの「sli.do」を使って、頻繁に質問できる環境を構築。また、ナレッジを集約するために「Rocket.Chat」や「GitHub Wiki」のような検索性のあるプラットフォームを活用し、ワークフロー管理には「app.diagrams.net」などの作図ツールを使った。参加者のネット環境やPC環境を考慮して、作業者の割り当て時間を15~30分から1時間おきに変更。休憩を適宜入れながら、疲れすぎないよう気を配るといったリモートならではの工夫もしたという。
そのほかの発表も興味深いものが多かった。すべてYouTubeで公開されているので、ぜひとも確認してほしい。
講演内容に共通していたのは、どれも「コミュニケーションの大切さ」が核にあったことだ。HashiCorpのデベロッパーアドヴォケイト、ジャッキー・グリンドロッド(Jacquie Grindrod)氏は、「DevOpsはいかにコミュニケーションしやすい関係を構築し、知見を共有できるかが肝で、ツールはあくまでもそれをサポートするもの」だと述べた。ツールありきで考えるのではなく、人と人とのつながりをどうするかという視点で考える――それがDevOpsだ。
パーカー氏は、今後もあつ森でDevOpsイベントを開催したいと明かした。直近では、米国東部時間7月31日の20時(日本時間8月1日の10時)に「DevSeaOps」を開催予定だ。その後の予定など、詳しくは公式サイトを参照してほしい。