最近読んだこの記事の内容がかなり共感しました。
(多分、アプリ開発やソフト開発の仕事をしている人は共感できることが多いと思う)
アプリとかソフトウェア開発の手法といえば
ウォーターフォール型(基本設計からテストまで順番に進んでいく)とか
アジャイル型(基本設計からテストまでを繰り返し行う)がメジャーですが、
こちらの記事ではメテオフォール型という新しい開発手法(基本設計からテストまでの工程やサイクルを神(クライアント?)が全て破壊する)を定義されてます。
(フィクションって書いてあるし、半分ネタ的な話だけど)
今まで僕が関わってきたアプリ開発の仕事って、ほとんどアジャイル型だと思っていたんですが、この記事を見て、
「僕の関わってきた仕事ってほとんどメテオフォール型だったんじゃないか?」って思えてきます。
アプリ開発は進めながら仕様が決まる場合が多い
今までアプリ開発の仕事をしてきて、ある程度仕様がまとまってきて、アプリもだいたい出来上がってきた段階まできているにも関わらず、クライアントからの神の一撃でひっくり返るってことが多々ありました。(まさにメテオフォール)
家を組み立てるような建設系の仕事だったら、最初にきちっと設計してから作るってことが多いからそんなことになりづらいと思いますが、
アプリ開発の場合って出来上がってみないとお客さんのイメージにあっているかわからないって場合が多いから、仕様違いが結構発生するのかもしれない。
メテオフォール型の開発手法にならないためには神の動きを制限できるようにすることが重要
メテオフォール型にならないためにどうすればいいかを考えると、
やっぱり「神(クライアント)の動きをコントロールできるようにする」ことが重要なのかなって思います。
クライアントを自由にさせすぎると、彼らは行動力を増し、天地をひっくり返すような一撃を与えてきます。
なので仕様の取り決めを早い段階できちっと決め、動きを制限していくことでメテオフォールになることを極力さけられるんじゃないかと思います。
ただ、仕事によってクライアントの攻撃力が全然違ったりするので、クライアントの戦闘力をあらかじめ察知する能力や、クライアントをコントロールするためのテクニックが重要なのかなって思います。