今日は、アジャイル開発のスプリントについてまとめていきます。
スプリントとは、期間の事です。たいてい2週間の単位で設定されます。
スプリントが終わった時に、動くものができている必要があります。
なので、機能が大きい時は、タスクを細分化して、ここまでの機能なら、スプリント完了時に動かすことが可能!。という目処を立てて、工程を細分化します。
これがウォーターフォール開発との大きな違いです。
ウォーターフォール開発では、機能の実装に時間がかかると、当然、それを実装する期間も伸びます。そして、どこまで作ると動作検証可能か?という観点からは考えていません。あくまでも最終ゴールに向けて開発します。それで、できたものを見せた時に、依頼主にそれは違う!といわれて、トラブルになります。
アジャイル開発では、この2週間というスプリントごとに、動作可能なものができますので、プロダクトオーナーは、動きを確かめることができます。
もし、スプリント単位で動くものを見た時に、希望に沿ったものでない時や、追加の機能がほしい時に、早い段階で気づくことができます。これがアジャイル開発の魅力です。
スプリント完了時に必要な機能をまとめたものを、インクリメントと言います。
インクリメントとは、過去に作ったものと、今回のスプリント完了後にできた機能を一覧にしたものです。
それを見ながら、今後の開発の方向、機能、すべき内容を決めるのです。
これは、開発チームが作ります。
そして、2週間に一度のミーティングで、レビューしてもらいます。
スプリントレビューの時に、プロダクトオーナーは、利害関係者を呼んで一緒に確認します。
例えば、社内の製造管理システムを作る際には、実際にそれを使う人達を呼んで、チェックしてもらいます。
実際に現場で使う人が使いにくいと、それはシステムを発注した意味が無いですね。
また、アジャイル開発では、スプリント完了時に、動作検証可能なものができます。ですからソフトウエア開発について、全くの素人でも、それが実務に役立つか?、そうでないか、どのような改善が必要か?ということがわかります。
それを共通の机の上で協議することができるのです。
たくさんの良い点がある、アジャイル開発ですが、なぜ、既存のウォーターフォール開発と置き換わらかったのでしょうか?いまどんどんアジャイル開発に移行していっていますが、欧米などと比べてかなり遅く導入されつつあります。
それは、日本固有の文化によると思います。
日本では、立場が仕事します。大手企業の部長の役割は、その下につく有能な部下をうまくまとめることにあります。よって仕事が全くできなくても、優秀な部下がいるために、仕事をこなすことが可能です。
私も、実は、大手企業の部長をやめた人と一緒に仕事したことがあるのですが、あまりの仕事できなさ加減に驚いたことがあります。
あの企業で、部長まで行った人なのに、、、、??
以前のIT担当大臣が、パソコンを使えない!と海外メディアに酷評されていました。海外では、その仕事に精通して、能力の高い人がそのポジションに付きますから、全く理解できないわけです。
でも、日本人ならわかります。日本では、立場が仕事しますので、優秀な官僚がいれば、誰が大臣になろうか、関係ないのです。
ちょっと、話がそれてしまいました。
今日は、アジャイル開発のスプリントについて考えました。
2週間という短い単位で、動作検証可能なものができ、また利害関係人に確認してもらうことができるので、よりよいプロダクトができることがわかりました。
次回は、このスプリントをうまく回すことについて考えてみたいと思います。