どうやって糸口を見つけるか?

たまにコンサル案件の中に「どうしよう」と頭を抱えるケースがある。

例えば以下のような状況の時

 ドキュメントは揃ってません
  ソースと対応していない(メンテナンスされていない)
  文書ファイルが古いフォーマットで読めない

 ソースコードは当てになりません
  どれが最新のソースか分からない
  あまり聞いたことがない言語で書かれている

 現場の担当者はシステムについてよく知らない
  この機能が何のためにあるのかを説明出来ない
  システムに合わせてその範囲で業務を回している

などなど このような状況の中で低コストでシステムを再構築する必要がある場合です。
このように「ないない」尽くしの案件はほんとに頭を抱えてしまう。

このような時は基本の基本に戻って考えるようにしている。

つまり以下のように考える。

 システム:入力→プロセス→出力

 システムは入力と出力がありプロセスはそのつじつまを合わせる
 入力と出力にタイムラグがあるからデータを永続化する
 「入力→プロセス→出力」は入れ子の構造である

このように考えて対象システムに当てはめまる。
そして5W1Hで今何をすべきかを考えると少しづつ解決策が見えてくる。

以下のサイト(ken's roomさん)でこの考え方に便利な整理方法が示されている。

http://d.hatena.ne.jp/KenichiroMurata/20100116/p1

3*3で表現しマンダラアートと対応させているところが面白い。
こういうフォームがあると短時間で整理出来るのでフォームを知っていると重宝する。

次回機会があったら使ってみたい。