XP祭り「Agileで始める前に最低限握っておかないといけない3つのポイント」参加レポート #xpjug

スライド

www.slideshare.net

会場アンケート

  • 最近アジャイルを始めたor始めようと思っている人
    • 半数ぐらい
    • 該当者はうってつけのセッションです

自己紹介

  • 渡会健
  • 株式会社アドヴァンスト・ソフト・エンジニアリング
    • 100人ぐらいの会社
    • 経営理念は「ソフトウェア技術を通じて、社員と家族、そして関係するすべてのお客様の幸せを追求する」
  • 機械工学科卒業
  • ほぼほぼPM畑

お客様と握るべき3つのポイント

  • Agileを正しく理解していますか?
  • 仕様変更を受け入れる意味と仕組みを正しく理解していますか?
  • お客様の覚悟(積極的な関与)は本当にありますか?
    • お客様がAgileを利用したいと言い出した場合

Agileを正しく理解していますか?

  • アジャイルソフトウェア開発宣言を読みましょう
  • 間違えてほしくないのは「ドキュメント」などの価値を認めておきながらも動くソフトウェアを作る
    • Agileにドキュメントなんていらないよね?は誤解
    • Agileは変化への対応が大事だから計画は立てたり守る必要ないよね?は誤解
      • ただし、計画に固執して変化を受け入れなくなってはいけない

Agile神話

Agileは早い?安い?
  • 納期短縮できるわけではない
    • 価値を生み出すために思考する時間は長くなる場合がある
  • 設計からテストまで1人でやったりするので単価も高くなる
  • 軌道修正が早くできることがポイント
  • 最終的に使わない機能は作らないこともポイント
    • 価値の高いものから作っているため
    • 最初に決めたから作らなくちゃいけないということがない
WFで解決できない問題もAgileなら全て解決?
  • AgileとWFは対立ではなく選択肢である
    • 向き不向きがあるだけ
  • たいていの場合、プロジェクトマネジメントの範疇の問題があることが多い
    • 予算が少ない
    • やることに対して期間が短い
  • Agileであってもプロジェクトマネジメントは必要

現実のAgileは・・・結構大変です

  • 指示待ち人間がいるチームでAgile開発を行うのは大変だし、チームビルドが重要
    • 年齢や経験があると、抵抗が強いので要注意
  • スピード感はある
    • 8時間/日働くだけでへとへとになる
    • 長時間労働すれば何とかなる世界ではない
  • 正しく理解していない人が多いので、説得が大変
  • スケジュールコントロールが大変
    • 属人性の塊をうまくやって全体の最適を考える必要がある
    • WBSにらめっこだと実態を把握できない
    • サーバント・リーダーシップが必要

現実のAgileは・・・でも楽しいです

  • チームメンバーは積極的に成長する
  • お客様も感情移入がしやすくなる
  • いつもみんなでやっているので孤独感を感じる隙がない

    • 他の人が引っかかっている部分はいずれ自分にも関わる内容にもなる
  • 大切なのは誤解や神話でなく、本当にAgileの姿を正しく理解すること

  • Agileはお客さんと合意してやっていくこと
    • こっそりやらない
    • 後でお客さんと揉める原因になる
      • 自分の会社では言わなかった経験がある(一社目)。ただ、お客さんは騙さなかった

仕様変更を受け入れる意味と仕組みを正しく理解していますか?

よくあるAgile神話

Agileは仕様変更をどんどん受け入れてくれるんだよね
  • WFは仕様をコミットして期間とリソースを調製するが、Agileは期間とリソースをコミットして要求を調整する

ユーザーストーリー(優先順位付き)が重要

  • 追加のユーザーストーリーが出てきたら、やる予定の中で優先順位の一番低い要求をやらない
    • これを実際に理解してもらうことは大変
    • お客さんの性格や興味が人によって違うから
    • この意識を共有できれば、仕様変更や追加はお互いに怖くなくなる

ユーザーストーリーは仕様ではなく要求

  • 仕様は目的や価値に触れていないことが多い
  • 誰のためにどうなってほしいということなどを考える必要があるので、お客さんも含めてチーム全員で考える

お客様の覚悟(積極的な関与)は本当にありますか?

Agileを阻害する要因

  • 如何に短い期間で様々なサイクルを回すかが大事
  • プロジェクトの進行を一番妨げる確率の高い要因とは?
    • お客様の決定や問い合わせに対する回答が遅い
    • Agile手法では、チーム内にお客様を組み込んで一緒の場所で働くことを薦めている
      • 今の日本の商習慣では難しいよね

阻害要因を取り除く工夫

プロキシプロダクトオーナー
  • あたかもプロダクトオーナーの代理人のように振る舞う
ツールの活用
  • メール以外の情報共有ツールを活用する

Agileはお客様に負担をかけます

  • WFに比べると明らかにお客様の負担が多くなる
  • お客様自身の覚悟が重要
    • 「なんとなく流行っているからAgileで」というような丸投げ、神話を信じていての提案をしてきたら、覚悟を確認する
    • 覚悟がなければWFで

関係する皆が幸せになる方法

  • WFでは、
  • 目標=価値
  • 発注者が仕様を提供
  • 開発者は与えられた仕様を元に開発

  • Agile開発では、対立から対話と調和に持って行くことができる

質問

  • Q.お客様に情シスがある場合、Agileをやっていくポイントは何か?
  • A.決定者を連れてきてもらう
    • なかなか難しいけど
  • あとは、報告会に混ぜてもらうとか

  • Q.請負でAgileと言っていたが、自社サービスの方がAgileに向いているのでは?

  • 特に、契約管理でのポイントは?
  • A.後で変わることを了承してもらう
  • 入札の場合、「契約ではなく、要件定義書が最終的な合意」&「要件定義書が変わる」と伝えておく
  • Q.お金を払っているんだからやれと言ってくるような場合は
  • A.工数を見せて報告する
  • 工数が超える場合は追加費用でというな調整をする

感想

  • Agile神話はどれもありそう&身近な人も思ってそうと感じました
  • 「お客さんにも理解してもらう」これが中々大変。特にコンサルとかが間に入ってしまうと…
  • プロキシプロダクトオーナーはできる人が限られそうだと感じました