概要
まずお断りしますが、タイトルが匂わせている通りまったく技術的な記事じゃないです。音楽的というのも怪しいしQiitaにこんな記事書いたら怒られないだろうか?と思いつつ、
眠れないある夜の、一人ゆるふわブレインストーミングをまとめました。
webサービスの開発をしてると音楽活動に似てるなぁって事柄とよく遭遇します。
最近、SPA開発にスキーマ駆動開発なる手法が良さそうと聞いて、調べつつどんなものだろうか?と考えた時に、音楽活動の構造に当てはめたら個人的に楽しかったので、そんなお話です。
登場人物と作業を整理
それぞれの活動に出てくる登場人物と作業を構造が似てる同士でマッピングしてみます。
あくまでも「雰囲気似てる」です。
登場人物をマッピング
on ボーカル デザイナー
on ギター フロントエンドエンジニア
on ベース バックエンドエンジニア
on ドラム インフラエンジニア
4人バンドになりました。
某バンドのようにボーカルが作詞作曲して歌も歌い、他のメンバーがそれぞれ担当のパートをアレンジしていくという事にします。
が、スキーマ駆動開発に主に関わるのはフロントエンドとバックエンドと思われるので、そこを念頭に置いて下さい。
主な作業をマッピング
ワイヤー作成 = 曲構成
デザイン作成 = 作詞・作曲
フロントエンド設計・実装 = ギターアレンジ
バックエンド設計・実装 = ベースアレンジ
インフラ設計・構築 = ドラムアレンジ (これしっくりこないな)
なんとなーく、このメンバーと作業でお客さんにお届けできそうな気がします。
音楽的スキーマ駆動開発 〜スキーマは編曲だ〜
この4人バンドはボーカルが作詞・作曲・曲構成を作ってメンバーにデモ音源を渡します。
これまでは時間に余裕があったので、新曲ができる度に一緒に音を合わせて、微調整をしながら一曲一曲作り上げてましたが、最近は忙しくなり一緒に合わせられる時間が減ってしまいました。
これではコンスタントに曲を作れないです。
そこで、ボーカルのデモ音源を元にして、それぞれが個別にアレンジを完成させた状態で合わせる事にしたのですが、「ここはこの音を使われちゃ困る」「ここはこのリズムに合わせて弾いてくれ」など、まとまりがありません。
お客さんを喜ばせるクオリティにするには、せっかくそれぞれが作り込んだフレーズも修正する必要が出てきました。
さぁ、この悲しい無駄骨を解消するにはどうしたものか。
一つの解決策が「スキーマ駆動開発」です。つまり音楽的には「曲全体のアレンジを先に決めて、それを元にそれぞれのパートのアレンジに取り掛かる事」です。
ここはこのリズムで、ここはこの音を必ず弾く、ここは誰も弾いちゃダメ、などキメ事をはっきりさせます。
このキメ事はそれぞれの役割毎に事情があるので、ギターアレンジからの視点とベースアレンジからの視点、どちらも合意が取れている必要があります。
逆に言えばキメ事以外はある程度自由によろしくという具合です。
恐らくこのキメ事の設計次第で効率も、仕上がりも変わってくるのではないでしょうか。
最後に
もっと細かい事とかも書こうとしてましたが、自分何やってんだろうってふと思った瞬間に眠くなったので、ここまでにさせて頂きました。
共通点や相違点を見つける能力はきっと大事🙄