■ 「経験」を形にしたものがツール一般的にソフトウェア開発の現場では、開発初期に “職人” と呼ぶに相応しいエキスパートがアーキテクチャや標準を策定し、それを元にメンバーでチームを組んで開発を進めます。そして、「困ったことが起きると、頼りになる職人がそれを解決しているのではありませんか?」という問いに大半の参加者が同意しました。 「では、その職人の後継者をどう育てようとしていますか?」と荒井は参加者に語りかけました。参加者のひとりは「『盗め』と言っている。資料はすべて見せている」と応え、もうひとりは「資料やファイルをすべて共有していますが、なかなか・・・」とその後継者育成の難しさを表情に浮かべていました。 ソフトウェア開発に限らず、意図は経験から育まれるものです。失敗を恐れずさまざまな方法を試してみることが有効ですが、失敗が許されない状況で経験を深めていけないのが現状です。そこで職人の「経験」を第三者に使ってもらうためのアクションとしてマクロやツールが活躍しているのだと解説しました。ただし、こうしたツールは保守がたいへんです。
■ DSL で後継者を育てる保守を楽にするには、図形を活用することです。意図が伝わりやすくなり、直感がひらめきやすくメンテナンスが容易になります。 Microsoft DSL Tools は図で見ることができるので、利用者が改善したいと感じれば、自分で修正することができます。メンテナーが世代交代している実例が、暗黙知の継承ができていること、つまりは後継者が育っている証でもあると言います。 便利だと思う人が利用し、自分のために改善する。考え方はオープンソース プロジェクトの始まりと同じです。より便利にしたいという思い、メンバーからの称賛、がモチベーションとなることも大きなメリットです。 「あちこちに DSL ができてしまうと収集がつかなくなるのでは?」と問う参加者に「DSL は例え 100 種類あってもかまわない。それらすべてをどう使っていくのかを決める DSL があればいい」と答えました。 ■ DSL Tools は、使い慣れると最強のツール |