QCDの課題と品質向上の取り組みとは?

QCDの課題と品質向上の取り組みとは?

スピーディーかつ高品質なアプリの提供を可能にするために、クロス・コミュニケーションで実施している取り組みをこの記事ではご紹介しております。


開発・制作・コンサルティングを
無料でお見積もりをいたします。

属人化や作業ミス

パソコンの画像

Jenkins

QCDの課題と品質向上の取り組みの紹介をさせていただきます。


属人化や作業ミスを解消するためにJenkinsを導入し、この中でiOSアプリのビルド、Androidアプリのビルドを自動化しております。


以前はビルドをするには属人化が起きていましたが、現在ではまほぼ100%ビルドの自動化を取り入れており、ブランチを指定してビルドボタンを押せばビルドができます。


ipaファイルやapkファイルは生成される自動化の仕組みを構築しております。

Jenkinsのイメージ

また、手動であれば、ファイルの上げ忘れや上げ間違い、パーミッションが間違っていて更新ができなかった等、色々なミスが起きがちですが、全てスクリプトを使って自動化し、作業ミスを防いでいます。

Jenkinsのイメージ

証明書管理ツール

SSL証明書やドメイン、iOSアプリのビルド証明書、プロビジョニング、Push証明書など一定期間後に対応が必要なものをとりまとめ、リマインドしてくれるようGASでツールを作成し、連携ミスや更新忘れが発生しないようにしています。

証明書管理ツール

アプリ申請フォーマット

App Store ConnectとPlay Consoleでのアプリ申請に必要な項目をフォーマット化しております。


AppleもGoogleも申請内容を変更することがあるため、その際は都度情報をキャッチアップして、社内展開しております。

OTAツール

ネイティブアプリ特有ですが、iPhoneやAndroid端末に開発中のアプリをインストールしてもらうためのサイトとCI環境からすぐに登録するようなAPIを作成して連携しています。


そのため、開発中のアプリであればお客様の方でも使っていただける仕組みになります。


以前はPL (プロジェクトリーダー) やPM (プロジェクトマネージャー) がhtmlを書き、ファイルを手動でWinSCPにアップして更新していましたが、そういった定型作業を自動化するようにしております。

アプリ開発方法の統一

品質管理ポリシーの共有

アプリ開発方法の統一ということで、弊社のコーポレートサイトにもアップしておりますが、品質管理ポリシーというものをつくって共有するようにしております。


https://www.cross-c.co.jp/about/quality/

開発ガイドラインの作成

開発ガイドラインを作成しておりまして、以下を定義しております。

  1. GitLab及びGitの使い方
  2. Redmineの記述方法
  3. トランザクションの考慮
  4. テスト自動化のすすめ
  5. 静的解析のかけ方と標準ルールの作成
  6. コーディング規約まとめ
  7. ログ出力のtips
  8. エラー処理のtips
  9. レイヤー構成のtips
  10. ネイティブアプリアーキテクチャーの分析と推奨

プロダクト解析

プロダクト解析としては、ソースコードを開発する際のマージリクエストを対象にしています。


マージリクエスト作成してからマージされるまでの期間やそこでのディスカッションの数を計測して解析するようにしています。


そして解析の結果を開発チームにフィードバックしております。

コスト削減

設計ドキュメントや要件定義、試験計画試験書をフォーマット化しコストを削減しています。


また、各プラットフォームのレギュレーション情報のアナウンスをしております。

コスト削減のイメージ

自分が案件を持っているとそのプロジェクトのことで視野が狭くなりがちですが、そこを補うような形で情報集めをしたりアナウンスしたりしています。

まとめ

このようにQCDの課題と品質向上に日々取り組んでおります。


そして上記に取り組んだ上で、クロス・コミュニケーションではカード明細アプリのお手本となるような「アプリケーション基盤」を構築しております。


アプリケーション基盤につきましては、
アプリ開発のスピードと品質を両立させる「アプリケーション基盤」とは?
をご覧ください。


アプリ開発 サービス紹介 サービス資料をダウンロード お問い合わせはこちら

執筆者

株式会社クロス・コミュニケーション編集部

Cross Communication 株式会社クロス・コミュニケーション編集部

株式会社クロス・コミュニケーションのコンテンツ編集部。 アプリ開発やWeb開発に関するナレッジやIT業界のトレンド情報などをご紹介しています。