アジャイルの人たちは自分の優秀さに気づいていない
アジャイル手法を実践できるプロジェクトは恵まれている。それは、「理解ある管理者」がアジャイル手法を了承してくれたからではない。管理者がそう判断できるほどに参加メンバーが優秀だからだ。
アジャイルの特徴のひとつが「少数精鋭」である。いっぽう、アジャイルの対立手法として理解されているウォーターフォール型手法では「人海戦術」で進められる点が対照的だ。じつは「少数精鋭」というのはアジャイルの特徴であるだけでなく、あまり触れられたくない弱点でもある。なにしろ「精鋭」しか関われない。
しかしアジャイル手法の推進者は、自分が優秀であることをそれほど意識していない。それどころか彼らは「いえいえ精鋭である必要はありません。じっさい私はアジャイルが大好きですが、凡庸な技術者ですよ」と自嘲的に語るだろう。そしてそれは本心でもあるだろう。なぜなら、彼らは「超」がつくほど優秀な技術者たちがいることをアジャイルコミュニティで身近に見聞きしているからだ。しかし、自分がアジャイルでやれると直感できているゆえに、じつは彼らはふつうに優秀である。
どういうことか。「少人数開発と能力プール」でも書いたように、少数精鋭型プロジェクトに参加する技術者は、人海戦術型プロジェクトに参加する技術者よりも「多能工」であることが要求される。「不得意な部分があれば互いに補い合えばいい」という温情あふれた配慮が通用しなくなるのが「少数精鋭」である。
「多能工」であるとは具体的にはどういうことを言うのか。販売管理システムや生産管理システムといった業務システムの開発においては、少なくとも以下のスキル要素が、ひとりの技術者の中にバランス良く配備されていなければならない。
・業務知識
・設計スキル
・実装スキル
・社会性
1回のイテレーションでこれらすべてが行使される。簿記やドメインの基本知識がなければユーザから信用されない。DB設計や業務設計が不如意なら基本骨格が固まらない。プログラミングに秀でていなければ、正確さと保守性を確保した形で実装できない。初対面の相手の感情の動きさえ読めるくらいでないと、「合理化される側」であるユーザから有用な情報を引き出せない。
要するに、「要件定義だけならうまくまとめられます」とか「設計だけはまかせてください」とか「プログラミングだけならバッチリです」とか、もうぜんぜんダメ。それらすべてをそつなくこなせるような技術者が、少数ながら揃っていなければいけない。それはなんと恵まれたプロジェクトであろう。彼らが求めるのであれば、管理者はアジャイル手法に上機嫌でゴーサインを出すだろう。当然のようにそのプロジェクトは成功するだろう。
私は、それゆえにアジャイルが非現実的だというつもりはなく、歴史的必然なのだろうと感じている。けっきょくのところ、アジャイル手法を含めて様々な形で生産性向上が図られることで、システム開発は「少数精鋭」を指向せざるを得なくなると考えるからだ。それこそメンバーが実質的に1名であるような「単独精鋭体制」も珍しいものではなくなるだろう。
どういうことか。事務作業のシステム化が始まった頃、わずかしかいなかった開発者は例外なく多能工であった。システム化の需要が急増する過程で、開発作業の分業が一挙に進んだ。しかし時間をかけて合理化が追いつくことで、わずかの開発者でまかなえるようになる。結果的にひとりひとりが多能工であることが求められる。一周して元に戻る形だが、同じ場所ではない。螺旋のようにレベルが一段も二段も高くなっている。
ゆえにソフトウエア技術者は、自分が不得意と思われる部分を補完するための学びを怠ってはいけない。少なくともそんな学びが楽しいと感じられるくらいでなければやってられない。我々はそんな時期を迎えている。アジャイルの台頭はそのひとつの前触れでしかない。
| 固定リンク
この記事へのコメントは終了しました。
コメント