UnifinityPlatformにおけるアジャイル開発とその利点

コラム

弊社が提供しているUnifinityStudioは、誰もが業務アプリケーションを作成可能なモバイルデバイス向け開発環境である。そして、このUnifinityStudioを使ったアプリケーション開発は「画面の開発が容易で、簡単に変更ができる」「用意されたロジックコンポーネントを接続していくだけでアプリケーションが構築できる」といった特徴を持っている為、高速開発を行うことができ、「アジャイル開発」に向いているという優位性を有している。
しかし、「アジャイル」という言葉は、内容が曖昧である。実際にどのように進めるのかは、プロジェクトやチームごとに考えが異なっていることが多く、開発者と非開発者でも認識が異なっていることがある。
プロジェクトメンバーのアジャイルの認識がずれていると、当然、開発生産性や品質に悪影響を与える。せっかくのアジャイル開発を採用したにもかかわらず、アジャイルの良さが失われてしまうと、かえってマイナスの結果をもたらすことになる。
そのため、以下にUnifinityにおけるあるべきアジャイル開発の方向性を、一つ定義していこうと思う。


アプリケーションの開発を行う際、まず必要なことは、プロジェクトメンバー間で5W1Hを合意をすることである。つまり、今回作るアプリケーションが何を実現するものなのか。そしてそれはいつ必要になり、どこで使用されるもので、誰をターゲットにしており、どのように使わるのか。そして、その最終的にどのようなメリットが生じるのか、である。

1.png

この時、「何を」の部分がある程度明確であるならば、簡単なモックアプリケーションの作成にはUnifinityStudioが活躍する。プロジェクトメンバーで完成イメージを共有することができれば、齟齬を無くすことができとても効果的であろう。タブレットやスマートフォンで、動くアプリケーションを実際に触れば、そこから操作感を得ることができ、要件の見落としや、隠れたニーズなどを探る際にとても役立つはずである。

さて、5W1Hが明確になったら、業務要件を整理するフェーズとなる。実際に必要となる機能を、ヒアリングによって決めていくこととなる。
このヒアリングは、実際にアプリケーションを利用する業務担当者の方に出席いただく必要がある。その業務ではどのようなデータを扱っているのか、どのようなデータを管理したいのか、そしてそのデータはどこに連携されるのか、といったものを漏れなく洗い出す必要があるからである。

2.png

そして、このヒアリングで得られた情報を基に、モックアプリケーションに新たな画面を追加し、データの定義や連携図のまとめといった整理を行うことで要件定義を完了させる準備が整う。要件定義の成果物は「モックアプリケーション」「データの定義書」「業務プロセス定義書」といったものになるであろう。

こうしてモックアプリケーションが出来上がったら、プロジェクトメンバーで、使い勝手や統一感のレビューを行っていく。細かい処理ロジックは無くとも、画面遷移やデータの入力イメージを体感することで、ある程度、アプリの操作感を認識することが可能であるはずだ。また、UnifinityStudioのリアルタイムプレビュー機能を活用すれば、実機での見栄え、操作感をレビューしながら、その場で修正をしていくことも可能であり、是非有効活用していただきたいと思う。

なお、このタイミングで、アプリケーションのUIのポリシーを決めておくことを推奨する。具体的には、使用するフォントサイズや、ボタンの角は丸くするか、角ばらせるか、などの見た目に関わる定義である。テーマカラーも決めておくのが望ましい。場合によっては、開発者ではなく、業務担当者がこういったデザイン面の設計を行う、といったこともUnifinityStudioなら可能である。
ここでUIポリシーを定める意味であるが、この後の開発フェーズになると、画面作成作業を複数人で分担したり、新たな画面の追加が発生したりするためである。UIのポリシーを決めておけば、統一感が取れるため、開発終盤で、全画面をチェックしUIのずれを修正するといった無駄なコストをカットすることができる。

なお、モックアプリケーションの中でボタンなどにアイコンを使用する場合、急遽用意できないのであれば、商用フリーのアイコンサイトなどを活用するのも一つの手である。ボタンに文字を表示するのと、アイコンを適用するのでは見た目や視認性が大きく異なるため、このタイミングで方針を決めておくことをお勧めする。


何度かのレビューを経て、要件定義の成果物の内容について、プロジェクトメンバー間で合意形成がなされれば、実際のアジャイル開発に取り掛かることができる。要件定義で主な画面と、使用するデータの構造は完成している為、残る画面と、使用するDBとロジック、必要であればサーバーサイドの開発を順に進めていくのみである。外部システムとの接続がある場合は、多少UIや画面遷移に変更が発生するかもしれないが、大きくは変わることはないはずである。

ここで、モックアプリケーションに対して、機能単位で段階的にアプリケーションを追加開発していけば、アジャイル開発を実現することができる。いわゆる「紙芝居」がモックアプリケーションで完成している為、そこに対して、機能を部分的に追加していくのである。
また、もし途中でどうしても操作感に満足がいかないことがあれば、画面の設計の変更も行うことができる。データ定義を大きく変えることはできないが、表示に関することであれば、素早く対応し、アジャイルとして次のリリースに反映することが可能となるであろう。

3.png

あとは、スケジュールに沿ってアプリケーションを開発し、外部システムがあれば結合試験や、総合試験を行い、アプリケーションを完成に持っていくことで、Unifinityのアジャイル開発が完了となる。
アジャイル開発によって、段階的にリリースを行うことで、最後に大きな食い違いや手戻りが発生することを避けることができる。こうして無駄な工数を省くことができれば、アジャイル開発の利点である「改善」によって、アプリケーション開発者が本来対応するべき「高品質で使いやすいものを考えて作っていく」といったプロセスに注力することができるだろう。


このように、事前にデータ定義と見た目に関わる部分をしっかり決めておくことで、UnifinityStudioでのアジャイル開発を実践でき、「高速開発」のメリットを大きく享受することができる。ぜひUnifinityStudioでアジャイル開発を成功させ、プロジェクトメンバー全員が満足のいくリリースを行っていっていただきたい。