アジャイルをするのに必要な技術スキル
「アジャイルにはメンバーの高いスキルが必要なんでしょ?」
という企業は大抵レベルが低い。
という話についてこの前友達と話した。
「じゃぁアジャイルに必要なスキルって何なの?」
ツールや手法をまわすスキル?TDD?CI?
いずれも必須ではない。なくてもアジャイルはできる。
(あったほうが絶対いいよ、とは言われるが)
では何が必要か。
マインドはこの際問わないものとする。
自分でタスクを選ぶ能力もアジャイルをまわす中で育つものとする。
では技術スキルは何が必要か。
顧客の「こういうのほしいんだよね〜」というふわふわした要求を受け取って、プロトタイプやデモを見せながら、
「自分ひとり」で「分析、設計、実装、テスト」ができること。
当然DBは自分でCreate文書けるし、「なぜここは正規化崩しているの?」ときかれてもすらすら答えられないといけない。
テストだって正常系も異常系も自分で設計して書けること前提だ。
という見解を示したときに全員にできるか?と聞いたら全員が「できる」一部は「やったこともある」という回答だった。
そこでさらに質問。「では会社の同僚はできるか?」
ここは3つに分かれた。
「できないやつはうちにはいません」
「一部はできる」
「分業すればできるが、一人では無理だ」
一番上はアジャイル実践済みの会社。
下2つは残念系SIer。弊社も一番下かな。
御徒町さんが( http://bit.ly/yvAYPf )でふれているけどSIerには上から下まで出来る人材はもうほとんどいない。
だから平然と「アジャイルにはメンバーの高いスキルが必要なんでしょ?」と発言できる。
「設計からテストまで」を行える能力はすでに「高い能力」に見えるくらい平均値が低下している。
SIerはこういう。
「分業しているから専門家ばかりなんです」
オーケー。分かった。
だがそれには2つの問題がある。
・その方法だと開発の金額が下がらないが、その額を出せる顧客を継続的に確保し続けられるのか?
・専門家というほど、高いスキルを持っているか?特に金額に見合う、という意味で。
特にオチもない。