IT記者会Report

オリジナルな記事や送られてきたニュースリリース、セミナーのプレゼン資料など

派生開発カンファレンス2013に行ってきた(3)

 エンベデッド系プロジェクトへの適用が活発なようだが、ビジネス系アプリケーションに適用できるのはいうを待たない。筆者も(というのは口はばったいし、やや不遜だが)、メインフレーム全盛の1980年代後半から、「開発より運用が大事」「運用フェーズから開発プロセスを考える」「これからは運用しながら機能を改善・追加していくメンテナンス型開発が主流になる」などと書いてきた。XDDPはまさにその妥当性を裏付けてくれたことになる。「ゼロから作る」から「動かしながら改善を重ね発展させていく」という考え方への転換が必要だ、と改めて感じたカンファレンスだった。


 
 筆者が面白いと感じた発表論文「XDDP導入を断わることのできない提案」の詳細な資料(論文)が手に入ったので、それを書き足しておく。
 この論文は派生開発推進協議会の第1研究会「障害の克服方法」で、その概要には、
 XDDPは,従来の「変更箇所を見つけ次第コーディングする」という開発スタイルとは異なり,できる限りコーディングを留保して,変更箇所のレビューを徹底実施するという方法である.それは,従来方法の大きなパラダイムシフトといえ,導入提案で大きな抵抗を受けやすい.一方,人が変化に抵抗には6つの階層があるといわれ,それを順番に解消するURO(Un-Refusable Offer:断わることのできない魅力的な提案)という方法がある.本論文では,XDDPのUROを実現するマフィアオファーシートを作成したので,その内容について報告する.また,作成したシートを用いてXDDPの導入提案を試行し,87%の対象者に導入の動機付けできた.
 とある。
 発表を聞いたとき、印象に残ったのは「マフィアオファー」という言葉と、「6階層の抵抗」という分析だった。しかし改めて論文を読むと、そうした考察をもとにして「マフィアオファーシート」を作成したこと、そのシートを利用することで大きな成果が出たことがポイントだったのだ、と理解されてくる。
 6階層の抵抗について、発表のプロジェクター資料では「問題」「方向性」「解決策」「副作用」「障害」「恐怖」と表現されていたが、論文では「問題の存在を認めない」「解決策の方向性に合意しない」「解決策が問題を解決できると思わない」「解決策を実行すると副作用が生じる」「解決策の実行を妨げる障害がある」「未知のことへの恐怖がある」と記述されている。これなら分かる。発表でも同じことを言っていたのだろうが、筆者は講堂2階席から写真を撮っていたので聞き逃した可能性がある。
現場のエンジニアや管理者は、得てして自身が経験したことのない手法を用いることに怖気ずくものだ。「未知のことへの恐怖」は極端な表現で、実際は「自信がない」「自信を持って“大丈夫だ”と言えない」というようなことだろう。しかしそれを認めたくないので、「お前、なに言ってるの。プロジェクトに問題なんか発生したないじゃん」と反論したり、問題があることは認めても「そういうやり方で解決するとは思えないな」と個人的な感想で抵抗しようとする。客観的な評価でなく、感情的・思想的な拒否反応といっていい。
論文はさらに続けて、次のように分析している。
 
 【第1階層】問題の存在を認めない
 「問題」の捉え方の違いに起因する抵抗.そもそも「問題」とは思っていないものを他者から指摘されても素直に認めることはできない.「問題ではない」という意識は強く根深い場合が多く,抵抗の最初の階層として位置付けられる.関係者間で別々の問題認識をしている場合,解決そのものも実行困難である.
 【第2階層】解決策の方向性に合意しない
問題の存在について合意を得た次に発生する抵抗は,解決の方向についての意見の相違に起因するものである.特に複数の部門が関係する問題では各人の所属部門の利益を優先し,解決策の方向性に抵抗を示すことが多々発生する.
 【第3階層】解決策が問題を解決するとは思わない
提案されている解決策(例えば,XDDP)が本当に問題を解決できるかという疑問に起因する抵抗である.「ウチは特別だから,その方法では解決できない」といった類いの抵抗もここに含まれる.
 【第4階層】解決策を実行すると副作用が生じる
解決策の実行によって発生すると予想できる副作用も抵抗の大きな理由となる.例えば,「実行すると効率が下ってしまう」「実行すると工数が増えてしまう」といったものである.
 【第5階層】解決策の実行を妨げる障害がある
副作用がないことがわかると,次に実行を阻害する障害の懸念が発生する.「技術力がない」「社内ルールがあってできない」といったものである.
 【第6階層】未知のことへの恐怖感がある
人が持つ本能的な「変化」への恐怖心に起因する抵抗である.例えば,「実行すると何が起こるかわからないからやらない」といったものである.

 第1階層、第2階層の抵抗を取り除くには、「問題がある」ことを共有すること、「この方法でなら解決できる」という認識を共有することだが、第3階層以後の抵抗の乗り越えるのはなかなかたいへんだ。ところがその手法(ここではXDDP)の特性や効果などを理論的に説明することによって、もしくは実効を示すことによって、次第に合意が形成されていく、という。筆者なりの解釈を加えると、アーリーアダプターの育成と認識の拡散、スモールスタートによる短期の効果実績ということだろう。
 以上を一つにまとめたのが上の「マフィアシート」だ。これに沿って項目を埋めていくと、問題の所在や課題が見えてくる。同時に意見交換の基軸にもなる。前述したように、派生開発カンファレンスはXDDPのウエイトが大きいが、ここで行われている研究や議論はシステム設計/ソフトウェア開発における工学的アプローチとして共有できるはずである。未参加のソフトウェア・エンジニアやソフト会社経営者に、「ぜひ一度」と声をかけたい。