わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

定跡,定石,それと手筋

(略)世の中のシステム開発が,すべてアジャイルモデルに移行したかといえば,そうではありません.歴然として,基本的にはウォーターフォールモデルの開発スタイルをとっているプロジェクトが多いと実感します.しかし,そのウォーターフォールモデルの開発も,アジャイルモデルの影響を受けて確実に変化しています.どちらがよい悪いという議論を終えて,それぞれのモデルのエッセンスを学び,それぞれのプロジェクトでやりやすい開発手法がとられるようになってきているのだと感じます.
(開発現場の掟 (プロの鉄則) エンジニアが現場で生き残るための極意 (開発の現場セレクション), p.187)

うん,まあ.

筆者はどちらの開発プロセスも,将棋でいう“定石”だと考えています.定石どおりにしか将棋を打たないで,勝負に勝つことはできません.有機的なプロジェクトの中で定石を有効に活用するには,定石の特徴を知り,必要な場面を判断して利用すべきではないでしょうか.
(同)

ここはいただけません.辞書を引けば明らかですが,「定石」は囲碁に対して使います.将棋なら「定跡」です.あと,「将棋を打つ」も間違い*1で,「将棋を指す」です.ただし,将棋の話でも「駒を打つ」なら,差し支えありません.
さて,システム開発において,ウォーターフォールモデルを採用するか,それともアジャイルモデルにするかというのを,将棋の定跡になぞらえることには,異議を唱えません.しかしソフトウェア開発に限らず,何かを作り上げるためのプロセスに関して,将棋や囲碁を使ってたとえ話をするときには,定跡・定石と異なる,見逃せない言葉があります.
「手筋」です.
囲碁の定石はさておき,将棋の定跡は,序盤から中盤までをターゲットとします.通常,スタートから,最善手とされている手順となります.そこでは盤面全体を見ます.端歩をつくことや,角の成り込みを想定して香車をひとつ上げることにも,意味があるわけです.
それに対して,手筋は中終盤で威力を発揮します.手筋は,盤面の一部を用いて説明されるのが基本です*2
指し手は自分の手番のときに,手筋を使えるか考えますが,それ以上に手筋の効用は,解説者にあるでしょう.「ここはタレ歩」だとか,「桂頭の銀」*3だとか.
そうです.手筋は,ソフトウェア開発におけるデザインパターンやライブラリルーチンのようなものなのです.

*1:ATOK 2009では《「将棋を指す」の誤用》と指摘してくれます.

*2:盤面全体を使って手筋の適用例を紹介するときには,「実戦」という言葉を伴います.実戦例,実戦譜など.

*3:「桂頭の銀定跡なり」は,格言になっています.もちろんここの「定跡」は,スタートからお互いに最善手を指しあって云々よりも,長年の対局・経験によって確立されたものという意味合いのほうが大きいでしょう.http://shougi.petanko.org/uke100-18.phpでも,手筋として紹介しています.