アジャイルプロジェクトマネジメントとは?
プロジェクトの途中で一度戻って何かを修正すれば、すべてのゲートを通過できるようなソフトウェア開発方法論を想像してみてください。 それは本当に大変そうですね。 他のゲートを邪魔することなく、1つのゲートだけを開けて、同じゲートから戻ってくるというのはどうでしょう。
例えば、大きなプロジェクトがあり、クライアントが何を望んでいるのかよくわからないとします。 そして、すべての工程が終了してから、プロジェクトのテストを行うことができます。 ウォーターフォール方式のような感じでしょうか?
ウォーターフォール方式は、伝統的なプロジェクトのテスト方法である。 テストは順番に行い、前のステップをクリアして初めて次の開発フェーズに進むことができるようにした。 しかし、プロジェクトが始まると要件を変更できない、テストフェーズがビルドフェーズの後にあるなど、多くの問題点がありました。
このような問題をどのように解決し、どのように柔軟性を持たせるか。 アジャイルプロジェクトマネジメントに従うことで
アジャイル手法とは、開発とテストの継続的な繰り返しを支援するプラクティスのことである。 スプリント」と呼ばれる短い開発サイクルの大きなプロジェクトに最も適しています。
アジャイルプロジェクトマネジメントの役割には様々なものがあり、プロジェクトマネージャーが含まれないものもある。 アジャイル手法では、スクラムマスターとプロダクトオーナーが役割と責任を分担する。 プロジェクト期間中、インタラクティブに、かつ段階的に要件を提供するアプローチの一種である。
従来のプロジェクトマネジメントとアジャイル手法の主な違いは、前者がプロジェクトの全過程で徹底的に従うべき詳細な計画を提示する点である。 アジャイルでは、(主にクライアントからの)要求が変わる可能性があり、だからこそ、その柔軟性がプロジェクトに活かされるのです。 なぜなら、ソフトウェアプロジェクトの要件は、市場の需要に応じて変化するのが常だからです。 クライアントがプロトタイプを出す前に要件を確定できるとは限らないので、アジャイル路線に進むことが唯一の救命策かもしれません。
アジャイルプロジェクトマネジメントは、「変化を受け入れる」ことが重要です。なぜなら、ソフトウェアプロジェクトは、顧客のニーズを理解できて初めて完成するものであり、開発段階のかなり後期でも要件が変わることがあるからです。
アジャイルは、プロジェクトをスプリントに分割し、各スプリントを数週間のサイクルに分割することで、プロジェクトの複雑さを軽減します。
これらのことを受け入れて、あなたの会社で真のアジャイルになりましょう。
1.真にアジャイルとは、会社全体で取り組むこと
アジャイルになりたければ、いつ、どこで、どうやってやるかを知らなければならない。 組織の目的を全員が認識できるように、トップマネジメントレベルから最下層の階層まで透明性を保つことが重要です。 チームメンバー一人ひとりが問題を解決し、スキルを磨くことで、生涯学習ができるようにしなければなりません。
2.スプリントでの作業
先に説明したように、アジャイル技術はスプリントが基本である。 伝統的な方法論、すなわちウォーターフォール方式では、プロジェクトに膨大なプランニングが行われるが、それはすべてリジッドなものである。 ここでマラソンをしているのですから、一時停止して自分のやったことを振り返ることはできません。 フィニッシュ地点でのみ停止することができます。 アジャイルであれば、スプリントが短いので、過去にさかのぼって間違いを修正することができます。 プロジェクトの要件が変更された場合は、それにも対応することができます。
3.スプリントレベルでのレトロスペクティブ
レトロスペクションを行うことで、スプリントレベルでのフィードバックループを行うことができるのです。 これは、チームが自分たちのパフォーマンスや過去の行動を評価するのに役立ちます。 この段階で、チームメンバーは既存のアイデアに目を通し、新しいアイデアと比較し、変更すべき点がないかどうかを確認します。 回顧の段階では、次のような問いが投げかけられる。
- 前回のイテレーションではどうだったのでしょうか?
- 何が悪かったのか?
- それを是正する方法と、それを避けるためにとるべき対策は何か
回顧は、チームが正しい道を歩むために役立ちます。
4.採用プロセスにおけるアジャイル化
人を増やすときは、アジャイル手法に精通した人を採用できれば最高です。 これなら、簡単にシステムに導入できますし、手綱を教える必要もありません。 会社の目標達成に向けて、チームが協力し合うことができるようになるのです。 ただ、新人がチームの要求に適応できるスキルを身に付けているかどうかは別です。
5.継続的に学習できる環境
アジャイルにすると、会社が変貌し、チームは継続的な学習環境に参加するようになります。 なぜなら、継続的な改善なくして、完全なアジャイルはありえないからです。 継続的に学習する環境は、Time to Marketの短縮と製品サイクルの改善に役立ちます。 継続的な改善が生まれると、「振り返り」がスムーズになり、製品はより良い状態でリリースされ、ビジネスが成功する態勢が整うのです。
6.カイゼン組織への転換
カイゼン」とは、日本語で「良い変化」という意味です。 アジャイル手法を実践することで、常に改善と変革が行われ、それはCEOから会社の新入社員に至るまで、階層的に実行されるのです。 カイゼンを通じて、会社はより働きやすい場所になり、人々はイノベーションを起こし、新しいアイデアを試し、あらゆる段階で改善の機会がある。 カイゼンは、問題を閉ざされた扉ではなく、チャンスの窓として考えることを可能にするのです。
まとめ
アジャイル開発では、顧客満足を最優先し、環境の変化を製品の競争優位につなげるチャンスととらえます。 ステークホルダーと開発者の双方が新しい関係を育み、日常的に密接に連携しているのです。
アジャイルは、リソースの無駄を最小限に抑え、もちろんターンアラウンドも早くすることが可能です。 ここでは、組織で使用できる一般的なアジャイル方法論を紹介します。スクラム、カンバン、リーン、動的システム開発モデル、クリスタル、スクランバン、ラピッドアプリケーション開発、機能駆動型開発です。
興味深い記事:
このタイプのプロジェクトマネジメントは、あなたのチームにどのように作用するか
アジャイルプロジェクトはどのように管理されるか
画像出典Flickr.com/ Luca Mascaro/ visualpun.ch
著者:Reema Oamkumarは、YUHIROグループの一員であるwww.Software-Developer-India.comでソートリーダーとして従事しています。 YUHIROは、IT企業、代理店、IT部門にプログラマーを提供するドイツとインドの企業です。