こんにちは。株式会社Pentagonの山本です。
この記事では「アプリの受託開発において納期と品質は表裏一体」という話をしたいと思います。
この記事を書いている背景としては、当社はアプリを高速開発したいわけですが、「制作過程における品質」がボトルネックとなっていると感じているためです。(最終的な成果物の品質は決して悪くないのですが、スケジュール遅延が発生しているので解消したい)
この記事を読むことで、制作スピードを出す(納期を守る)ためには、どうしたら良いかヒントになると思います。先に結論をまとめると、制作スピードを上げるには、アプリの品質を担保する取り組みが重要です。では、具体的に解説していきます。
アプリ開発の納期と品質について
アプリ開発において、納期と品質は表裏一体の関係にあります。
これはどういうことか?
受託開発で難しいのは、顧客が満足するアプリを制作する必要があるという点にあります。アプリに不具合があったり、期待していたものと違うなどといったコミュニケーションのエラーが発生すると、制作スケジュールが遅延する傾向にあります。
特に、納品間際にコミュニケーションのエラーが浮き彫りになったり、不具合が見つかると、それを解消するために時間がかかるので、スケジュールが遅れます。結果として、制作完了までのスピードが遅くなります。
つまり…
制作スピードを出す(納期を守る)には、コミュニケーションエラーを除外し、納期間際でのバグの発生を防ぐ必要があります。具体的には、プロジェクトマネージャーは、コミュニケーションエラーを回避し、エンジニア、デザイナーは制作物の品質を担保する必要があります。
ここからは、納期を守りと品質を担保するための施策についていくつか紹介したいと思います。
プロジェクトマネジャーがするべきこと
認識の齟齬の防止
日頃から顧客、エンジニア、デザイナーとの認識の齟齬が発生させない意識が大切です。具体的には、プロジェクト憲章を制作するなどして、プロジェクトの目標と目的を明確にすること。定例会議を開き、入念に確認を行うように意識すること。些細な疑問点も放置しないことが重要です。Q&Aのリストを作成し、認識を確実に擦り合わせるのも有効です。
不確定要素を含む仕様を見つけ、具体化する
一見、仕様が決まっているようでも、開発工程で「こういった場合はどうしたら良いか」とエンジニアから質問があったり、ツメが甘い部分が浮き彫りになったりします。可能な画面設計フェーズでこうした不確定な機能仕様を詰めておくことが重要です。
ガントチャートの運用と未来に視点を向ける
アプリの制作中は、目の前にタスクに集中しがちですが、プロジェクトマネジャーは、数ヶ月先の計画まで目を向ける必要があります。ガントチャートを作成し、定例会議でスケジュールの遅延や人員の稼働計画を確認する必要があります。
定期的なアプリのチェック
アプリの開発をエンジニアに任せっきりにしないことが重要です。エンジニアが順調だと言っても、自分の目でアプリをチェックし、想定している通りのアプリが開発されているか定期的にチェックしましょう。第三者目線でチェックすることが重要です。
デザイナーがすべきこと
不確定要素を含む仕様の発見
プロジェクトマネジャーがある程度、仕様を固めますが、デザイナーはデザインをしながら不確定な仕様が要素が潜んでないか見ていく必要があります。アプリの正常系はイメージしやすいですが、エラー時にどういった表示するのか、など通常想定していないケースも考えてデザインします。
エンジニアとの相談
想定以上の開発工数がかかってしまうと納期の遅延につながります。デザイン性を保ちつつ、エンジニアに負担がかからないようなデザインが求められます。エンジニアとコミュニケーションをとり、開発工数を意識したデザインを制作する必要があります。
アプリのチェック
デザイナーも開発をエンジニアに任せっきりにしないことが重要です。意図したデザインになっているかチェックしましょう。画面遷移のトランジションが意図したものになっていなかったりするなどの事例をよく聞きます。
エンジニアがすべきこと
不確定要素を含む仕様の発見
プロジェクトマネジャーやデザイナーが仕様を固める中、エンジニアは不確定な仕様がないか入念にチェックする必要があります。文字数の制限など開発する際に必要な情報を前もって決めてもらいましょう
バグの予防
ビジネスロジックに対する自動テストの実装したり、バグが発生しても解消しやすいアプリ設計をすることが重要です。また、クリティカルパスの開発を早期に終えることでクリティカルなバグを納期間際で出さない工夫も必要です。
バグの早期発見、早期解消
病気と同じで早期発見、早期治療。プルリクエストのレビューを行っていると思いますが、プルリクエストで単に差分だけをチェックするのではなく、前後の画面も動作確認を行い、レビュー時に”マイクロ結合テスト”を実施することが重要だと考えます。これがバグの早期発見、早期解消につながります。
まとめ
アプリの受託開発において、コミュニケーションエラーやバグが発生すると、品質が低下し、納期が遅延します。納期を守り、制作スピードを出すには、コミュニケーションエラーやバグの早期発見と早期解消が必須です。病気と同じですね。「エラーやバグの早期発見・早期解消」をチームがひとつになって取り組むことで、プロジェクトが上手く進むのではないかと思っています。