アジャイルとかスクラムとか開発手法ばっかり気にしていても何も解決しない。

f:id:hrmch-ioii:20170612164224j:plain

ぼくはフリーランスエンジニアとして、週3日ほど企業に常駐して働いている。

その前までは、正社員としてチームを持ってアプリ開発していた。

今働いてる現場でも、前の会社でもそうだったが、

みんな方法論が好きだ。

アジャイだの、ハイブリットアジャイル、スクラムかんばん、リーンかんばん…

どれでやる?みたいな話が議論の中心だ。

その議論はなんの意味があるのか、正直ぼくには理解できない。

もちろん、しっかり議論中にマネージャーに意見させていただいた。

その議論意味ありますか?なにがしたいのですか?と


方法論は解決したいことがあるから導入するもので、

どの方法でやるかは、自分たちが抱えている問題次第で変わるはずなんだ。

だから、議論の中心は何が問題で、解決すべきもんだいなのかどうか?のはずなんだ。

解決したいことは何?そこが問題だよ

新しくプロジェクトが始まったりすると、だいたいどの方法でやる?

っていう議論が活発に行われる。

でも、ちょっとまってほしい。その議論だとだいたい失敗するから。

僕達は、どういう状態を目指していて、現状はどうなのか?

そして、目指してる状態にするための問題は何かをまず把握しているだろうか?

そこがないのにも関わらず方法論にこだわっていると、

目的と手段が逆転する現象になる。

アジャイルの開発手法に沿って開発することが目的となって、

本来達成すべき目的であるはずの、良い製品を作るためには!っていう思考回路がなくなってしまう。

開発手法は手段なんだよ。

開発手法ってのは、手段だ。

簡単な例を出すと、

魚を取るためにどうするかってこと。

釣り竿で釣ってもいいし、漁船にのって定置網でとってもいい。

なんなら素潜りしてとったっていい。

魚を得ることができたってことには、結果は変わらない。

3つとも全ては魚をとる手段だ。


アプリ開発でも同じで、どんな方法論でもいいけど

良い製品を作るための、たんなる手段なんだ。

良い製品つくるためだったら、スクラムやろうがウォーターフォールだろうがなんだっていいんだ。

そもそも方法論はなんで産まれたのだろう?

方法論ってのは、いきなりうまれたわけじゃないはずだ。

素潜りで魚をとってるやつは、1日に一匹とれたらラッキーな状態だ。

そんなやつが、いきなり

「よし!釣りをしよう!」

なんて思うわけがない。


素潜りでさかなをとってるやつは、頑張ってるのにほとんど取れないっていう問題をかかえてたはずだ。

これをどうにか解決する為に、釣りをし始めんたんじゃないだろうか?

(実際の歴史は知らないけど)

そう、どうすればこの問題がクリアできるかを考えて、

実践して、失敗して、また考えて実践して、

そしてようやく釣りという方法を見つけたはずだ。

重要なのは、自分たちの現状と作り出したい状況を定義すること

f:id:hrmch-ioii:20170612164711j:plain

素潜入りの場合は、1日に一匹取れればいい方で、

一匹採ったはいいが、むしろ体力の消耗が激しすぎてる状態。

この時の現状を整理すると、

  • 1日一匹とれるかどうか。
  • 魚を取るという目的すら達成できない確率が高い
  • 最低でも1日3匹はとれないと、自分の食事すらない

この状況で、達成したい状態を考えるとこうなる

  • 毎日魚を確実にとれる
  • 1日3匹以上とれる

この達成したい状況を考えたときに、

いきなり船作って定置網をしようなんて考えるやつはいない。

だって、一匹も取れてないやつが、いきなり大漁を目指す発想するわけもない。

船作ってる間に空腹で動けなくなっちゃうから。

できるだけ簡単な方法で、できるだけ確実に

  • 毎日魚を確実にとれる
  • 1日3匹以上とれる

状態を目指してトライアンドエラーした結果が釣りになったんだと思う。


ここで重要なのは、今の自分の現状と、作り出したい状況を把握したことだ。

アプリ開発でも、基本的には同じことが言える。

自分たちのチームの現状と作り出したい状況を整理して、問題点を洗い出す。

これをしていないと、流行ってる方法論にばかり目が行って、

一匹も魚をとることができないのに、いきなり船を作り出す。

船作ってる間にタイムオーバーで結局何もできてません状態。


例えるなら、アジャイルやってました。

アジャイル開発マスターしてる間に締め切りがきました。

これじゃあ、ユーザーからしたら何もしてないのと同じだ。

みんなが開発手法が好きな理由は、事例と答えがあるから

成功事例とか、開発手法を否定するわけじゃない。

みんなが方法論を語るのが好きな理由もわかる。

それは前例があるから向かっていった先を予想しやすい。

言い換えれば、答えがあるからだ。

こういうケースは、こうすればいい感じになったという前例がネット上などにあるから。

でも、それがうまくいく場合はほとんどない。

ドンピシャで条件が同じだったときだけ成功する。

自分たちの状況を見失わず、問題をクリアするためだけに事例や方法論は参考にする。

f:id:hrmch-ioii:20170612164306j:plain

だいたいの場合はチーム構成も違うし、なによりチームメンバーが違う。

そして目指している状態だって違う。

自分たちの現状を把握せずに、他のチームこうやってうまく行ったらしい!

ということだけで方法論を真似したってうまくいかない。

その時は、参考にするだけで、重要なのは自分たちの現状と問題点を把握して、

できるだけ確実に、できるだけ簡単に解決するために事例を参考にするだけだ。


他のチームではこうだった。

僕達だったら、この状況とこの点が違うから、こうすれば解決できるかも

ってくらいに参考にする。

方法論は問題があるから導入するものなのだ。だから問題点を把握することが重要。