読者です 読者をやめる 読者になる 読者になる

GeekFactory

int128.hatenablog.com

Kingfile Driven Developmentと継続的デリバリー

software engineering

KDD(Kingfile Driven Development)は、キングファイルと大量の紙をコミュニケーション手段とする開発手法である。日本のSI業界で広く導入されており、デファクトスタンダードとなっている。キングファイルの重厚感はエグゼクティブを中心に好印象を与えることが多く、顧客満足度の向上に貢献している。「顧客が最も欲しいのは重厚なキングファイルである(キリッ」と結論付けている調査レポートもある。

キングジム キングファイルSD A4S 青 1470アオ

キングジム キングファイルSD A4S 青 1470アオ

もはや常識となっているKDDであるが、近年のシステム開発の複雑化や短期化に伴い、キングファイルの出荷(デリバリー)に要する時間が問題視されるようになってきた。多くのプロジェクトではプロジェクトもしくは工程の最終段階にキングファイルを出荷している。これにより、顧客との齟齬の発見が遅れる、エグゼクティブにプロジェクトの状況が迅速に伝わらない、といった問題を抱えている。

キングファイルのデリバリーを継続的に行うことで、顧客と密にコミュニケーションを取ることが可能になる。また、新旧のキングファイルを並べて目視することで、変更履歴を容易に追跡することも可能である。すなわち、KDDにおける継続的デリバリーはシステム品質や顧客満足度を飛躍的に向上させる。

継続的デリバリーと自動化

キングファイル一式を出荷するにはWordファイルの印刷や製本といった複雑な手順が必要であるが、多くのプロジェクトでは作業手順が標準化されておらず、熟練のエンジニアによる勘と経験と度胸の作業に頼っているのが現状である。

標準的なキングファイルの出荷プロセスは下図のようになるだろう。

  1. Wordファイルを作成する。このプロセスは複数の作業者が行うことが多い。
  2. Wordファイルを印刷する。このプロセスは出荷担当者が行うことが多い。
  3. 紙をキングファイルに製本する。このプロセスは出荷担当者が行うことが多い。
  4. 顧客に提供する。このプロセスはスーツが行う。

出荷プロセスのうち、Wordファイルの印刷と製本についてはツールによる支援と自動化が望ましい。これにより、以下の問題が解消されることが期待される。

  • 複数のWordファイルを開いて操作する作業は高コストである。
  • Wordで印刷を指示してからプリンタで出力されるまでにタイムラグがあり、印刷状況の把握が煩雑である。
  • 印刷済みのWordファイルが変更された場合は紙の差し替えが必要となる。

提案手法

キングファイルの継続的デリバリーを実現するための基礎として下図の仕組みを提案する。

  1. Wordファイルはリポジトリで一元管理する。
  2. Wordファイルが変更された場合、継続的インテグレーションツールが変更履歴分析ツールを実行する。
  3. 変更履歴分析ツールはWordファイルの変更を分析し、必要なページのみ印刷を指示する。それと同時にページ差し替え手順をオペレータにメールする。
  4. オペレータはメールの指示に従ってキングファイルのページを差し替える。
  5. 変更履歴を分析して得られたメトリクスはレポート出力される。

本手法の実現手段としてジェンキン寿司(Jenkins CI)が最適と考える。ジェンキン寿司はソフトウェア開発で広く使われている継続的インテグレーションツールであり、多くの導入実績と豊富なプラグインを持つ。

まとめ

昨今のKDD(Kingfile Driven Development)においては、システム品質や顧客満足度の向上の観点からキングファイルの継続的デリバリーが重要である。本稿では多くのプロジェクトが抱える問題を分析し、キングファイルの継続的デリバリーを実現するための基礎的な手法を提案した。今後の課題として、提案手法の導入による効果測定が挙げられる。



なお、4月1日はエイプリルフールである。