開発プロセスの型をツールで構築する #tidd
@daipresentsさんがRedmineを1000人のユーザで運用している事例をアップしていたのでメモ。
僕もこの規模まで運用したことはないので、とても参考になります。
【元ネタ】
受託開発でTracを導入してよかったことや失敗したこと | 世界 - daipresents!!
Redmineが1000人のエンジニアに使われるまでのこと | 世界 - daipresents!!
資料にもあるように、楽天で、9万個のチケット、900個のプロジェクト、1300人のユーザでRedmineを運用されている。
この記事で面白いのは、「開発プロセスの型をツールで構築する」ということ。
CMMIでもPMBOKでも開発プロセスやプロジェクトマネジメントの標準化が重視されている。
その理由は、開発チームごとの能力のばらつきを抑えて、平均の能力を上げることにあると思う。
しかし、プロセスの標準化の作業は実際はとても面倒だ。
標準化された手続きをこなすための膨大なマニュアルと大量の中間的ドキュメントが要求される。
更に、皆が決められた手続きを守るために、稟議書のような承認フローが必要とされる。
もっと身軽に開発したいのに、標準化を頑張るほど、開発の速度が遅くなっていく。
CMMIを推進する立場の品質管理部門やプロジェクトマネージャと開発チームを支援するPMOは、その標準化作業の先頭に立つけれども、普通は開発チームと利害が対立しがちだ。
開発チームにお仕着せのプロセスを押し付けるから、開発チームはそれを実際は嫌がる。
トップダウンで頑張るほど、現場は疲労していく。
Redmineのようなツールによるプロセス改善は、それとは逆でボトムアップによるプロセスの標準化を進める。
プロジェクト管理やソフトウェア開発の作業に必要なツールが用意されていれば、メンバーもチームもそのツールに合わせて作業すればいい。
鈴木雄介さんのスライド「Agile Japan 2010 「変化を受け入れるアジャイルなプロジェクトマネジメントと現場・ツール・環境篇」」にある主張「コトそのものではなく、コトの外側を標準化する」がそれを意味していると思う。
実際の作業(コト、トランザクション)ではなく、コトの外側(開発環境、プロジェクト管理に必要な環境)をツールで標準化することで、開発チームの手順をどのチームも同じようにする。
それによって、要員の流動化も可能だし、メンバーのスキルも底上げできる。
僕自身もチケット駆動開発を運用してみて、プロジェクト内部の作業が全てチケットにあがっていれば、そのチケットを引継するだけでいい。
新人はRedmineでのタスク管理やSubversionによるバージョン管理、障害管理のプロセスに慣れれば、ツールにはソフトウェア開発のベストプラクティスが実装されているので、自然にソフトウェア開発をチームで作業するスキルを身に付けてくれる。
又、@daipresentsさんの事例で面白いのは、アジャイル開発の概念をRedmineのプラグインでどんどん実現して実際の運用がスムーズだったこと。
特に、アジャイル開発は進捗管理のビューが優れていると言う指摘は面白い。
確かに、タスクボードは単なるガントチャートやチケット一覧よりも分かりやすいし、バーンダウンチャートはプロジェクトの現状を的確に指摘してくれる。
そして、アジャイルな開発をもっと実践するために、チケットをタスクカードからストーリーカードへ、ガントチャートからタスクボードへ昇華していったという言葉が意味深い。
タイムボックス的な開発を行うには、ある程度の粒度が揃った要件の束が必要だし、イテレーション単位の進捗を測るには精度の高い見積りが重要になる。
だから、タスク管理や要件管理の作業の精度が要求されてくるのだろう。
つまり、プロジェクト管理の質がどんどん上がっていったことを意味しているのだろう。
@daipresentsさんの事例では、史上最高のチーム、タスクボード、バージョンバーンダウンチャート、パーキングロットなどのプラグインが紹介されていて、非常に参考になる。
個人的には、Redmineのチケット集計機能はまだまだ不足していると思うので、もっと強化されていいと考えている。
もっとたくさんの種類のビューを用意して、現場リーダーは状況に応じてビューを使い分けてもいいはずだ。
進捗管理でもガントチャートだけではなく、バーンダウンチャートやカンバンもあるといいし、品質管理やリスク管理、要員管理でも色んなビューがあると便利なはず。
プロジェクト管理の各種の状況に応じて必要なビューは何があるのか、という問いを今一度精査し直す必要があるように思う。
| 固定リンク
「プロジェクトマネジメント」カテゴリの記事
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart2~プロセスのレイヤと達成目標のレイヤが異なる(2023.02.18)
- ストラテジストとプロジェクトマネージャの役割の違いは何なのかpart1~CSFはWBSみたいなものと捉える(2023.02.14)
- PM理論では課業志向の方が関係志向よりも生産性が高いことを主張しているのではないか(2023.01.22)
- 現代日本人の弱点はリーダーシップ不足と生産性が著しく低いこと、そしてリスク許容度が著しく低いことだ(2022.12.23)
「Redmine」カテゴリの記事
- Redmineのバージョン設定でプロジェクトの設定方法が違う(2024.06.23)
- ウクライナのRedmine開発者が作ったRedmineテーマやプラグイン(2024.06.18)
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- Redmineで持ち株管理する事例(2024.04.21)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
「ソフトウェア工学」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「システムアーキテクチャ構築の原理」の感想(2024.05.06)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- マイクロサービス設計は従来のアーキテクチャ設計と何が違うのか(2024.01.02)
- 「ソフトウェアアーキテクチャ・ハードパーツ」の情報リンク~マイクロサービスの設計技法の課題は何なのか(2023.11.12)
「チケット駆動開発」カテゴリの記事
- 第26回redmine.tokyo勉強会の感想~多様性はコミュニティが成功する重要な要因の一つ #redmineT(2024.06.15)
- チケットはデータでとプロセスの二面性を持つ #redmine(2023.12.24)
- 小説活動にプルリクエスト駆動が必要になってきた(2022.05.08)
- 知識は経験よりも大切か、経験は知識よりも勝るのか、SECIモデルは相互作用を語る(2022.04.26)
- プロジェクト管理の基本はテーラリング、Redmineはプロセスをテーラリングするツール(2022.04.21)
「Agile」カテゴリの記事
- 「システムアーキテクチャ構築の原理」の感想part2~非機能要件がシステムのアーキテクチャに影響を与える観点をプロセス化する(2024.05.06)
- 「スクラムの拡張による組織づくり」のScrum@Scaleの感想(2024.03.31)
- ソフトウェア工学の根本問題から最近のソフトウェア設計を考えてみる(2024.03.03)
- 「GitLabに学ぶ 世界最先端のリモート組織のつくりかた」の感想(2023.12.10)
- 概念モデリングや設計原則は進化しているのか(2023.10.21)
コメント