TamaCona Engineering

ETロボコン、ソフトウェアエンジニアリングの話題など。

私とアジャイルとの出会い(3)

前回のエントリ、私とアジャイルとの出会い(2)で紹介したプロジェクト。
ウォーターフォールしかできない開発業務にアジャイルの要素を組み込む、という取り組みはある程度の成功をおさめました。まあ細かなところでは、ここには書けないような厄介な問題も起きて、かなり苦労したのですが、やらなかったよりはうまくいったのでは、と思っています。

さて、前回エントリの終わりに書きましたが、このプロジェクトで得られた嬉しい誤算、それは

「メンバーの成長」

です。

経験の浅いメンバーで、当初は不安視する向きもあったのですが、開発が進むにつれ、二人ともどんどんスキルアップしていき、開発終盤ではお客様や会社の上司からも信頼されるほどの存在になっていきました。

これはもちろん本人たちの能力の素晴らしさや頑張りが一番大きかったのだと思いますが、もしかすると次のような点が彼らの成長を促したのかもしれません。

  1. インプットとアウトプットの機会が多かった。
  2. メンバーに作業を任せることができた。

成長の理由(1):インプットとアウトプットの機会が多かったこと

仮に伝統的なウォーターフォールで1年間開発を行ったとすれば、設計、プログラミング、テストの工程は1年に1回しか経験することができません。その経験を次回にフィードバックできるのは、さらに1年後になってしまいます。

今回は各プロセスを小型化し期間も短くしましたから、1年のうちに何度も工程を経験することができました。つまり1つの開発案件にもかかわらず、複数の開発案件に従事したかのような効果が得られたのではないかと思います。

成長の理由(2):メンバーに作業を任せることができたこと。

プロジェクトリーダーにとって、メンバーに作業を任せることは意外と勇気が必要なもの。ついつい「自分でやった方が早い」と、作業を抱え込んでしまいがちです。その結果他のメンバーが抱えている問題もフォローしきれず、自分の作業も遅れてしまう、という状況に陥ってしまいます。私の初めての炎上プロジェクトもそのパターンでした。

しかし、今回は本人たちに思い切って作業を任せることができたように思えます。それがなぜなのか考えてみたのですが、

朝会やタスク管理などにより「プロジェクトの状況が見える化できていたから」

ではないかと思います。

プロジェクトの状況が把握できていますし、短い頻度で確認していくので、作業を任せて問題があってもすぐにフォローすることができます。それがる安心感につながり、作業を任せることができたのだろうと思います。
そうして作業を任せるから本人たちにも責任感が生まれ、スキルアップや成長に繋がっていく、というわけです。

「任せる」と「丸投げ」は違う

念のため断っておくと「任せる」というのは「丸投げ」とは違います。
曖昧なまま作業を指示し、経過もフォローせず結果だけを求めるのが「丸投げ」です。
作業を始める前は本人たちと目的や方向性についてじっくり話し合い、最終的に何がどうなればよいのか確認しあった上で作業を「任せる」ようにしていました。事前に意識を合わせておいたおかげで、おかしな結果になることは少なかったですし、問題が起きてもすぐに報告してくれたので、迅速に手を打つことができました。

このように、アジャイル的な開発手法は人の成長を促す、という効果もあるのだなと感じました。

その後

数年後そのプロジェクトは解散し、当時のメンバーは別のプロジェクトに移りましたが、皆さん腕利きのエンジニアとしてバリバリ第一線で働いておられます。

昨年ぐらいだったでしょうか。そのときのメンバーのうちの一人が転勤することになりました。能力を買われての抜擢です。

送別会の二次会、彼と当時のことについての話になりました。
結構酔っていたので、はっきりは覚えていないのですが、このとき確か彼はこんなことを言ってくれました。

正直、あの当時はリーダー(私)がなぜこんなことを言うのか分からないまま、やっていた部分もありました。でも、その後別のプロジェクトに移り、自分たちで開発をやってみて、初めてその意味がわかったような気がします。
この経験を活かして、次のところでも頑張ります。

いまそう感じてくれているのなら、やってきたことは間違ってなかったのかもしれないですね。

〜おわり〜