Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

【第16回Redmine大阪】RedmineのFAQとアンチパターン~親子チケットの功罪

10,219 views

Published on

【事前公開】【第16回Redmine大阪】RedmineのFAQとアンチパターン~親子チケットの功罪: プログラマの思索 http://forza.cocolog-nifty.com/blog/2017/03/16redmineredmin.html

Redmine大阪 第16回勉強会 - connpass
https://redmine-osaka.connpass.com/event/50223/

第16回Redmine大阪の感想 #RedmineOsaka: プログラマの思索
http://forza.cocolog-nifty.com/blog/2017/03/16redmineredm-1.html

Published in: Technology
  • Be the first to comment

【第16回Redmine大阪】RedmineのFAQとアンチパターン~親子チケットの功罪

  1. 1. RedmineのFAQとアンチパターン 〜親⼦チケットの功罪 2017/3/25 あきぴー@Redmine大阪 Copyright2017 akipii@XPJUG関西 1
  2. 2. 自己紹介 • ハンドルネーム:@akipii • 東京Redmine、Redmine大阪スタッフ • 出版した著書 • 「Redmineによるタスクマネジメント実践技法」 (with 阪井さん) • 「チケット駆動開発」 (with 阪井さん) • 「Redmine超入門」(with redmine.tokyoスタッフ) • 「Redmine 実践ガイド」 (with (株)アジャイルウェア) Copyright2017 akipii@XPJUG関西 2
  3. 3. Redmineの現状 • Redmineが持つ「チケットやPJの階層は無制限」の特徴 はとても柔軟な機能 • ガントチャートと相性が良い • タスクのブレイクダウンを親⼦チケットで直感的に表現できる • WF型開発で始めた後でも、割り込みタスクを管理しやすい • WF型開発や縦割り組織をRedmineへ直感的に適用しやすい • 最近、親子チケットに関する質問が多い • 親⼦チケットはすごく便利だが、ガントチャート画⾯で編集できない • Redmineの仕様と業務内容がフィットしていない部分がある • 古いバージョンでは、階層が深くなると遅くなる?? Copyright2017 akipii@XPJUG関西 3 Defect #23318: 大量の⼦チケットを持つチケットで #lock_nested_set メソッドが遅い問題の改善
  4. 4. 【例】親⼦チケットで予定・実績を分けて入⼒ Copyright2017 akipii@XPJUG関西 4 縦割り組織では、 親チケット=SEが予定入⼒、 ⼦チケット=PGが実績入⼒ と分けて運用している
  5. 5. 【メリット】ガントチャートと相性が良い Copyright2017 akipii@XPJUG関西 5 MS ProjectのようにWBSを ツリー構造で表示できる
  6. 6. 【メリット】かんばんも相性が良い Copyright2017 akipii@XPJUG関西 6 【第13回RxTStudy勉強会】Redmine BacklogsプラグインでScrum開発! ~Redmineでアジャイルに開発しよう https://www.slideshare.net/akipii.oga/13rxtstudyredmine-backlogsscrumredmine 親チケット=ストーリーカード、 ⼦チケット=タスクカード と分けて運用できる
  7. 7. 今⽇議論したいこと 最近よく聞かれるFAQやアンチパターンのうち、 「親⼦チケット」にフォーカスを当てて、紹介します。 その後、パネラーを交えて、 皆さんの経験に基づいて、 問題の本質やあるべき姿を議論をしてみたい。 Copyright2017 akipii@XPJUG関西 7
  8. 8. 停滞したチケット Copyright2017 akipii@XPJUG関西 8 名前名前名前名前 停滞したチケット停滞したチケット停滞したチケット停滞したチケット 頻出場所頻出場所頻出場所頻出場所 チケット管理チケット管理チケット管理チケット管理 症状と結果症状と結果症状と結果症状と結果 ・進捗・進捗・進捗・進捗90%のチケットが多いのチケットが多いのチケットが多いのチケットが多い ・課題や・課題や・課題や・課題やQAがあるためにチケットをがあるためにチケットをがあるためにチケットをがあるためにチケットをCloseできないできないできないできない 挿話証拠挿話証拠挿話証拠挿話証拠 「いつも進捗が「いつも進捗が「いつも進捗が「いつも進捗が90%のままだね」のままだね」のままだね」のままだね」 根本原因根本原因根本原因根本原因 ・作業の完了基準が不明確・作業の完了基準が不明確・作業の完了基準が不明確・作業の完了基準が不明確 ・チケットの粒度が大きい・チケットの粒度が大きい・チケットの粒度が大きい・チケットの粒度が大きい 再構想解の再構想解の再構想解の再構想解の プラクティスプラクティスプラクティスプラクティス ・チケットで分割統治・チケットで分割統治・チケットで分割統治・チケットで分割統治 ・棚卸し・棚卸し・棚卸し・棚卸し 再構想による解決再構想による解決再構想による解決再構想による解決 ・残課題や別作業は、チケットを分割する・残課題や別作業は、チケットを分割する・残課題や別作業は、チケットを分割する・残課題や別作業は、チケットを分割する ・ステータスと進捗率を紐づける・ステータスと進捗率を紐づける・ステータスと進捗率を紐づける・ステータスと進捗率を紐づける 変種変種変種変種 ・肥大化したチケット・肥大化したチケット・肥大化したチケット・肥大化したチケット ・放置されたチケット・放置されたチケット・放置されたチケット・放置されたチケット
  9. 9. スタンプラリー Copyright2017 akipii@XPJUG関西 9 名前名前名前名前 スタンプラリースタンプラリースタンプラリースタンプラリー 頻出場所頻出場所頻出場所頻出場所 ソフトウェア保守の変更管理プロセス、稟議申請ソフトウェア保守の変更管理プロセス、稟議申請ソフトウェア保守の変更管理プロセス、稟議申請ソフトウェア保守の変更管理プロセス、稟議申請 症状と結果症状と結果症状と結果症状と結果 ワークフローが複雑すぎて、チケットが停滞しているワークフローが複雑すぎて、チケットが停滞しているワークフローが複雑すぎて、チケットが停滞しているワークフローが複雑すぎて、チケットが停滞している 例:あるトラッカーには、ステータスが例:あるトラッカーには、ステータスが例:あるトラッカーには、ステータスが例:あるトラッカーには、ステータスが10個もある個もある個もある個もある 挿話証拠挿話証拠挿話証拠挿話証拠 「チケットを完了させるには、ステータスが多すぎるね」「チケットを完了させるには、ステータスが多すぎるね」「チケットを完了させるには、ステータスが多すぎるね」「チケットを完了させるには、ステータスが多すぎるね」 根本原因根本原因根本原因根本原因 1個のワークフローで複数の作業を完了させようとしている個のワークフローで複数の作業を完了させようとしている個のワークフローで複数の作業を完了させようとしている個のワークフローで複数の作業を完了させようとしている 再構想解の再構想解の再構想解の再構想解の プラクティスプラクティスプラクティスプラクティス ・トラッカーのライフサイクルで分割統治・トラッカーのライフサイクルで分割統治・トラッカーのライフサイクルで分割統治・トラッカーのライフサイクルで分割統治 ・サイクルタイム・サイクルタイム・サイクルタイム・サイクルタイム 再構想による再構想による再構想による再構想による 解決解決解決解決 ・プロセスのフェーズごとに、トラッカーを使い分ける・プロセスのフェーズごとに、トラッカーを使い分ける・プロセスのフェーズごとに、トラッカーを使い分ける・プロセスのフェーズごとに、トラッカーを使い分ける ・ワークフローのリードタイム・ワークフローのリードタイム・ワークフローのリードタイム・ワークフローのリードタイム(チケット平均完了日数チケット平均完了日数チケット平均完了日数チケット平均完了日数)を短縮を短縮を短縮を短縮 化するように運用する化するように運用する化するように運用する化するように運用する 変種変種変種変種 ・放置されたチケット・放置されたチケット・放置されたチケット・放置されたチケット ・停滞したチケット・停滞したチケット・停滞したチケット・停滞したチケット(90%シンドロームシンドロームシンドロームシンドローム)
  10. 10. ITILのワークフローは複雑になりがち 各プロセスがチームや担当者に対応するので、ロールやステータスが多くなる ⇒プロセスごとに⼦チケットに分割した方が運用しやすい Copyright2017 akipii@XPJUG関西 10
  11. 11. 親⼦チケットにし過ぎる Copyright2017 akipii@XPJUG関西 11 名前名前名前名前 親子チケットにし過ぎる親子チケットにし過ぎる親子チケットにし過ぎる親子チケットにし過ぎる 頻出場所頻出場所頻出場所頻出場所 タスク登録タスク登録タスク登録タスク登録 症状と結果症状と結果症状と結果症状と結果 個人の個人の個人の個人のToDoを子チケットで登録を子チケットで登録を子チケットで登録を子チケットで登録 他の人には不要なチケット他の人には不要なチケット他の人には不要なチケット他の人には不要なチケット ⇒⇒⇒⇒チケットが乱発されるチケットが乱発されるチケットが乱発されるチケットが乱発される 根本原因根本原因根本原因根本原因 チケットの粒度があまりにも細かすぎるチケットの粒度があまりにも細かすぎるチケットの粒度があまりにも細かすぎるチケットの粒度があまりにも細かすぎる 再構想による再構想による再構想による再構想による 解決解決解決解決 ①チケットは他人と共有すべき作業内容に限定する①チケットは他人と共有すべき作業内容に限定する①チケットは他人と共有すべき作業内容に限定する①チケットは他人と共有すべき作業内容に限定する ②②②②TODOレベルは、チケットにチェックリストを追記するレベルは、チケットにチェックリストを追記するレベルは、チケットにチェックリストを追記するレベルは、チケットにチェックリストを追記する ⇒⇒⇒⇒issue_templateプラグインでチェックリストをテンプレートプラグインでチェックリストをテンプレートプラグインでチェックリストをテンプレートプラグインでチェックリストをテンプレート 化化化化 http://www.redmine.org/plugins/issue_templates ③③③③個人の個人の個人の個人のToDoは、プライベートチケットを使うは、プライベートチケットを使うは、プライベートチケットを使うは、プライベートチケットを使う 課題課題課題課題 無償の無償の無償の無償のcheckListプラグインはチェックリストを保持できないプラグインはチェックリストを保持できないプラグインはチェックリストを保持できないプラグインはチェックリストを保持できない http://www.redmine.org/plugins/redmine_checklists
  12. 12. 親チケットの属性が消える Copyright2017 akipii@XPJUG関西 12 名前名前名前名前 親チケットの属性が消える親チケットの属性が消える親チケットの属性が消える親チケットの属性が消える 頻出場所頻出場所頻出場所頻出場所 WF型開発の案件の実績登録型開発の案件の実績登録型開発の案件の実績登録型開発の案件の実績登録 症状と結果症状と結果症状と結果症状と結果 ・親チケットに・親チケットに・親チケットに・親チケットにSEが開始予定日・終了予定日・予定工数を入力が開始予定日・終了予定日・予定工数を入力が開始予定日・終了予定日・予定工数を入力が開始予定日・終了予定日・予定工数を入力 ・子チケットに・子チケットに・子チケットに・子チケットにPGが実績の開始日・終了日・自分で見積もった予定が実績の開始日・終了日・自分で見積もった予定が実績の開始日・終了日・自分で見積もった予定が実績の開始日・終了日・自分で見積もった予定 工数を入力工数を入力工数を入力工数を入力 ⇒⇒⇒⇒親チケットの開始日・期日・予定工数が消えてしまう親チケットの開始日・期日・予定工数が消えてしまう親チケットの開始日・期日・予定工数が消えてしまう親チケットの開始日・期日・予定工数が消えてしまう 根本原因根本原因根本原因根本原因 ・・・・Redmineの仕様は「の仕様は「の仕様は「の仕様は「WBS 100%ルール」だから。ルール」だから。ルール」だから。ルール」だから。 ・実際の・実際の・実際の・実際のWF型開発は「型開発は「型開発は「型開発は「WBS 100%ルール」で綺麗に運用できなルール」で綺麗に運用できなルール」で綺麗に運用できなルール」で綺麗に運用できな い。い。い。い。 再構想再構想再構想再構想 による解決による解決による解決による解決 ・・・・Redmineの設定画面で「子チケットから独立」を選択するの設定画面で「子チケットから独立」を選択するの設定画面で「子チケットから独立」を選択するの設定画面で「子チケットから独立」を選択する ・予定日・予定日・予定日・予定日or実績日の実績日の実績日の実績日のCFを別途作成するを別途作成するを別途作成するを別途作成する 課題課題課題課題 実際の実際の実際の実際のWF型開発で「型開発で「型開発で「型開発で「WBS 100%ルール」を放棄してよいのか?ルール」を放棄してよいのか?ルール」を放棄してよいのか?ルール」を放棄してよいのか?
  13. 13. 「⼦チケットから独⽴」を選択する Copyright2017 akipii@XPJUG関西 13 「親チケットの属性を ⼦チケットから独⽴」 を選択する。 Redmine 3.1新機能紹介: 親チケット の値(優先度・期⽇など)を⼦チケットと連 動させない設定 | Redmine.JP Blog http://blog.redmine.jp/articles/3 _1/parent-task-attributes- independent/
  14. 14. 親⼦チケットのステータス未連動 Copyright2017 akipii@XPJUG関西 14 名前名前名前名前 親子チケットのステータス未連動親子チケットのステータス未連動親子チケットのステータス未連動親子チケットのステータス未連動 頻出場所頻出場所頻出場所頻出場所 WF型開発の案件の実績登録型開発の案件の実績登録型開発の案件の実績登録型開発の案件の実績登録 症状と結果症状と結果症状と結果症状と結果 未完了のチケットが残っているのに、親チケットが完了できてし未完了のチケットが残っているのに、親チケットが完了できてし未完了のチケットが残っているのに、親チケットが完了できてし未完了のチケットが残っているのに、親チケットが完了できてし まうまうまうまう 根本原因根本原因根本原因根本原因 WBS 100%ルールにルールにルールにルールにRedmineが完全に対応できてないが完全に対応できてないが完全に対応できてないが完全に対応できてない 再構想による再構想による再構想による再構想による 解決解決解決解決 Ver3.4で対応済みで対応済みで対応済みで対応済み (Feature #10989: 未完了の子チケットを持つ親チケットのク未完了の子チケットを持つ親チケットのク未完了の子チケットを持つ親チケットのク未完了の子チケットを持つ親チケットのク ローズを禁止ローズを禁止ローズを禁止ローズを禁止) 課題課題課題課題 実際の実際の実際の実際のWF型開発で、そこまでガチガチに運用してる?型開発で、そこまでガチガチに運用してる?型開発で、そこまでガチガチに運用してる?型開発で、そこまでガチガチに運用してる?
  15. 15. 未完了の⼦チケットを持つ親チケットのクローズを禁止(Ver3.4) Copyright2017 akipii@XPJUG関西 15 2016年11月のRedmine開発状況 | Redmine.JP Blog http://blog.redmine.jp/articles/updates/2016/11/ ⼦チケットが未完了 (例:解決)の場合、 親チケットで「完了」を 選択できない
  16. 16. 親⼦チケットの階層が深すぎる Copyright2017 akipii@XPJUG関西 16 名前名前名前名前 親子チケットの階層が深すぎる親子チケットの階層が深すぎる親子チケットの階層が深すぎる親子チケットの階層が深すぎる 頻出場所頻出場所頻出場所頻出場所 親子チケットは、機能別組織や一括請負契約にとてもマッチする親子チケットは、機能別組織や一括請負契約にとてもマッチする親子チケットは、機能別組織や一括請負契約にとてもマッチする親子チケットは、機能別組織や一括請負契約にとてもマッチする ①親チケットは設計部門①親チケットは設計部門①親チケットは設計部門①親チケットは設計部門/SEが予定入力が予定入力が予定入力が予定入力 ②子チケットは製造部門②子チケットは製造部門②子チケットは製造部門②子チケットは製造部門/PGが実績入力が実績入力が実績入力が実績入力 症状と結果症状と結果症状と結果症状と結果 ・・・・ExcelののののWBSのようにのようにのようにのように5~~~~10階層まで作るが粒度がバラバラ階層まで作るが粒度がバラバラ階層まで作るが粒度がバラバラ階層まで作るが粒度がバラバラ ・深い階層のチケットは、ガントチャートでも見通しが悪い・深い階層のチケットは、ガントチャートでも見通しが悪い・深い階層のチケットは、ガントチャートでも見通しが悪い・深い階層のチケットは、ガントチャートでも見通しが悪い ・チケット階層が深いと、ロックがかかる可能性がある・チケット階層が深いと、ロックがかかる可能性がある・チケット階層が深いと、ロックがかかる可能性がある・チケット階層が深いと、ロックがかかる可能性がある (Defect #23318: 大量の子チケットを持つチケットで大量の子チケットを持つチケットで大量の子チケットを持つチケットで大量の子チケットを持つチケットで #lock_nested_set メソッドが遅いメソッドが遅いメソッドが遅いメソッドが遅い 問題の改善問題の改善問題の改善問題の改善) 根本原因根本原因根本原因根本原因 ・・・・WBS 100%ルールを厳格に運用するとデメリットが大きくなるルールを厳格に運用するとデメリットが大きくなるルールを厳格に運用するとデメリットが大きくなるルールを厳格に運用するとデメリットが大きくなる ・親子チケットは組織構造に関係する・親子チケットは組織構造に関係する・親子チケットは組織構造に関係する・親子チケットは組織構造に関係する 課題課題課題課題 ①①①①Redmineで深い階層の親子チケットを一括インポートしたいで深い階層の親子チケットを一括インポートしたいで深い階層の親子チケットを一括インポートしたいで深い階層の親子チケットを一括インポートしたい ②ガントチャート以外で②ガントチャート以外で②ガントチャート以外で②ガントチャート以外でWBS漏れを検知したい漏れを検知したい漏れを検知したい漏れを検知したい 他の問題他の問題他の問題他の問題 RedmineののののPJの階層はどこまで深くするか?の階層はどこまで深くするか?の階層はどこまで深くするか?の階層はどこまで深くするか?
  17. 17. WF型開発の工程はどこにマッピングするか? Copyright2017 akipii@XPJUG関西 17 質問質問質問質問 WF型開発の工程は型開発の工程は型開発の工程は型開発の工程はRedmineのどこにマッピングするか?のどこにマッピングするか?のどこにマッピングするか?のどこにマッピングするか? 頻出場所頻出場所頻出場所頻出場所 WF型開発案件の計画登録型開発案件の計画登録型開発案件の計画登録型開発案件の計画登録 根本原因根本原因根本原因根本原因 製造業の「工程」と製造業の「工程」と製造業の「工程」と製造業の「工程」とSW開発の「工程」を混同している開発の「工程」を混同している開発の「工程」を混同している開発の「工程」を混同している ⇒⇒⇒⇒工程の役割と工程の役割と工程の役割と工程の役割とRedmineの機能のの機能のの機能のの機能のFG分析が不十分分析が不十分分析が不十分分析が不十分 回答回答回答回答 ・・・・Redmineではではではでは6種類の方法がある種類の方法がある種類の方法がある種類の方法がある ①トラッカー①トラッカー①トラッカー①トラッカー ②②②②PJ ③バージョン③バージョン③バージョン③バージョン ④親チケット④親チケット④親チケット④親チケット ⑤カテゴリ⑤カテゴリ⑤カテゴリ⑤カテゴリ ⑥カスタムフィールド⑥カスタムフィールド⑥カスタムフィールド⑥カスタムフィールド ・期限が過ぎたタスクは、工程で管理しない方が良い・期限が過ぎたタスクは、工程で管理しない方が良い・期限が過ぎたタスクは、工程で管理しない方が良い・期限が過ぎたタスクは、工程で管理しない方が良い 関連する関連する関連する関連する 課題課題課題課題 業務は業務は業務は業務はRedmineのどこにマッピングするか?のどこにマッピングするか?のどこにマッピングするか?のどこにマッピングするか?
  18. 18. 工程とRedmine機能の比較評価 Copyright2017 akipii@XPJUG関西 18 No Redmineの機能の機能の機能の機能 評価評価評価評価 評価理由評価理由評価理由評価理由 備考備考備考備考 1 トラッカートラッカートラッカートラッカー ☓☓☓☓ 経験上、トラッカーが無造経験上、トラッカーが無造経験上、トラッカーが無造経験上、トラッカーが無造 作に増えて破綻する作に増えて破綻する作に増えて破綻する作に増えて破綻する 例:基本設計、詳細設計、例:基本設計、詳細設計、例:基本設計、詳細設計、例:基本設計、詳細設計、 開発、単体テスト開発、単体テスト開発、単体テスト開発、単体テスト 2 PJ ☓☓☓☓ 経験上、経験上、経験上、経験上、PJの終了日の終了日の終了日の終了日 が不明になるので、破が不明になるので、破が不明になるので、破が不明になるので、破 綻する綻する綻する綻する 工程単位に契約やチーム工程単位に契約やチーム工程単位に契約やチーム工程単位に契約やチーム がががが異なる場合は有効異なる場合は有効異なる場合は有効異なる場合は有効 例:設計・テスト=自社、例:設計・テスト=自社、例:設計・テスト=自社、例:設計・テスト=自社、 開発=外部ベンダー開発=外部ベンダー開発=外部ベンダー開発=外部ベンダー 3 バージョンバージョンバージョンバージョン △△△△ 期限をリリース日や納期期限をリリース日や納期期限をリリース日や納期期限をリリース日や納期 に読み替える。に読み替える。に読み替える。に読み替える。 ロードマップやガントチャートロードマップやガントチャートロードマップやガントチャートロードマップやガントチャート で管理しやすい。で管理しやすい。で管理しやすい。で管理しやすい。 経験上、障害多発のたび経験上、障害多発のたび経験上、障害多発のたび経験上、障害多発のたび ににににReOpenされてしまう。されてしまう。されてしまう。されてしまう。 4 親チケット親チケット親チケット親チケット △△△△ ガントチャートで管理しやガントチャートで管理しやガントチャートで管理しやガントチャートで管理しや すいすいすいすい 深い階層のチケットは保深い階層のチケットは保深い階層のチケットは保深い階層のチケットは保 守しにくい守しにくい守しにくい守しにくい 5 カテゴリカテゴリカテゴリカテゴリ △△△△ PJ単位で自由に設定単位で自由に設定単位で自由に設定単位で自由に設定 できるできるできるできる 子子子子PJに継承されないので、に継承されないので、に継承されないので、に継承されないので、 同期させるのが面倒同期させるのが面倒同期させるのが面倒同期させるのが面倒 6 カスタムフィールドカスタムフィールドカスタムフィールドカスタムフィールド △△△△ 障害管理でよく使われ障害管理でよく使われ障害管理でよく使われ障害管理でよく使われ るるるる 例:発見した工程、検出す例:発見した工程、検出す例:発見した工程、検出す例:発見した工程、検出す べき工程べき工程べき工程べき工程
  19. 19. WBSはどう作る? Copyright2017 akipii@XPJUG関西 19 質問質問質問質問 WBSは工程単位は工程単位は工程単位は工程単位 or 機能単位のどちらで作ると良いのか?機能単位のどちらで作ると良いのか?機能単位のどちらで作ると良いのか?機能単位のどちらで作ると良いのか? 頻出場所頻出場所頻出場所頻出場所 親子チケット登録親子チケット登録親子チケット登録親子チケット登録 症状と結果症状と結果症状と結果症状と結果 チーム構成や作業者の役割とチーム構成や作業者の役割とチーム構成や作業者の役割とチーム構成や作業者の役割とWBSが調和していないが調和していないが調和していないが調和していない ⇒⇒⇒⇒メンバーが混乱した結果、チケットが放置されやすいメンバーが混乱した結果、チケットが放置されやすいメンバーが混乱した結果、チケットが放置されやすいメンバーが混乱した結果、チケットが放置されやすい 根本原因根本原因根本原因根本原因 WBSはプロジェクト組織を規定するため、混乱するはプロジェクト組織を規定するため、混乱するはプロジェクト組織を規定するため、混乱するはプロジェクト組織を規定するため、混乱する (※※※※1) 回答回答回答回答 ①工程単位は、プロセス中心型の①工程単位は、プロセス中心型の①工程単位は、プロセス中心型の①工程単位は、プロセス中心型のWBSやチーム構成になる。やチーム構成になる。やチーム構成になる。やチーム構成になる。 モジュール間の関連性が強くて、全体が密結合のシステム。モジュール間の関連性が強くて、全体が密結合のシステム。モジュール間の関連性が強くて、全体が密結合のシステム。モジュール間の関連性が強くて、全体が密結合のシステム。 ②機能単位は、成果物中心型の②機能単位は、成果物中心型の②機能単位は、成果物中心型の②機能単位は、成果物中心型のWBSやチーム構成になる。やチーム構成になる。やチーム構成になる。やチーム構成になる。 既存システムに新機能を順次リリースするシステム。既存システムに新機能を順次リリースするシステム。既存システムに新機能を順次リリースするシステム。既存システムに新機能を順次リリースするシステム。 ⇒⇒⇒⇒システムの特徴、チーム構成に合致したシステムの特徴、チーム構成に合致したシステムの特徴、チーム構成に合致したシステムの特徴、チーム構成に合致したWBSに合わせる。に合わせる。に合わせる。に合わせる。 ⇒⇒⇒⇒組織は組織は組織は組織はWBSに従う。に従う。に従う。に従う。 アーキテクチャは組織に従う。アーキテクチャは組織に従う。アーキテクチャは組織に従う。アーキテクチャは組織に従う。 関連情報関連情報関連情報関連情報 ※※※※1. WBSはプロジェクト組織を規定するWBSはプロジェクト組織を規定するWBSはプロジェクト組織を規定するWBSはプロジェクト組織を規定する : タイム・コンサルタンタイム・コンサルタンタイム・コンサルタンタイム・コンサルタン トの日誌からトの日誌からトの日誌からトの日誌から http://brevis.exblog.jp/19096066
  20. 20. WBSによるプロセスの違い Copyright2017 akipii@XPJUG関西 20 ①工程単位 ⇒WBSが プロセス中心 設計 開発 テスト ②機能単位 ⇒WBSが 成果物中心 機能A 機能B 機能C
  21. 21. WBSによる組織の違い Copyright2017 akipii@XPJUG関西 21 PM 設計PL 開発PL テストPL SE1 SE2 SE3 PG1 PG2 PG3 担当者1 担当者2 担当者3 PM 機能A 機能B 機能C SE1 PG1 担当者1 SE2 PG2 担当者2 SE3 PG3 担当者3 ①工程単位 ⇒プロセス中心の組織 (機能別組織) ②機能単位 ⇒成果物中心の組織 (フィーチャーチーム)
  22. 22. チケットの棚卸しがやりにくい Copyright2017 akipii@XPJUG関西 22 名前名前名前名前 チケットの棚卸しがやりにくいチケットの棚卸しがやりにくいチケットの棚卸しがやりにくいチケットの棚卸しがやりにくい 頻出場所頻出場所頻出場所頻出場所 チケットの棚卸しチケットの棚卸しチケットの棚卸しチケットの棚卸し 症状と結果症状と結果症状と結果症状と結果 チケット一覧で棚卸しを頑張ろうして詰まるチケット一覧で棚卸しを頑張ろうして詰まるチケット一覧で棚卸しを頑張ろうして詰まるチケット一覧で棚卸しを頑張ろうして詰まる 根本原因根本原因根本原因根本原因 チケットの優先順位付けができていないチケットの優先順位付けができていないチケットの優先順位付けができていないチケットの優先順位付けができていない 再構想による再構想による再構想による再構想による 解決解決解決解決 ①チケットの優先度を設定する①チケットの優先度を設定する①チケットの優先度を設定する①チケットの優先度を設定する ②先行・後続の関連を付ける②先行・後続の関連を付ける②先行・後続の関連を付ける②先行・後続の関連を付ける ③バージョンを設定してロードマップ画面を使う③バージョンを設定してロードマップ画面を使う③バージョンを設定してロードマップ画面を使う③バージョンを設定してロードマップ画面を使う ⇒⇒⇒⇒Redmineの基本思想は、ロードマップ画面でチケットをの基本思想は、ロードマップ画面でチケットをの基本思想は、ロードマップ画面でチケットをの基本思想は、ロードマップ画面でチケットを 取捨選択する発想。取捨選択する発想。取捨選択する発想。取捨選択する発想。 ④④④④Default Custom Queryプラグインを使うプラグインを使うプラグインを使うプラグインを使う (Feature #7360: Issue Custom Query: Default Query) 課題課題課題課題 Redmineのロードマップ画面を「チケットの並び順が作業順序のロードマップ画面を「チケットの並び順が作業順序のロードマップ画面を「チケットの並び順が作業順序のロードマップ画面を「チケットの並び順が作業順序 である」仕様にしたい。である」仕様にしたい。である」仕様にしたい。である」仕様にしたい。 (Feature #22802: バージョン内のチケットをドラッグ&ドロップで並べ替えバージョン内のチケットをドラッグ&ドロップで並べ替えバージョン内のチケットをドラッグ&ドロップで並べ替えバージョン内のチケットをドラッグ&ドロップで並べ替え)
  23. 23. Copyright2017 akipii@XPJUG関西 23 【再掲】棚卸しとVelocity RedmineのFAQとアンチパターン集 https://www.slideshare.net/akipii.oga/redminefaq
  24. 24. 棚卸しの対応方法の比較評価 Copyright2017 akipii@XPJUG関西 24 No 対応方法・暫定策対応方法・暫定策対応方法・暫定策対応方法・暫定策 評価評価評価評価 評価理由評価理由評価理由評価理由 1 チケットの優先度を設定するチケットの優先度を設定するチケットの優先度を設定するチケットの優先度を設定する ☓☓☓☓ なる早が増えるなる早が増えるなる早が増えるなる早が増える 2 先行・後続の関連を付ける先行・後続の関連を付ける先行・後続の関連を付ける先行・後続の関連を付ける ☓☓☓☓ チケット操作が複雑。チケット操作が複雑。チケット操作が複雑。チケット操作が複雑。 ガントチャート画面で編集できなガントチャート画面で編集できなガントチャート画面で編集できなガントチャート画面で編集できな い。い。い。い。 3 バージョンを設定するバージョンを設定するバージョンを設定するバージョンを設定する △△△△ チケット枚数が増えると結局、チチケット枚数が増えると結局、チチケット枚数が増えると結局、チチケット枚数が増えると結局、チ ケットが溢れる。ケットが溢れる。ケットが溢れる。ケットが溢れる。 本来は、チケットの並び順で優本来は、チケットの並び順で優本来は、チケットの並び順で優本来は、チケットの並び順で優 先度を付けたい。先度を付けたい。先度を付けたい。先度を付けたい。 (Feature #22802: バージョン内のチケットバージョン内のチケットバージョン内のチケットバージョン内のチケット をドラッグ&ドロップで並べ替えをドラッグ&ドロップで並べ替えをドラッグ&ドロップで並べ替えをドラッグ&ドロップで並べ替え) 4 Default Custom Query プラグインを使うプラグインを使うプラグインを使うプラグインを使う △△△△ チケット一覧の初期表示を、チケット一覧の初期表示を、チケット一覧の初期表示を、チケット一覧の初期表示を、 優先度が高い条件のクエリで表優先度が高い条件のクエリで表優先度が高い条件のクエリで表優先度が高い条件のクエリで表 示する。示する。示する。示する。 (Feature #7360: チケット一覧にデフォルトのカスタチケット一覧にデフォルトのカスタチケット一覧にデフォルトのカスタチケット一覧にデフォルトのカスタ ムクエリを適用ムクエリを適用ムクエリを適用ムクエリを適用)
  25. 25. 【課題】バージョン内のチケットをドラッグ&ドロップで並べ替え Copyright2017 akipii@XPJUG関西 25 2016年9月のRedmine開発状況 | Redmine.JP Blog http://blog.redmine.jp/articles/updates/2016/09/ Feature #22802: バージョン内のチケットをドラッグ&ドロップで並べ替え ロードマップ画⾯で、 リリース計画を考えながら、 チケットの順序をドラッグ& ドロップで自由に変更できる ⇒ Scrumのプロダクトバックログ のような操作が可能になる
  26. 26. 【課題】 Default Custom Queryプラグイン Copyright2017 akipii@XPJUG関西 26 2016年4月のRedmine開発状況 | Redmine.JP Blog http://blog.redmine.jp/articles/updates/2016/04/ Feature #7360: Issue Custom Query: Default Query PJごとに、指定したトクエリで チケット一覧画⾯に初期表示できる。 PJごとに、指定したクエリで チケット一覧画⾯に初期表示できる。
  27. 27. 最もウケた棚卸し方法 ⾯白すぎる。RT @NAGAYASU_Shinya: Redmineにて 塩漬けチケットがしぬほどある部署にいたとき、 ついカッとなって、ここ1ヶ月更新のないチケットを 一気に却下にしたったことある ……すごい怒られた、 そして、別に、業務になんの支障もなかった。 Copyright2017 akipii@XPJUG関西 27 https://twitter.com/akipii/status/840131096364822528
  28. 28. ガントチャートとかんばんの使い分けは? Copyright2017 akipii@XPJUG関西 28 質問質問質問質問 ガントチャートとかんばんの使い分けは?ガントチャートとかんばんの使い分けは?ガントチャートとかんばんの使い分けは?ガントチャートとかんばんの使い分けは? 頻出場所頻出場所頻出場所頻出場所 作業のリードタイムが異なる業務や組織が混在する作業のリードタイムが異なる業務や組織が混在する作業のリードタイムが異なる業務や組織が混在する作業のリードタイムが異なる業務や組織が混在する 例:ハード屋さんは、ガントチャートが使いたい例:ハード屋さんは、ガントチャートが使いたい例:ハード屋さんは、ガントチャートが使いたい例:ハード屋さんは、ガントチャートが使いたい 例:アジャイル屋さんは、かん例:アジャイル屋さんは、かん例:アジャイル屋さんは、かん例:アジャイル屋さんは、かんばんをばんをばんをばんを使いたい使いたい使いたい使いたい 根本原因根本原因根本原因根本原因 作業のリードタイムが異なる作業のリードタイムが異なる作業のリードタイムが異なる作業のリードタイムが異なる 回答回答回答回答 ①ガントチャート①ガントチャート①ガントチャート①ガントチャート a)リードタイムが長い場合に有効。リードタイムが長い場合に有効。リードタイムが長い場合に有効。リードタイムが長い場合に有効。 b)親子チケットで階層化すると見やすい。親子チケットで階層化すると見やすい。親子チケットで階層化すると見やすい。親子チケットで階層化すると見やすい。 ②かんばん②かんばん②かんばん②かんばん a)リードタイムが短い場合に有効。リードタイムが短い場合に有効。リードタイムが短い場合に有効。リードタイムが短い場合に有効。 b)ステータスをどんどん変えて、サクサク流す。ステータスをどんどん変えて、サクサク流す。ステータスをどんどん変えて、サクサク流す。ステータスをどんどん変えて、サクサク流す。 課題課題課題課題 ①ガントチャート:①ガントチャート:①ガントチャート:①ガントチャート: a)進捗率の運用ルールを決めておく。進捗率の運用ルールを決めておく。進捗率の運用ルールを決めておく。進捗率の運用ルールを決めておく。 ②かんばん:②かんばん:②かんばん:②かんばん: a)リードタイムが長い作業は遅れているように見える。リードタイムが長い作業は遅れているように見える。リードタイムが長い作業は遅れているように見える。リードタイムが長い作業は遅れているように見える。 b)未リリースの要件は未リリースの要件は未リリースの要件は未リリースの要件はPBLで別管理する。で別管理する。で別管理する。で別管理する。
  29. 29. その他の アンチパターン Copyright2017 akipii@XPJUG関西 29
  30. 30. 野良Redmineが社内に溢れる Copyright2017 akipii@XPJUG関西 30 名前名前名前名前 野良野良野良野良Redmineが社内に溢れるが社内に溢れるが社内に溢れるが社内に溢れる 別名別名別名別名 闇闇闇闇Redmine 症状と結果症状と結果症状と結果症状と結果 ・会社標準の・会社標準の・会社標準の・会社標準のRedmineは使いにくいは使いにくいは使いにくいは使いにくい ・別チームの・別チームの・別チームの・別チームのRedmineは特定は特定は特定は特定PJに特化されているに特化されているに特化されているに特化されている ・運用が拡大すると、運用ルール策定が追いつかない・運用が拡大すると、運用ルール策定が追いつかない・運用が拡大すると、運用ルール策定が追いつかない・運用が拡大すると、運用ルール策定が追いつかない 根本原因根本原因根本原因根本原因 ・大規模な組織で多様な業務を、一つの・大規模な組織で多様な業務を、一つの・大規模な組織で多様な業務を、一つの・大規模な組織で多様な業務を、一つのRedmineインスタンスでインスタンスでインスタンスでインスタンスで 対応できるか?対応できるか?対応できるか?対応できるか? ・組織ごと・組織ごと・組織ごと・組織ごと/業務ごとに業務ごとに業務ごとに業務ごとにRedmineを作りたい意図があるを作りたい意図があるを作りたい意図があるを作りたい意図がある 再構想による再構想による再構想による再構想による 解決解決解決解決 ・トップダウンで・トップダウンで・トップダウンで・トップダウンでRedmineを1個に統一するを1個に統一するを1個に統一するを1個に統一する ⇒⇒⇒⇒Redmine事務局を設ける・運用ルールを標準化し推進事務局を設ける・運用ルールを標準化し推進事務局を設ける・運用ルールを標準化し推進事務局を設ける・運用ルールを標準化し推進 ・運用は柔軟に行う・運用は柔軟に行う・運用は柔軟に行う・運用は柔軟に行う ⇒⇒⇒⇒セキュリティ面で複数のセキュリティ面で複数のセキュリティ面で複数のセキュリティ面で複数のRedmineインスタンスはありうるインスタンスはありうるインスタンスはありうるインスタンスはありうる 課題課題課題課題 ①複数の①複数の①複数の①複数のRedmineインスタンスを統合できるか?インスタンスを統合できるか?インスタンスを統合できるか?インスタンスを統合できるか? QA #247: 複数の複数の複数の複数のRedmineサーバを統合したいサーバを統合したいサーバを統合したいサーバを統合したい - Unofficial Redmine Cooking - redmine.Tokyo https://redmine.tokyo/issues/247 ②②②②Redmineインスタンス同士でチケットを関連付けたいインスタンス同士でチケットを関連付けたいインスタンス同士でチケットを関連付けたいインスタンス同士でチケットを関連付けたい ⇒⇒⇒⇒リンク型リンク型リンク型リンク型CFを使うを使うを使うを使う
  31. 31. まとめ Copyright2017 akipii@XPJUG関西 31
  32. 32. まとめ • Redmineの柔軟な機能が災いしている • メリット①:チケットやPJの階層は無限に作れる • メリット②:ワークフローやカスタム項目をたくさん作れる • ⇒業務の特徴とRedmine運用のFG分析を⾏っておく • チケット管理はアジャイル開発のノウハウが向く • 深い親⼦チケットは保守しにくい • サクサク流れるフローを重視した方が運用しやすい • 問題は、運用ルールなのか、Redmineの機能不⾜ なのか、を⾒極める • 運用ルールを標準化して、運用でカバーするのか • 不⾜した機能はRedmineを機能拡張するのか Copyright2017 akipii@XPJUG関西 32
  33. 33. Redmineに残された他の課題 • チケット管理をより使いやすくするUI改善 • 例:ロードマップ画⾯のソート順、PJ一覧画⾯レイアウト • 置き去りにされた画⾯の機能改善 • 例:ロードマップ、⽂書、ファイル管理、カレンダー • チケット枚数に伴う性能改善 • 例:全⽂検索 • 多様な組織や業務に対応する運用ルール策定 • コミュニティでRedmineガイドラインを作りたい Copyright2017 akipii@XPJUG関西 33 換言すれば、 Redmineは成⻑の余地がまだまだある
  34. 34. copyright2017akipii@XPJUG関西 34 ご清聴 ありがとうございました
  35. 35. copyright2017 akipii@XPJUG関西 35 【独り言】 Redmineを LinuxやRubyのような 永続的なOSSコミュニティにしたい

×