フロントエンド開発者は品質改善やTime to Recover短縮のために何ができるのか:Webフロントエンドエンジニアだけでスマホアプリ開発(終)
リクルートテクノロジーズが開発している、B2Bのスマホアプリ『Airシフト メッセージ用アプリ』。Webフロントエンドエンジニアだけで行っている開発の裏側を明かす連載。最終回は、品質改善で取り組んでいることや、テスト実施時間短縮に向けた取り組みなどについて。
Webフロントエンドエンジニアだけで行っている開発の裏側を明かす連載「Webフロントエンドエンジニアだけでスマホアプリ開発」。最終回の今回は、B2Bスマートフォンアプリ『Airシフト メッセージ用アプリ』(以下、メッセージアプリ)のフロントエンド開発の品質改善で取り組んでいることや、テスト実施時間短縮に向けた取り組みなどを紹介します。
品質改善で取り組んでいること
「SonarQube」を活用した複雑なソースコードの検出
「SonarQube」は、ソースコードの品質を、幾つかのメトリクス(コードスメル、カバレッジ、循環複雑度、重複など)から総合的に評価、管理できるサービスです。メッセージアプリでは、開発段階からSonarQubeを活用して継続的なソースコード品質の計測を実施してきました。
計測した結果については、週に1回実施している「フロントエンド会」でグラフをチェックし、多責務になっているファイル・関数・クラスがないかどうかを確認しています。ここでは、具体的に「NG」となる指標は決めておらず、改善すべきかどうかはその都度チームメンバーとディスカッションして判断しています。
積極的なドキュメンテーション活動
認証やプッシュ通知といった、プロセスが比較的ややこしい部分など、ハイコンテクストな箇所についてはソートコードと同じリポジトリにドキュメントを設置して、なるべくソースコードと近い場所で書いたら終わりではなく、日々更新しながら運用しています。ドキュメントを運用する上でこだわっている点は「書いたら終わり」ではなく、日々変化する仕様に追従してドキュメントを更新していくという点です。
それを踏まえて、「Confluence」で管理していたドキュメントのうち、より内部の実装に関するものをソースコードと同じリポジトリで管理し、いつでも閲覧できるようにしました。また、同じリポジトリで管理しているドキュメントから、Confluenceを始めとした関連ドキュメントへ飛べるようにしました。
この取り組みは、当初はチームに浸透させるまでが課題だと感じていました。というのも、ドキュメンテーション活動は、正直なところ、実装より優先度が下げられがちだったり、「面倒な作業」と感じる人もいたりするからです(必要性を感じるまでの筆者も、面倒だと感じるタイプの人間に該当していました)。
この文化を根付かせるため、軌道に乗るまで自分が積極的にドキュメントを書き、「ドキュメントがあると便利」という感覚をチーム全体に体感してもらう方法を採りました。その結果、チームメンバーそれぞれが、筆者も詳細まで把握していないような詳しい部分をドキュメントに書いてくれるようになりました。
「Sentry」を活用したTime to Recoverの短縮
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 利用者調査「State of JavaScript」最新版が公開、2万人強が参加
JavaScriptの利用動向に関する年次調査(2019年版)が発表された。開発者2万1717人の回答を集計、分析したものだ。勢いのあるフレームワークやツール、JavaScriptのスーパーセット言語が分かる。 - 求人情報から見えた「JavaScriptフロントエンド開発者に必要なスキル」 CV Compiler
オンライン履歴書改善サービス「CV Compiler」の提供元が、AngelList、StackOverflow、LinkedIn、その他IT企業の人材採用ページから、JavaScript開発者の求人情報約300件を収集し、頻繁に言及される募集条件を調査した結果を発表した。 - ゼロから学ぶ! Single Page Applicationの特徴と主なフレームワーク5選
フロントエンド開発のアーキテクチャである「SPA(Single Page Application)」について、開発に必要となる各種フレームワークの特徴や作り方の違いなどを紹介する連載。