新鮮

頑張らないために頑張る

EA の功罪(4) BA(業務) をデバックせよ!

f:id:hiizumix:20180220123444j:plain

先日、"EA"(Enterprise Architecture) というシステム開発方法論を述べた。そして砂上楼閣な計画が何故か実施まで進んでしまい、その結果どうなったかまでをお話した。一方で EA 自体はときに非常に有効に使える考え方であることを補足した。

「EA の功罪」の最終回、「BA(業務) をデバックせよ!」を考える。

f:id:hiizumix:20180220192820j:plain

難しいことはいいから、早く帰れる方法をさっさと教えてよ

上流の不確実性が下流では激流になる

前回、EA には 4 つのレイヤがありレイヤの順番が大事であること。そして RFP では、BA(業務)と DA(データ) が書かれないことを述べた。4 つのレイヤとは次である。

  1. ビジネスアーキテクチャ(BA) : 業務目的・目標, 業務フロー
  2. データアーキテクチャ(DA) : ERD, CRUD, データディクショナリ, コード表
  3. アプリケーションアーキテクチャ(AA) : 機能要件, システム間連携
  4. テクノロジーアーキテクチャ(TA) : 非機能要件, プロダクト標準

 

さて「順番」の話をしよう。

もしあなたが SE さんだったら順番の重要性はわかるだろう。要件定義 → 外部設計 → 内部設計 → 試験 の流れのように、作業工程に順番があるときは、上流のミス・変更が下流では指数級数的な作業量増加につながる。

この現象は要件定義、すなわち AA(機能) や TA(非機能) でもそうだが、より上位レイヤも同様である。つまり、あなたを苦しめる仕様変更のほとんどのトリガーは、BA(業務) が決まっていないことから出てくるのだ。

f:id:hiizumix:20180220194413j:plain

え?

業務が決まってなかったら RFP なんて出ないでしょ?

この筆者はバカなの?

BA(業務) が決まっていない?

業務が決まり、機能が決まるから RFP がでる。

普通はそう思うが、そうでないケースも意外と多い。

ユーザ企業の組織力学では RFP 記述よりも前に「納期」と「予算」が設定される。これは社内 SE と経営層の関係性の話で、山ほど言いたいことがあるので、いまはそういうものだとおもって欲しい。

そして RFP とは「納期」と「予算」を確定する手段である。その提案結果をもって go サインが降り、その後に「本当の」関係者が集められる。業務部門からすると、go も出ていないプロジェクトに人は避けないのだ。そしてそこで BA(業務)にバグが見つかる。

つまり、大半の仕様変更の発生メカニズムは、

ユーザ企業の組織力学 → BA(業務)のバグ → 仕様変更

なのである。

昔話をすると、僕が以前関わった EA 案件では 4 桁の仕様変更が発生したが、その 95% 以上は BA(業務) のバグだった。業界の商慣習・法令遵守、業務部門のアウトソース戦略との整合性、機器調達先との契約条件、ユーザのシステム操作ロケーション、業務部門の中期的数値目標などなど。どれだけ仕様変更を抑制しようにも不可避な課題がでてしまう。

 

システム開発では要件定義段階でバグを潰すのが大事だと言われる。だが実は、その要件定義の拠り所となる業務設計がそもそもバグっているのだ。そのバグ密度はステークホルダ数の二乗みたいな感じだと考えていただければいいだろう。

まとめよう。

  • EA は「業務とシステム」を 4 つのレイヤに分解しそれぞれに順番を付けた。それによると、システム開発は、BA(業務) → DA(データ) → AA(機能) → TA(非機能) 順で進む
  • だが BA(業務) のバグ密度が非常に高く、それが仕様変更に波及し、あなたは今日も家に帰れなくなる
f:id:hiizumix:20180220200516j:plain

なんで私が帰れないかは何となくわかったけどさー

それって技術じゃ解決できなくない?

 

たしかに。

できることはデスマーチになる前に BA(業務) をデバックすることだと思う。

EA 昔話はここで終わりにして、別エントリで "勘所" を共有したいと思う。

補足事項

念のため 2 点補足する。

  • POA を復権させる意図ではない。実装は SOA なり MSA なりでやるのが現代的だと考えている。ただユーザが理解できるのは POA のみ。
  • 上記の流れはいわゆる SoR(mode1) 案件の話である。SoE(mode2) 案件では経験上、逆の TA → AA → DA → BA 順がうまくいきやすいと思う。いずれも順番は大事だ。

おわり。

図解入門よくわかる最新エンタープライズ・アーキテクチャの基本と仕組み (How‐nual Visual Guide Book)

図解入門よくわかる最新エンタープライズ・アーキテクチャの基本と仕組み (How‐nual Visual Guide Book)