いまさらアジャイル開発?
世の中でDXがもてはやされて以来、アジャイル開発という言葉が広まり、今更ブログに書く意味もないなと思っていましたが、外部のアジャイルコミュニティに参加していると、
「アジャイル開発を始めたいんですが何から手を付けていいかわからないんです。」
「社内で反対にあって説得できず困っているんです」
などの相談が溢れているため、自分が経験したことが少しでも役に立つのではと思い、書いてみようと思います。
はじまりは底辺から
私がアジャイル開発に取り組むようになって早2年が経とうとしています。
歴史が長い日本の大企業でかつハードウェアを中心に扱うメーカーにて、一人で0からアジャイル開発の推進活動を始めたため、最も困難な立ち位置からのスタートでした。
なんせ、ゴリゴリの既存ウォーターフォールで成り上がった会社のため、社員は今のやり方が体に染みついており、簡単には方向転換できない状況でした。
某有名自動車メーカーの役員達は、他社のアジャイル開発の現場を見て、
「うちではできっこない、やらない、できない」理由をとにかく探して回って満足げに帰っていったそうです。
結局何から始めればよいか?
アジャイル開発をする上で、「何から始めいいかわからない」よくある質問の一つです。
アジャイル開発は基本チームでするものなので、始めるためにはまず相手を巻き込むことから始まります。
IT系ベンチャーであれば、アジャイル開発はもはやデファクトスタンダードなのでチーム員を誘うのは簡単でしょう。ところが、古参の日本メーカーだとメリットがわからないものをいきなりやってくれと誘われても誰も乗ってきません。
「それってソフトウェアの分野で流行っているやり方でしょう?うちでは無理だよ」
まず、これを言われて終了です。心の窓が閉まっているので以降何を言っても響きません。
つまり、巻き込むためには「なぜ今それをやらなければいけないか」のWHYを伝えることから始まります。これは人を動かすための3原則の中でも最も核となるもので、やる理由を納得できていないとそのあとのHow,Whatの話が入ってこないんです。
よくあるアンチパターンが、Whyをすっ飛ばしてHowだけ教えることです。
アジャイル開発の中で最も有名なスクラムはフレームワークが決まっているため、Howからいきなり始める人が多い印象です。元々モチベーションが高いチームであればそれでも構わないのですが、遅かれ早かれWhyを抑えておかないと、「あれ?俺なんでアジャイル開発なんてやってるんだっけ?」になってしまいます。
Whyを説明するポイントは、事実と課題について伝えることです。
事実は他社にシェアをどんどん奪われているなどの客観的かつショッキングなデータが最も効果的です。その事実に対してどうしてそうなっているのかの課題を提示して、だからアジャイル開発が必要なんだという流れで説明すると相手も徐々に腹落ちしていきます。
君、アジャイル開発すること自体が目的になっていないかい?
遠回りでもアジャイル開発のマインドを抑えておくべし
じゃあ、自分達が直面している課題とアジャイル開発をどう結びつけるかですが、これにはアジャイル開発が何のために作られたかの考え(マインドセット)を抑えていないと、うまく理由付けができません。アジャイル開発のベースにある考え方とはリーン(トヨタ生産方式)にあります。
1.ムダをなくす
2.品質を作り込む
3.知識を作り出す
4.決定を遅らせる
5.早く提供する
6.人を尊重する
7.全体を最適化する
これを日々の行動に落とし込んだのがスクラム、技術的なノウハウに落とし込んだのがXP(エクストリームプログラミング)になります。
マインドの上にスクラム、XPが成り立ってこそ初めてアジャイル開発が成立します。
それぞれについての詳細は別記事で解説してみたいと思います。