IT関連 / システム開発
エンジニアの開発環境、開発の質改善の取組み
社内のエンジニアは、フロントエンド・バックエンドともに未経験者や初心者が過半数を占めており、私自身も未経験者のひとりでした。 こうした事情から、開発陣の環境や文化といったものは十分に整備・醸成されているとは言えず、例えば次のような課題が見られました。 - 開発環境が人によってXAMPPだったりUNIXの仮想マシンだったりまちまち - Gitをmasterブランチ単一で運用し、作業途中であっても各自masterに直にcommitするため、デプロイ時にproduction環境でシンタックスエラーが頻発する - 単体テストを書かない - 同じ基本構造をもつ画面や機能であっても、各メンバーが都度思い思いに新しく実装してしまうためバグが多発する そのため、バックエンドリーダーのサポートのようなポジションになった際に、主に次のような取組みを実施しました。 - フレームワークの機能を活用した、メンバーが開発しやすいような仕組みや機能の実装 - 開発環境としてVagrantを導入(メンバーの練度を考慮するとDockerは敷居が高かったため) - Gitの運用やリリース時のフローを簡易に策定 - プルリクエストによるレビューを開発フローに取り入れる - コーディング規約の整備、開発に有用なプラグインやツールの紹介や啓蒙、導入 - 単体テストは個人の裁量に任せた(敷居が高かったため) - メンバーとの1on1の実施 こうした取組みに対し、定量的な指標による評価や監視はおこなっていなかったものの、一連の活動によってバグの発生の減少が見られたり、課題解消のために取組む機運が芽生えるといった効果は見受けられました。 その一方で、不慣れなプルリクエストの運用により、レビュー待ちのプルリクエストが滞留して開発のボトルネックになるなど、新たな問題も生じました。 新たに発生した課題に対して手を打つ前に私は退職してしまいましたが、これらの活動は短期的には一定の成果をおさめられたと考えています。 しかし長期的な目で見れば、私が組織的な活動としてメンバーを積極的に巻き込まなかったこと、社員の交代が激しい環境であることも手伝ってか、社内に新しい文化を根付かせるための継続的な取組みには繋がらず、一時的なものに留まりました。