アジャイル開発をやっていて、なかなか生産性があがらなくて、ジリジリすることがある。
WBS引いて、非アジャイルに開発してたら、とっくに終わってたな・・・という状況だ。
この状態がなぜ起こるのか、考えてみた。
非アジャイルでは、開発する機能に対して、すでに開発工数が見積されていて、作業時間が限定された状況なので、 もしも、限定された時間内に開発を終わりそうにない場合、終わらせるためにはどうしたらいいかを考えて、 多くの場合は削減できる作業を切り出して、やらない選択をするか、あるいは、仕様調整の相談をして、作業を軽くする。
それに対して、アジャイルでアジリティが低いときは、次のような思考で、計画を立ててしまっていないだろうか?
「次のイテレーションで開発するストーリーには、こういう作業があって、これくらいの工数が必要だ」
そして、その作業に必要な工数で、そのまま計画してしまう。
この思考の中には、無駄を排除するというリーン思考が欠けている。
- 「この程度の機能の開発に、こんなに時間をかけて良いんだっけ?」
- 「この工数のかけ方は、ユーザーが望んでいることなんだろうか?」
といったことを考えずに仕事を進めると、アジャイルとは真逆のファットな開発になることがある。
本来、アジャイル開発は、リーン思考で取り組むことが大原則なのだから、常に「無駄を排除する」視点を持って、スリムに仕事することを忘れないようにしたいものだ。
丁寧な仕事をしたら評価を得られるというわけではない。
多くのユーザーが期待していることは、"丁寧に開発する" ことではなくて、 "早く開発する" ことなので、それだと、いつまで経っても、評価は得られない。
ユーザーからすれば、早くローンチできると、そのシステムから売上が生まれたり、コスト削減効果が出るわけだから、1日でも早くリリースすることには、システム投資を早く回収できるメリットがある。
ユーザーが期待していることが何かを見定めて、その期待値に合わせて、計画を立てるようにしたいものである。
ちなみに、一人アジャイルは、すごく危険だ。
この原則を忘れてしまうので、アジャイル開発は一人でやらない方がいい。
関連記事
- 2018/07/18 全文検索を自社サイト・社内サーバーに構築したいクライアントのための留意点 システム開発における「全文検索」の実装方式・コスト・性能に関して、クライアント企業の方にも腹落ち頂けるようまとめました。grep型と索引型の違いに関する平易な解説を記載しているので、これらをクライアントに解説されたい開発者にもオススメです。
- 2018/03/05 開発効率化をもたらす、プロジェクトマネジメントのためのツールとTIPS 「開発フローにおけるボトルネック」の解消をテーマに、プロジェクトマネジメントのためのツールの役割を整理してみました。チケット管理ツール・ガントチャート・チャットツールをそれぞれ位置付けたのち、最後に「技術力による解決」に触れます。
- 2018/03/02 「ボトルネック」の辞典作ってみた。システム効率化のための諸概念を整理する システム開発におけるボトルネックは「システム全体の処理においてもっとも負荷がかかり、全体の処理速度を決めてしまう要素」を指します。エンジニアがボトルネックを見つけるためのヒントとして、諸概念に関するボトルネックをまとめてみました。
- 2018/02/01 利益管理のためのデータ可視化 技術者にできる事は何か? データ可視化は科学技術分野において発祥した技術であり、与えられたデータから自動的に「見やすい図示」を出力するアルゴリズムを指します。データを見やすくし、ビジネスの意思決定に活用するという観点から手法を紹介し、R言語によるデモを行います。
- 2017/12/28 機械学習・統計学・最適化の違いについてまとめてみた 「機械学習」という手法は、システム開発の現場で用いられる事例が急増しています。一方、「統計学」という分野も機械学習と同様にデータを扱い、やはり多数の事例があります。本記事は「機械学習と統計学の違い」について整理することを試みます。