低コスト/短納期プロジェクト専門 超スピード開発 Falcon

 コンセプト

 APFシリーズの1つで、移行開発のように要件の確度が高い開発プロジェクトを対象とし、その明確なターゲットに向かって一直線に突き進んでいくための開発プロセスです。小さなチーム編成によって、コミュニケーションコストを抑えて開発スピードを上げ、低予算/短納期を実現します。獲物を見つけてからの降下速度が時速300kmにも達すると言われる、隼(ハヤブサ)=Falconをモチーフとしています。

低予算/短納期の秘密

 少人数開発=低予算

 開発プロジェクトにかかるコストの内訳を見ると、人件費がほとんどを占めます。つまり、単純に参画するエンジニア数を抑えれば「低予算」がクリアできます。Falconでは、そのチーム編成を多くても5名程度までと定めています。

コミュニケーションコストの削減

小さなチーム編成とすることで、エンジニア同士のコミュニケーションコストを下げることができます。その結果、成果物としてのドキュメントを、「お客様と要件を確認する」ものと「ソース自動生成のインプット」となるものに限定しています。

開発の分担の仕方でも工夫があり、1つの機能を1エンジニアが全て担当できるようにしています。その結果、エンジニア同士のコミュニケーションコストを削減しています。とはいえ、エンジニアが協調してプログラムを作成するシーンも当然あり、その時のコミュニケーションギャップを防ぐため、APF-Falconでは用意するホワイトボード数やソフトウェアかんばんの利用なども定めているのです。

 

 ドキュメントを手数かけずにプログラムソースへつなげる

 お客様と要件を確認するためのドキュメントであっても、プログラムソースへの利用を考えた作り方となっています。例えば画面レイアウト。どのような画面を作成するのかを定める画面レイアウトをHTMLで記述し、それを開発フレームワークによって手を加えることなくプログラムソースになります。
また、データベース定義書からもプログラムソースが自動生成されます。マスタ保守のような単純な機能は全て、また複雑な業務ロジックを含む機能であっても、データ処理などの基本部分は自動生成することで、工数を大幅に削減しています。

APF/Falconのイメージ

 技術要素

 スーパーアジャイル向けTeeda + S2DAOの採用

 要件が定まっているという前提のFalconに対し、要件を固めながらの進めるアジャイル開発向けのJavaフレームワークTeedaを採用することで、さらに高速な開発を実現しています。また、Teedaを独自拡張することで、業務アプリケーション特有の画面遷移やアプリケーションの挙動を簡単に実現できるようにしています。

 ソースの自動生成ツール

 他のAPFシリーズでも広く活用されている自動生成ツール「Bazooka」。人が書くソースコードを減らすことで、作成コストを下げると同時に品質を確保し、試験コストを削減しています。

 自動テストツール

実装には「JUnit」を利用したテスト駆動開発、画面の動きを確認する試験は「Selenium」を採用した自動テスト化を実現することで、後続開発によるデグレーションも防ぎます。