AgileJapan2014でYahoo塚越、西、友成、蚊爪が発表した際の資料です。 http://www.agilejapan.org/program.html#kouboc-4Read less

ゲーム開発 プロジェクトマネジメント講座 2011年10月8日 株式会社スクウェア・エニックス CTO 橋本 善久 1©SQUARE-ENIX 2011 SQUARE ENIX OPEN CONFERENCE なぜプロジェクトは 失敗するのか? 2©SQUARE-ENIX 2011 プロジェクトの失敗ポイント • 見込みより売上が少ない • 計画よりもコストがかかっている • 発売時期が遅れた • 発売に間に合わせるため内容が削られた • ユーザーの評判が悪い • 不具合が発生 • スタッフの満足度が低い、故障者が出た、辞め てしまった • など・・・ 3©SQUARE-ENIX 2011 プロジェクトの失敗ポイントの分類 • スコープ(コンテンツの範囲)の問題 • 品質の問題 • コストの問題 • 時間の問題 • リソース(人員・環境)の問題 • ビジネスの問題 4©SQUARE-EN
トヨタ式のプロセス改善でいう「見える化」というと 「見える化は一言で言えば,問題点が常に「見える」ようにしておく工夫のことである。正常と異常の違いがすぐに分かる仕事場とか,仕事するうえであれこれ迷わずに済む現場のことを指すと言ってもいいかもしれない。 」(ITpro) というように、問題を発見する環境作りをさすことが多いと思います。 トヨタ式の工場では整理整頓が徹底されていて、ごみ一つ落ちていません。そうすれば、本来留めなければいけないネジが落ちていたらすぐにわかりますし、作業の流れが滞ったり、無駄な移動があればすぐにわかるからです。 チケット駆動開発(TiDD)も見える化を促進しますが、以下の3種類があります。 ・情報共有 ・問題の発見 ・作業状況 TiDDでは、BTSを使って作業を管理します。それは全ての開発者が使うものですので、プロジェクトの作業の進み具合をみんなで共有することができ
今更公開した新年会の資料を「チケット駆動開発の運用例: プログラマの思索」で取り上げていただいたのですが、ちっと補足しておきますよ〜っと。 喋る用の資料であることと説明不足ですかね、修行が足りなさを痛感します。 この辺とかこの辺を良く読んで勉強し直せって感じですね。*1 チケットをExcelで一括インポート ごく初期だけで日常的な運用には使っておらず、複数のツールを使って管理するのは運用(利用)負荷が上がるだけなので、基本はtracのチケットのみで管理しています。 チケットの入力負荷の軽減を図るためにコンポーネントだとかチケットタイプ・関係者などの定型的な情報をリンクにパラメータとして埋め込んでwikiにまとめてあります。チケット分類によってはチケットの中身までテンプレート化して用意しているパターンもあります。 Tracで工数を入力、集計 これは何度か触れてますがTimingandEsti
【1】管理者は、プロジェクトの進捗報告のためのくだらない作業が必要になる。 まず、初期段階で、WBSとして必要な成果物、作業を洗い出す。 そこから、工数を見積もり、MSProjectやExcelでスケジュールを作っていく。 しかし、実際に作業していくと、そのスケジュールの保守は面倒きわまりない。 当初は分からなかったタスクを追加したり、仕様変更で対応すべきタスクを入れたり、実際は不要になったタスクを削除するなどを、逐一スケジュールへ反映しなければならない。 スケジュールで、先行・後行の関係まで考慮したり、工数の標準化などを行おうとすると、もはやExcelで手作業で管理するのはもはや人間の手を超える。 MSProjectでは、そのような作業をアプリでやってくれるが、だからと言って、スケジュール保守が楽になるわけではない。 そのスケジュールを管理者が常に保守し続けなければならない理由は二つある
思いのほかワークフローに言及する人が少ないので、この辺で少し語ってみることにしてみる。 0.10までのtracは基本的には new → assigned → closed という非常に貧弱で単純。 これに対処すべくTracの利用者の多くは、管理者以外はチケットクローズしないという運用ルールを決めたり、実装者にクローズさせておいて確認日を入れるカスタムフィールドを用意して対処したり、とりあえず人に優しいとは言えない状態でした。 まぁ当然この貧弱さは問題視されていなかったわけではなく、0.11へのバージョンアップでワークフローがカスタマイズ可能になり問題を解決することが可能になっているわけです。 0.11では デフォルトワークフローの変更 これは assigned の後に accepted というステータスが追加になりました。 これにより0.10以前では把握が難しかった着手・未着手の状態が、
Tracを使い始めて、Redmineと異なる視点を感じる所があったのでメモ。 【1】RedmineやTracを障害だけでなく要望も含めてタスク管理する発想は、Issue Trackingと呼ばれる。 元々、チケット駆動開発(Ticket Driven Development)は、バグ管理システム(Bug Tracking System)を汎用化した課題管理システム(Issue Tracking System)から発生した開発プロセス。 すると、障害管理で使われるステータスだけでは管理しにくい場面が出てくる。 例えば、ITILではシステム運用保守で、問題管理、インシデント管理、変更管理、リリース管理の4つの視点を提供する。 BTSのバグ管理は、問題管理と同じ。 問題管理のワークフロー(チケットの状態遷移図)は下記が普通だろう。 新規→担当→解決→検証中→検証完了→終了(リリース完了) このパ
RedmineとTracの両方でチケット駆動開発を運用してみて、色んな気付きがあった。 以下メモ書き。 【比較対象】 ・Redmine0.8.0 ・Trac0.11.1.ja 【元ネタ】 脱Excel! Redmineでアジャイル開発を楽々管理 - @IT自分戦略研究所 【1】複数プロジェクトの扱い RedmineがTracよりも機能が優れている点の一つは、複数プロジェクトに対応していること。 Tracはプロジェクトに親子関係を入れることができないため、特に大規模プロジェクトではチケット駆動開発を実践しにくいだろうと思う。 複数プロジェクトを作りたい状況は、二つある。 【1-1】開発チームが複数のサブチームに分かれていて、それぞれでタスク管理したい場合。 RedmineやTracを運用してみると、一つのプロジェクトでメンバーが5人以上だとチケットが乱発されたり、放置されやすくなるようだ。
id:kunitさんの[Git] gitだからこそできるチケット駆動開発のやり方を読んでたら、自分たちもチケット駆動開発的なものをやっていることに気がつきました。せっかくなので、ちょっと紹介します。 構成管理はCVS、BTSはJIRAを使っています。チケット駆動ということを意識してはいませんが、ルールとして「構成管理にコミットするときには、コミットログにチケットIDと変更概要を記述する」ということを守っています。 日々の開発 日々の開発では、まず機能(ユースケース)ごとにチケットを起票します。このチケットは、管理タスクとして使用します。JIRAでは1レベルのサブタスクを定義する事ができます。この機能を利用して数日で達成できる単位(どちらかというと、CVSのコミットに都合の良い単位や開発者にアサインしやすい単位)で、サブタスクにチケットを分割していきます。サブタスクは、タスクが発生したり、お
分散バージョン管理Git、Mercurialを絡めたチケット駆動開発で、興味深い事例があったのでメモ。 【事例1】 gitだからこそできるチケット駆動開発のやり方 - kunitの日記 今やっている方法は、作業するなら作業用のブランチを切れ!それにはチケット番号を付けろ!という方式にしている。 たとえば会員管理の機能に追加したい場合は以下のような手順になる。 1. 会員管理を拡張したいなぁ 2. じゃRedmineでチケットを切るぞ 3. チケット番号が振られた(たとえば #567 だとする) 4. さぁ、ブランチ切るか(members_567) 5. そのブランチで作業開始! 濱野さんがWEB+DBでも入門Gitでもかかれている「トピックブランチ」というものの良さが本当に現れてくる。 【事例2】 Mercurialを使った俺々バージョン管理ノウハウまとめ(2009年夏編) - 文殊堂 t
ここ数ヶ月の成果。やっぱり中心にはgitがある。 チケット駆動開発の良さはわかっていたが、なかなかうまくいかないなぁと思っていたが、gitをちゃんと使うようになってそれができるようになってきた。 チケット駆動開発を実践するにはまずはチケットをきらないといけない。けど、それができない。やっぱりいきなり手をつけちゃうんだよね。それってなんでそうなっちゃんだろうと常々思っていた。 それをある意味抑制するやり方。今やっている方法は、作業するなら作業用のブランチを切れ!それにはチケット番号を付けろ!という方式にしている。 たとえば会員管理の機能に追加したい場合は以下のような手順になる。 会員管理を拡張したいなぁ じゃRedmineでチケットを切るぞ チケット番号が振られた(たとえば #567 だとする) さぁ、ブランチ切るか(members_567) そのブランチで作業開始! 濱野さんがWEB+DB
チケット駆動開発を実践して、色々考察してきて、ベストプラクティス集を作りたいと思っている。 理由は、チケット駆動開発とアジャイル開発の密接な関係を明確にして、アジャイル開発を簡単に運用できるノウハウとして公開したいからだ。 僕は、チケット駆動開発には下記4個のプラクティスが最低限必要だと思っている。 但し、XPのプラクティスと同じだがTiDDの言葉で言い換えているものもあるので注意。 1・チケット・ファースト(Ticket First) 【説明】 基本は、プロジェクトの作業はチケットを受け取ってから始める。 チケット無しで作業はしない。 また、SVNコミット時に、チケット無しのコミットも不可。 【効用】 チケットがタスクカード(作業指示書)のため、コミュニケーションロスがなくなるし、作業履歴がチケットのコメントとして残る。 進捗情報は全てチケットに書くから、BTSのチケット集計機能でリアル
チケット駆動開発を運用する上で、あった方がよいと思う運用ノウハウをプラクティスとしてピックアップしてみる。 なお、下記には、他の人のアイデアも含まれているので、引用先をリンクしておく。 【元ネタ】 脱Excel! Redmineでアジャイル開発を楽々管理 - @IT自分戦略研究所 チケット駆動開発のベストプラクティスを収集したい: プログラマの思索 チケット駆動開発のFAQ: プログラマの思索 チケット駆動開発 - Live a meaningful Life チケット駆動開発とTestLinkによる開発プロセスの改善 (Shibuya.trac #4.5) - まちゅダイアリー(2009-09-11) 2009-09-17 gitだからこそできるチケット駆動開発のやり方- kunitの日記 チケット単位に並行開発する事例: プログラマの思索 [tech]チケット駆動開発 - Kazumi
チケット駆動開発についてのFAQをまとめてみた。 他に聞きたい質問があれば、コメントして下さい。 チケット駆動開発のFAQを集めれば、チケット駆動開発を普及させるのに役立つと思うから。 【元ネタ】 チケット駆動開発 … ITpro Challenge のライトニングトーク (4) - まちゅダイアリー(2007-09-07) TiDD:チケット駆動開発: ソフトウェアさかば RedmineとTracの機能比較: プログラマの思索 脱Excel! Redmineでアジャイル開発を楽々管理 - @IT自分戦略研究所 Tracのワークフロー: プログラマの思索 ワークフロー機能のカスタマイズ方法 - かおるんダイアリー そろそろTracのワークフローについて語っておくか - almost nearly dead チケット駆動開発は進捗報告作りをどのように解決しようとするか?: プログラマの思索
チケット駆動開発のFAQ、プラクティス集以外にも、アンチパターンを考えてみた。 以下メモ書き。 【元ネタ】 チケット駆動開発のFAQ: プログラマの思索 【再考】TiDDのプラクティス集: プログラマの思索 【1】チケットのアンチパターン 【1-1】乱発されたチケット よくある最悪なパターンは下記2ケースがあるだろう。 設計、開発、単体テストまでは穏便なものの、結合テストで火を噴き、たくさんのバグ報告があがる。 あるいは、リリース直後には、たくさんの障害報告や問合せが殺到する。 そのままチケットに登録すると、チケットが乱発される。 そして、それらのチケットを精査する工数が開発チームの許容量を超えると、チケットは放置される。 こういう状況はもはや、アジャイルだろうがTiDDだろうがCMMIだろうが、手に負える状況ではない。 【1-2】有効期限切れのチケット・放置されたチケット 終了予定日を過
ソフトウェア開発を支援するために、やりたいことや問題を管理するシステムがあります。例えば、Bugzilla1やRedmine2、GitHubなどがそのような機能を持っています。システムごとにやりたいことや問題の呼び方が違います。例えば、Bugzillaでは「バグ」、Redmineでは「チケット」、GitHubでは「Issue」と呼んでいます。ここではRedmineと同じ「チケット」と呼び方を使うことにします。 今回紹介するのは、後からチケットを見たときに、チケットを書いた時に知っていた情報を思い出せるようなチケットの書き方です。 このような書き方は、プロトタイプのような「作って終わり」とか「短期間の開発」というようなソフトウェアでは必要がないでしょう。また、後述の通り、「チケット駆動開発」にも使えないでしょう。継続的に開発を続けていくソフトウェアの開発のように、やりたいことや問題はあるけど
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く