アサヒビジネスソリューションズ株式会社

アサヒビジネスソリューションズ株式会社

ハイブリッドアジャイル

楽々Framework3で「部品組み立て型開発」を極める
システム開発標準フレームワークとして楽々Framework3を導入。
楽々Framework3による部品組み立て型開発をナレッジ化し、
テストファースト、チケット駆動開発により大幅な効率化を実現。

アサヒビジネスソリューションズ(以下同社)は、1988年に創立され、アサヒグループ各社のITベストパートナーとして、営業、販売、生産、物流、財務システムの提案、開発から運用まで、ワンストップソリューションを提供している。

導入経緯

同社では、社内標準としてStruts、Hibernate、SpringFrameworkを組み合わせたJavaフレームワークを使っていたが徐々に時代遅れになっていた。また近年、パッケージ製品やサービスの導入により、純粋な開発案件が少なくなり、Java開発技術者育成が難しくなっていた。そこで2012年よりフレームワーク開発ツールの導入検討を開始、2014年に楽々Framework3(以下楽々FW)の導入に至った。

大掛 栄治氏
アサヒビジネスソリューションズ株式会社
ソリューション本部
開発第1統括部
第2グループ
大掛 栄治 氏

導入効果と新たな課題

楽々FWでシステム開発を行ったところ、これまでのJavaスクラッチ開発と比較して、楽々FWの標準機能を極力活かせば製造工程が1/6になるという大きな工数削減効果があった。

一方、要件定義、設計、テスト工程の工数は大きく変わらなかった。その原因は製造工程が楽々FWの部品組み立て型で大きく効率化されたのに、その他の工程がそのメリットを十分活用できていないからだと考えた。

そこで、製造以外の工程を部品組み立て型開発に合わせて最適化することにした。併せて、その他の課題(楽々FW技術者育成、進捗管理)も解消すべく、具体的には下記項目を目標としたプロセス改善に取り組んだ。

  1. 楽々FWの部品で実現できる機能を初心者でもすぐにわかるようにする。
  2. 設計書やテスト仕様書をもっと手間をかけずに作成できるようにする。
  3. 開発の進捗を客観的に把握できるようにする。

楽々FWで実現できる機能をナレッジ化

楽々FWの部品組み立て型開発を設計工程やテスト工程に活かすために、まず、楽々FWで実現できることを、初心者でも共有の知識として活用できるようナレッジ化し、蓄積することに取り組んだ。ナレッジ化の手順としては、「ナレッジマネジメント」の手法である「SECIモデル」を参考にした。

SECIモデル
機能のナレッジ化

次に、蓄積されたナレッジを元に「機能」を定義し、機能実装ガイドラインとしてまとめた。具体的には、SQL、メニュー制御、画面遷移、項目配置、アクション、入力チェック、DB更新等、概ね1日以内で実装が終わる程度の作業量のものを1機能として定義し、機能IDを付与した。機能IDは、システムが異なっても同じ番号となるようにし、社内の共通言語化を図った。

ドキュメント類を整備

また、ある程度機能ごとに実施すべきテストケースが決まるはずなので、これをテストガイドラインとして定義した。実装手順が単純なものについては、楽々FWの管理画面「RakStudio」上の設定値が適切であることを確認できればテスト完了と定義、テスト省力化も図った。これは楽々FWで品質が担保されているものに対してテストを行う必要はないと判断したからだ。

設計書も部品組み立て型に

ナレッジ化された機能実装ガイドラインとテストガイドラインから必要な機能の記述箇所をコピーすることで画面機能定義書やテスト仕様書を作成できるようにした。これにより、設計書やテストケースの作成が標準化され、作成工数も大幅に削減することができた。

テストファーストとチケット駆動開発

進捗率の定量化を図るためにテストファーストとチケット駆動開発を導入した。製造対象画面の機能ごとにチケットを払出し、チケットを受領した製造担当者は、対象機能単位に実装・テストを行いチケット完了とする。

これを繰り返すことでプログラムを仕上げていく。チケット完了=テスト済みの機能の実装となり、プログラム1本の進捗率は該当チケットの消化率として正確に把握できるようになった。

また、プログラム1本の開発をチケット単位に複数の担当者に割り振ることや、プログラム作成途中での開発引継ぎも容易になった。チケット管理にはOSSのRedmineを利用しており、チケット消化状況が一目でわかるため、それが開発要員のモチベーションアップにつながるという効果もあった。

チケット駆動開発

プロセス改善の効果

楽々FW導入直後のシステム開発では、製造工程の工数が1/6に削減、システム要件定義~内部結合テスト工程で1/2の工数削減だったが、今回の開発プロセスの改善により、システム要件定義~内部結合テスト工程の工数が1/5程度まで削減するという大きな効果を得ることができた。

なにより収穫だったのは、ナレッジ化により実装方法やテスト内容を明確にしたことと、実装作業を機能ごとにチケット化したことで難易度の低い作業から割り当てることが可能となり、経験の浅い新人でも簡単にプログラムを組め、早期にプロジェクトメンバーとして活躍することができるようになったことである。本取り組みは人材育成にも大きく貢献できることが証明された。

システム要件定義~内部結合テストまでの工数比較

今後の展開

テスト自動化

現状は手動でテストを実施しているので、これをスクリプト化し、自動化を実現したいと考えている。テストスクリプトも機能ごとに部品化することで、スクリプト作成の効率化とさらなるテスト工数削減を目指す。

機能ID毎の分析によるプロジェクト管理の精度向上

複数のプロジェクトにまたがり収集している機能毎の難易度、工数、障害発生率等の情報を分析する。例えば、障害発生率が高い機能について、テストケースの不足を疑い改善し続けることで、品質向上に寄与できる。また難易度、工数を分析することによりプロジェクトの工数見積、要員計画の精度向上も目指したい。

アジャイルの追及

本開発プロセスでは、機能のナレッジ化とドキュメントの標準化を前提に、要件定義、設計、総合テスト、リリースをウォータフォールで、機能実装とテストをチケット駆動型開発で行った。今後はこの新たな開発プロセスを横展開して「部品組み立て型開発」を定着させる。さらに、ナレッジの蓄積・拡充とブラッシュアップを進め、テスト自動化も含めたアジャイル開発を視野に究極の開発プロセスを目指す。

※本事例中に記載の社名や肩書き、数値、固有名詞等は取材時点の情報です。

各種お役立ち資料もご用意しています

簡単な製品説明や見積りのみご希望の場合も
気軽にお問い合わせください

お問い合わせ

専門スタッフが製品や導入に関する不安やお悩みにお答えします。

担当者に製品の説明を聞く

資料請求

楽々Framework3の詳しい製品情報や、活用事例をまとめた資料を無料で請求いただけます。

製品資料を請求する

体験セミナー
eラーニング

Webでの講義と体験版ソフトで楽々Framework3を体験いただけます。

体験セミナーeラーニングに
申し込む