はじめに、音楽業界の皆様に謝らせてください。半端な知識でこのようなタイトルをつけてしまい申し訳ございません。
でも、似てると思ったんです。
私の体験談を書かせてください。
お伝えしたいこと
- 曲の制作とアジャイル開発の共通点
- 属人性の重要さ
曲の制作とアジャイル開発の共通点
私はFIXERに入社する少し前まで、5年ほどギター教室に通っていました。そんなある日、先生から、「録音実習というのがあるので来てみない?」と言われ、参加してみました。そこでは超短時間のスプリントをガンガン回すアジャイル開発ともいえる現場があったのです。
作曲コースの生徒さんが作った譜面(ただし、テンポとコード進行と要点だけ書いたもの)をギター、ベース、ドラム、キーボードの熟練した先生方、またはそのお弟子さんが初見演奏で弾いて録音する、というものです。
最初に譜面を見るのが5分、1回の演奏が曲によりますがだいたい4~5分程度、演奏の良し悪しやコードのミス等を修正して再演奏を2~3回くらいで、1曲に対して30分くらい(※)で曲を完成させます。
これってアジャイル開発っぽくないですか?
1回のスプリントが10分程度という恐ろしいサイクルですが、まずは要点を絞った設計書(少ない情報量の譜面)を元に作ってみて、問題があれば修正を繰り返す、という作業です。
これを朝から夜まで曲を変えて延々と繰り返します。すごい……
※ ちなみに通常の曲の制作はこんな短時間ではやらないです。あくまで実習なのでこの期間です。
属人性の重要さ
繰り返しになりますが、私の先生はこの録音実習に際して、全くの初見演奏で対応されていました。デモ音源などは聴いていないです。
譜面に書かれたテンポやコード進行のみから曲調を把握し、ギターのどのあたりのポジションを使って弾くか、アドリブはどういう作戦でいくかを一瞬で判断して演奏開始します。これは膨大な経験の積み重ねが無ければ不可能です。私も比較的簡単な進行の曲で演奏にチャレンジしましたが、コードを追いかけるのでやっとのことでした。
ソフトウェアにおけるアジャイル開発も同じくスプリントを回していくためにはスキルの高いメンバーが必要です。楽器の演奏とソフトウェア開発に必要なスキルは異なるものの、どちらもハイレベルな技術と豊富な経験がスプリントをスムーズに回すための条件になってきます。1か月くらい研修でC言語やりました、みたいな人には難しいですよね。
「次の開発でもアイツに参加してもらいたい」と言ってもらえるよう、技術を磨いていきたいです。