ぷろまねさん

グローバルコンサルティング会社でシステム開発・運用保守(アプリ方面)のプロジェクトマネジャーをしています。2014年PMP取得。アジャイル開発などの開発手法、Redmineなどの開発ツールを話題の中心に書いてます。

XP祭り2014に参加してきました。

9/6(土)に実施されたeXtreme Programming (XP)中心のイベントに初めて参加してみました。

f:id:hnishim:20140907002840j:plain

 
非常に面白かったので、ざっくりまとめておきます。

10:00-11:00 オープニング

アジャイル仙人」らしい小井土さん、福井さんによるXP入門、といいつつほぼ雑談。本イベントのユルい感じが非常に伝わった 笑
ただ、「Context(文脈)に合わせてツール技法を使う」だったり、「変化を受け入れて状況に合わせていく」というのはその通りだよなあ、と。

11:00-12:00 基調講演「XPの俺」関将俊さん

事務局の方からの事務連絡+αを挟んで本日の基調講演。Ruby界隈の人らしい。
まったく聞く側を考えているとは思えない話し方に内容を相まってまったく伝える気が感じられないw
とはいえなかなか面白いこと言ってたと思う。

減らすほうが大変

「導入したプラクティスなどを減らすことのほうが、増やすことよりも大変」というのはなるほどなと。これまでやってきたことを否定することになるので難しい。
オープニングであった「変化を受け入れ状況に合わせていく」という話や、クリステンセンの「創造的破壊」にもつながる話。

問題への向き合い方

XP以前の問題への向き合い方は「問題が起きないように先回りする」やり方であったが、XPでは「問題は起きるものであり、早く見つけて早く直す」ことで「細かく失敗することで、大失敗をしない」ことを目指しているとのこと。
これはベロシティとイテレーションによって「要望全部を期日どおりには出来ないんで、ここまでにこれだけやりましょう」というのと同様に、完璧を求めすぎて息が詰まる感じだった既存のシステム開発を、現実的なラインで手を打ちましょう。そのほうがお互いハッピーですよね?ということであり、これがXPやアジャイルのエッセンスなんだと思う。

TDDの本質

テストを先に書く=テストファーストがTDDの本質ではなく、「テストによって完了を知る(何を以って完了かを事前に明確に定義出来る)」ことがTDDの本質だという話だった。これは聞いてる最中はなるほどと思った気になってたが、これって別に普通に設計して、開発して、テスト書いて、テストして、の場合でもそうなんじゃないか?先にテスト仕様(テストコード)があることで、開発とそのテストが完了したかどうかが前もって定義されている、ということかな?
あと、忍者式テスト=手動で毎日リグレッションテストの話は初めて聞いた。ストイックすぎるだろ、、と思いながら聞いていたが、ホントに出来るのかそんなこと?

13:00-14:30 E-4 ワークショップ「己の中の曖昧さに向き合うが良い」

「曖昧さ」というキーワードだけで参加したところ、中身はTOC (Theory of Constraints, 制約条件の理論)の思考プロセスについてだった。
講師の長身長髪やせ型のお兄さんがメイド服を着て講義をしていたけどご愛嬌。
 
TOCというと『ザ・ゴール』程度しか読んだことがないので、基本的に生産の話という風に思っていた。その後思考プロセスにまで拡張されたというのは何となく知ってはいたのだけど、実際に触れるのは今回が初めてな気がする。
 
内容的には「ロジカル/クリティカルシンキング」関連でやるお話と基本的に同じ。なので個人的にはあまり新鮮味は感じなかった。ボトルネックスループットを重視するTOCの管理理論と直接結びつかなかったので、TOCの思考プロセスってこういう話だっけ?という印象。たぶん違う気がするので近々『ザ・ゴール2』読んでみようかな。

15:00-15:45 A-6 講演「価値創造契約」木下史彦さん

永和システムマネジメント、アジャイル事業部長の木下さんの講演。同事業部では「価値創造契約」と謳い、システム導入費用は0円、解約手数料も0円でサービス利用料で回収する受託開発を3年ほど前からやっているとのこと。
で、その結果は?ということだが「上手くいかないっす」とのこと 笑
その失敗の原因についてがメイントピックだったが、非常に面白かった。今回の中で一番面白かったと思う。

解約手数料0円は顧客のメリットにならない

一番衝撃的だったのはこちら。解約するに際しての手数料を0円にすることで顧客はリスクフリー(その分開発元企業がリスク負担をする)なので普通に考えればこれは大きなメリットなはず。ただし、実際にはそうではないという。
理由は、顧客側も失敗前提でシステムを導入しないから、「入れてみてイケてなくてもタダで解約出来ますから」なんてことは社内で説明することは出来ないから。また、実際解約する場合も再び発注先を見つけなければいけないということで本当にコスト負担がゼロというわけでもないので結局失敗したときのメリットというのは考えらないという。

良い物を作れば長く使ってもらえる、とは限らない

価値創造契約で導入したものの、3ヶ月後に経営方針が変わりERPに入れ替えることになって解約になったケースがあるとのこと。「良い物を作れば長く使ってもらえる」というクライアントファーストな考え方は、恐らく長期的・マクロ的には正しいのだろうが、こういったケースが発生しないわけではないということだろう。

顧客の担当者変更

導入後顧客側の担当者が変更になり、新しい担当者にはその契約形態が理解されにくいという。これは新しい製品やサービス、ビジネスモデルの場合はどうしてもつきまとってしまう問題だろう。

サービス利用料に対する対価

構築費用を取らずにサービス利用料に上乗せで回収しているため、運用保守に充てる工数よりも多くの金額を月々払ってもらうことになる。そのような契約形態だということを顧客側が分かっていたとしても、サービス利用料に対するエンジニアの稼働(=人月)を求められてしまうとのこと。感情的には分かるが、こんなこと言ってくる顧客いるのか。。
 
上記以外にも失敗原因ひとつひとつ面白かったのだけれど割愛。以前に少し真剣に同様なビジネスモデルを考えていたので非常に良い先進事例として聞くことが出来た。

16:00-16:45 B-7 講演「なぜアジャイル開発はうまくいかないのか?」倉貫義人さん

「納品をなくせばうまくいく」の倉貫さんの講演。狭い部屋ながら非常に多くの聴講者がいて大盛況という感じ。
メッセージをひと言で言うと「ビジョンとミッションを明確にすることが大事」。
 
人(のマインドセット)は他者が何か言っても直接はなかなか変えられない。一方で、会社の仕組みを変えてしまえば、大半の人(真面目な日本人)の振る舞いは自動的に変わってくるというのはその通りだなと。
僕も、何かを変えるときには各メンバに直接指示するのではなくて、「こうルールを変えます」というやり方で舵を切る方法を多用している。そのほうがメンバの心的な抵抗感も抑えられ、結果としてレバレッジ(変える努力に対して得られる効果)が効く。
 
また、「会社とは何か?」という話では、従来の会社の役割と、倉貫さんの思う新しい会社の役割を以下のように対比させていた。
  • 従来の会社:ビジネス活動に必要な職能を寄せ集めることで効率性を求める
  • 倉貫さんの思う新しい会社の役割:ビジョンを共有する
こういった会社の役割といった議論は経営学周辺では良く聞く話だし、会社の役割はビジョンの共有だというのもまったく新規な発想ではないのだけれど、こういうことがプログラマ・エンジニア出身の方から出てくるというのは凄いなと。 
「納品」をなくせばうまくいく

「納品」をなくせばうまくいく

 
 

17:00-18:30 A-8 LT祭り

Lighting Talk、通称LT。5分の発表+1分の転換時間で合計14組(≒人)?が次々にプレゼンを行う。雷のように速いからLighting、なんだよね?
どんどん話題が変わるし、5分のプレゼンだからみんな早口だし、すごく脳みそを消耗する90分でした 笑
しかしどれも個性も強く、内容も濃く、かなり刺激的な時間でした。これは次回やってみたい!

18:30-19:15 A-9 クロージング

クロージングという名の書籍プレゼント大会。初回参加ということで最初に選ばせていただき、『アジャイルプラクティス』を頂いてきました。近々書評あげます!

f:id:hnishim:20140907002924j:plain

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣

 

 ということで以上。非常に面白かったし、為になったと思うので、次回も是非行きたいと思います。 

 

Extreme Programming Explained: Embrace Change, 2/e

Extreme Programming Explained: Embrace Change, 2/e

 

  

XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法

XPエクストリーム・プログラミング入門―ソフトウェア開発の究極の手法