見出し画像

新入社員の目を通してみる、チーム開発の進化とDXの向上

はじめまして、網屋 23 卒の ALog TM 開発エンジニアのチャンです。今回は、私がチームにジョインしてから一年間を通して、チーム開発と DX という観点から見たこと・思ったこと・実践したことにフィーチャーしたいと思います!


私について

香港人とのハーフで、小学4年生まで香港、5、6年生は日本、それからまた香港へ、高校進学で日本へ…と行ったり来たりしていました。そのようなバックグランドもあり、浅く広い交友関係を続けてきました。そんな中でも短い時間で仲を深められる、我々男子の共通言語といえばゲームがありますよね!当時、マインクラフトが絶大な人気を誇っており、学生時代は一番情熱を捧げてきました。

香港ディズニーランドでの妹との写真です(ナツカシイ)

そんなマインクラフトですが、実は友達と遊ぶためにはネットワークやサーバーの知識が必要になってくるのです。TCP/IP など知らぬ中学生です。ポートと言われて頭にはてなマークを浮かべながら必死にルーターの設定を弄り回したのは懐かしい思い出です。

そこが私のエンジニアとしてのキャリアの原点で、その第一歩を網屋で踏み出しているわけです。

ALog って何?

さて、私が所属しているチームが何を作っているのか気になりますよね。ALog は、主に企業向けに販売している、サーバーアクセスログ監査製品になります。「むずかしいをカンタンに」をミッションに、誰でも使いやすい製品の保守・開発を行っております。

この記事が投稿される頃には ALog サブスクリプション版がオンプレミス製品としてもローンチされています!こちらの記事もよければご覧ください!

https://www.amiya.co.jp/news/12968/

はじめては多難

私のチームでは、オンプレミス製品の歴史が長いこともありウォーターフォール開発が浸透していました。

ウォーターフォールとは、ざっくりいうと仕様に対して責任を持つポジションの人がガッチリ固めて、開発者はそれを忠実に実現する開発手法です。言い換えれば、明確なゴールが決まっていて、それに対してメンバーが割り振られた担当箇所を作っていくような開発手法です。

スクラム開発の導入

それに対して、近ごろの流行りであるスクラム開発を導入する機運がチーム内にもたらされ、私が入社した頃実際にチャレンジが始まっていました。

語源はラグビーの肩を組んで隊列を組むあのスクラムで、ソフトウェア開発に対してそれを比喩したものになります。開発者全員で肩組んで問題にタックルするぞ!的なイメージです。1~2 週間を 1 スパン (スプリント)として、優先度の高い要件から順にミニマムに反復的に漸進的に推し進めるのが特徴です。

初期のスクラムは、サーバーチーム 7 人と UI チーム 3 人の 2 チームで編成されていました。スクラムを経験したことがある人ならばわかるかもしれませんが、1 チーム 7 人は大所帯です。すぐにサーバーチームは割譲され、インフラチーム 2 人が結成され、私はそこに所属することになりました。

インフラチームの仕事は、 ALog シリーズの SaaS 版である、 ALog Cloud に係るクラウドインフラ周りの機能追加・改善・保守を担当していました。全チームを通して、スプリントの一番はじめに行われるプランニングでバックログへチケットを並べ、順次消化していき、完了すれば QA に回すフローになっていました。

本当にスクラムはチームに有益?

インフラチームは 2 人だったので、チームというよりかはペアでした。タッグを組んでいたのは、先輩のみつやさんです。

みつやさんの投稿は過去に一緒に AWS GameDay に行ってみた記事をアップしているのでぜひご一読ください!

さて、そんなみつや先輩とはスプリントの最終日に行われるレトロスペクティブという振り返りイベントで、常々 QA との関わりを含めて、開発チーム全体の生産性向上が話題に上がることが多かったです。

DX の向上

紆余曲折があり、チームはサーバー・UI・インフラといった技術領域ではなく、機能というコンテキストから分けられるようになりました。私は、性格がやや特殊な SRE チームという名前のチームで、DevOps や GitOps といった DX(Developers Experience: 開発者体験)を向上するタスクに専念することになりました。

弊チームは、若いメンバーが多くフレッシュな反面、ある意味当たり前が足りていないことが多かったです。そのうちのいくつかに、ミスを未然に防ぐためのコード変更に対する自動テストやチェックがなかったりといったようなことが挙げられました。

そこで、SRE チームでは GitHub Actions・pre-commit・Slack 統合・Code Rabbit 等々、開発者がタスクの本質に没頭できる環境作りに力を入れ、そして今では一定の成果を挙げています。例えば、Code Rabbit の導入によって、取るに足りないヒューマンエラーが指摘されることで、レビューにかかるコストが低減されました。

一見当たり前かもしれないですが、コードに対する変更によってビルドができなくなってしまったといったミスは、大規模なコードベースゆえにどんな優秀なプログラマでも起こしてしまうことです。そのような、取るに足りないつまらないミスは、大きな影響を与える前に自動的に検知され、弾かれるようになったのです。

ユートピアを信じて

さて、スクラムはそのガイドの一番最初にこのフレームワークのことを以下のように定義しています。

スクラムは「経験主義」と「リーン思考」に基づいている。経験主義では、知識は経験から⽣まれ、意思決定は観察に基づく。リーン思考では、ムダを省き、本質に集中する。

スクラムガイド P.4 2020/11 Ken Schwaber & Jeff Sutherland

有名な言葉に「巨人の肩の上に立つ」という似たものがあります。歴史に学び、漸進的にシステム・プロダクト・カルチャーの最適化を進めていく旅はまだまだ始まりに過ぎません。スクラムのフレームワークは意図的に不完全であり、本記事で登場した DX に限らず、他の様々な形を内包していき、その相互作用によってプロダクトの価値を最大化するために貢献していけるのではないかという期待を抱いています。

日々タスクに追われる傍ら、開発者に限らず我々仕事人は常々、タスクの本質に専念しているときに一番喜びとやりがいを感じるものです。それが実現されたユートピアを信じて、私は日々の開発業務に係る生産性向上に賭していきたいと思っています。

おわり

入社 1 年目から見た弊社のチーム開発は、今は手の届かない理想との闘いであったことがわかった反面、例え 1 年目だとしても、自分ごととして捉え、提案・アクションを起こしていけば、理解してくれ、受け入れてくれるあたたかく、素敵な場所でありました。

TL;DR がんばるぞい!

PR: 募集

網屋では、新卒・中途エンジニアを積極的に採用しております!オーナーシップさえあれば、誰でも活躍できる素敵な場所です、まずはカジュアル面談から…でも構いません。以下のリンクよりご連絡お待ちしております!


この記事が参加している募集