無料ブログはココログ

« レビューを考える - SEA関西プロセス分科会 - #seakansai | トップページ | [#TiDD] 2つのアダプタブル・ウォーターフォール開発 »

[#TiDD] チケット駆動開発で自律的な組織を目指す

自律的な組織とはリーンソフトウェア開発で「海兵隊」で示されたような、自己決定のための裁量権を持っていて、課題や問題を自らの判断で解決できる組織です。集中体制は変化に弱く、想定外の事象によって独裁国家の様に一気に崩壊する危険性をはらんでいます。これに対して自律的組織は、オブジェクト指向のメタファに用いられる多くの細胞の組み合わせからなる生命体のような構造です。各細胞に対する攻撃は、各細胞やその近隣の細胞で解決されますので、想定外の事象にも比較的強い構造といえます。

自律的組織を実現するには自己決定権を実現するための見積もり技術が不可欠ですが、ここでは単に裁量権の観点で議論してみます。

1.アジャイル開発における自律的な組織

アジャイル開発においては、開発組織とユーザとの間で、優先順位したがって各イテレーションのスコープが決定され、開発組織の裁量で開発作業のタスクが実施されていきます。タスクはタスクボードで可視化され、状況と課題が共有され、開発者たちの決定をコミットすることで開発が実施されます。

注目すべきは、アジャイル開発のプロセスとして決められているルールの中に自己決定のための裁量権が明示されていることで、自律的な組織を実現している事です。

2.従来法における自律的な大規模組織

アジャイル開発によって実現される自律的組織ですが、従来型、いわゆるウォーターフォール開発においても自律的な組織が構成されることがあります。それは開発対象が複数のサブシステムに分割されて、それぞれのチームに裁量権が与えられている場合です。各チームにおいて、課題や問題を自らの判断で解決することができます。

しかし、従来型の開発においてはその裁量権の多くをリーダーが独占しています。他のチームに対してのみ自律的であり、開発者はチーム内の状況をリアルタイムに知ることができず、問題や課題の解決を検討することすらできません。

3.自律的な小規模チーム

小規模なチームの場合は、従来法による開発であっても、ある程度は自律的な開発を行うことができます。大規模開発において、自律的な開発の最も大きな障害は、最新の状況をリアルタイムに知ることができないことです。状況を知らなければ、その解決ができないからです。

小機御組織においては、全員の状況を互いに知ることが可能です。日々の打ち合わせにおいて、(1)コミュニケーションを活発にして状況を共有する、(2)その解決策をチームで検討する、(3)協力して解決する、という状況を作り出せれば、チームは自律的な開発を行えるようになるでしょう。

しかし、その状況を作り出すには、リーダがあまり口を出さないこと、開発者の技術力とコミュニケーション能力の高いことが求められます。また、会議は口頭で行われますので、時間がかかること、声の大きい人が勝ってしまう危険性のあること、に注意が必要です。

4.チケット駆動開発による自律的な開発

チケット駆動開発においては、2種類の自律性があります。タスクはチケット化され、個人の作業管理に役立つ粒度にまで分割され、開発者によって担当チケットが自律的に管理されています。また、チームの課題や問題もチケットを介して共有されますので、アジャイル開発はもちろんのこと、従来法においてもリーダの運営次第でより自律的な組織運営が可能です。

チケット駆動開発で得られる自律性は、リーダの権限を委譲して開発者に裁量権を与えていることに注意する必要があります。開発者は、リーダの指示に従うだけではなく、同じゴールに向かって協力し合う必要があります。

自律的な組織では「アジャイルと規律」で言われてるように、開発者には高度な技術者が求められます。少なくとも状況を把握して判断できる能力が必要であるからです。また、互いに協力して作業するには、ある特定の技術ができる専門工ではなく、一通りの作業のできる多能工であるほうが、作業を柔軟に割り当てられるので有利です。

5.まとめ

このように自律的な組織を実現するには、ルールの中に自律的に計画変更する要素が含まれるアジャイル開発がが有利です。しかし、小規模な開発であれば自律的な開発を進めることもある程度可能ですし、チケット駆動開発においてはより有利になります。もし可能であるならアジャイル開発を、そうでなければチケット駆動開発を検討してみる価値があると思います。

自律的なチームを構築できたなら、開発者の能力を最大限に引き出せる可能性があります。チケット駆動開発は自律的な組織に必要となるリアルタイムの情報共有を可能にし、プロジェクトを支援します。その適用可能な分野は広く、様々なプロジェクトがあるでしょう。

ソフトウェア開発を成功させる秘訣は、そのプロジェクトにふさわしいプロセスを実現することです。チケット駆動開発には多くのバリエーションがありますので、多くのプロジェクトに役立つ可能性があります。今後、どのようなテーラリング(カスタマイズ)が可能であるか、整理していきたいと思います。

« レビューを考える - SEA関西プロセス分科会 - #seakansai | トップページ | [#TiDD] 2つのアダプタブル・ウォーターフォール開発 »

チケット駆動開発」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/138594/53115487

この記事へのトラックバック一覧です: [#TiDD] チケット駆動開発で自律的な組織を目指す :

« レビューを考える - SEA関西プロセス分科会 - #seakansai | トップページ | [#TiDD] 2つのアダプタブル・ウォーターフォール開発 »