人が陥りやすい罠と闘うために、ルールというベースラインを 〜 横浜道場番外編 「Challenge our Product Development's Assumption Change! ~ adapt PDAC to PDCA ~」に参加して〜
こちらに参加しました。
プロジェクトを円滑に進めることを、かなり高い視点から考える機会になりました。江端さん、皆様ありがとうございます!
以下に私なりの解釈をまとめます。
# もはや聞いた話と若干違う気も。。。
人が陥りやすい罠と闘う
「プロジェクトの成否ってのはなァ・・・仕組み次第なンだよ」
スクラムは人が陥りやすい「罠」の解決を目指すフレームワークとも言える。
スクラムを選択しない場合も、下記の罠と闘う仕組みを考えよう。
そして、他にも罠はたくさんあるので、日々の中で見つけていこう。
◇考えを知り合おう!
自分と相手の「当たり前」は違う。そして、考えの違いを知ることは成長の鍵だ。
だが、自分と相手の考えをどう知り合えばよいのか?
人は、「相手に確認してみる」ことをしない傾向がある。
※スクラムには、確認し合うための仕掛けがたくさんある!
◇常識を疑え!
皆が「常識」と思っている部分を工夫できれば、 劇的な改善が得られるかも。
でも、「常識」は中々再考しないもの。
◇改善をしていこう!
改善の重要性は誰でも知っている。
だが、日々の雑務(改善以外の行動)に忙殺されがち。
我々にとっての成功とは何だろう
プロジェクトの成功とは何か?一緒に考えよう。
黒字化?納期内にシステム完成?顧客の要求を満足すること?それとも、メンバーが楽しむこと?成長すること?
そしてその中で、本当に大切なものはどれ?*1
ルールというベースライン
ルールはプロジェクトの成功に必要か?答えはYes。
ルールを作らないこと = 柔軟 ではない。
ルールはベースラインになる。適切なルールは、柔軟に改善していくために必要。
特に、働き方のルールは、話し合われることは少ないが、プロジェクトの最初に決めるべき。働き方を話合うベースラインになる。
プロジェクトの成功の定義を満たすため、人が陥りがちな罠の解決するために、ルールを考えよう。
◇気をつけよう:常識を疑え!
…いつの間にか、ルールが常識になってしまっていないか?本当にそのルールは必須か?
人の陥りやすい罠がここにも!
Challenge our Product Development's Assumption Change!
価値創造の迷路から抜け出すために 〜独創はひらめかない を読んで〜
共通部門に在籍しているものの、何をやれば価値を提供できるだろう、と思考の迷路にいる私が、「独創はひらめかない」を読んで琴線に触れた点の一部をまとめてみる。
以下は、一番心に残った部分の引用。
そのアイデアを同僚やスポンサーに説明する場面を想像する。
皆が「すごいこと、考えたなあ」と驚いた顔をする。
その場面が鮮やかに思い浮かんだら、いいアイデアだ。
しかし、「説明しても、あまり納得する人はいないだろうな」
と思うときは、あまりいいアイデアではない。
いろいろ見直せて、やる気も出て、よい本だと思います。
- 作者: 金出武雄
- 出版社/メーカー: 日本経済新聞出版社
- 発売日: 2012/11/23
- メディア: 単行本(ソフトカバー)
- 購入: 1人 クリック: 2回
- この商品を含むブログ (7件) を見る
素人発想
ごく身近にある問題に対して、純粋にこうあってほしい、という思いをスタート地点にする。アイデアは出やすくなるし、具体的な目標があるので、「研究が有用な場面を探し求める」必要もない。
思い切って簡単化
本質的部分を除いて「省略」する。最も価値がある研究は、価値ある部分問題を解決する、ちょうど十分な研究である。本質理解の試金石として、論文のメッセージを1つに絞り込めているか確認する。現在の部分問題をちょうど示す、よい例題を作れるとよい。
やりきってみる
周りの目を気にせず、楽天的にやりたいことをやってみる。ためらわずにやりきることで、「何が困難か」わかるようになる。
私がアジャイル崇拝をやめてウォーターフォールを愛するようになった7つの理由
アジャイルがダメだと思う7つの理由 - arclamp
にインスパイアされて、自分なりの考えをまとめてみました。一部SI前提で書いています。
制作(および詳細設計・結合テスト)フェーズの全体スケジュールを見通しやすい
確かに、全体スケジュールの完全なコミットメントは不可能です。しかし、少なくとも、信頼性の高い見通しは必要です。そもそも予算が下りません。顧客側組織の予算編成・執行体制を変えるべきだ、何て寝言を言えるはずもありませんし、見通しもなしに予算を出すべきだとも思えません。
ウォーターフォール型の開発プロセスでは、開発プロジェクトの大部分を占める制作(および詳細設計・結合テスト)フェーズの全体スケジュールを、先行する計画・設計のフェーズでじっくりと吟味します。
ウォーターフォール型の開発プロセスは、問題があった時に調整が効かないかのように言われています。しかし、ウォーターフォールにはフェーズゲートがあります。想定よりも制作が難しいようであれば、単に制作フェーズに進まなければよいだけです。もし技術的な不確定要素があるならば、設計フェーズにおいて「スパイク」を行ったり「重要なユースケースを1, 2個実装」したりすればよいはずです。
アジャイルな開発では、実際に数イテレーション回した結果としてのベロシティと、リリースまでに実現したいストーリーポイントの総計を元に、全体スケジュールを立てる形かと思われます。しかし、ベロシティは所詮「まだ作っていないフィーチャ」とは直接関係のない実績にすぎません。作っていないフィーチャについては、まだ大した設計すら行っていないのです。想定していなかった技術的な困難が存在しない保証は、どこにもありません。
必要充分なアーキテクチャを吟味できる
システム全体の段階的詳細化を繰り返せば、必要充分なアーキテクチャを構築することが可能となります。必要以上に緻密でもなければ、YAGNIと無責任に叫んで、明らかに必要な部分を後回しにするわけでもありません。
アジャイル型の開発では、アーキテクチャを充分に吟味する前にいくつかのフィーチャを構築しがちです。これらは後々技術的な「sunk cost」となり、最適なアーキテクチャの実現を妨げる可能性があります。
もし実際に実装を行ってみないとアーキテクチャの妥当性が分からないのであれば、事前にコアドメインだけを実装してみる、などの手段もとれるはずです。
ステークホルダ間の利害関係の調整をじっくり行うことができる
ステークホルダ間の利害関係の調整は、非常に重要かつコストも高く、失敗しやすいポイントです。じっくりと調整し、明文化し、何度も推敲と議論を重ね、全体のコンセンサスを得る必要があります。そして、そのコストの高さから、何度も行うのは得策とは言えません。
アジャイルな開発では、この困難な部分を、お金を支払う顧客(PO)に一任し、短いタイムボックス毎のアップデートを要求します。「ステークホルダ間の利害関係の調整」を「(例えば)2週間おきに」「顧客が」行う。これは現実的とは思えません。
開発チーム側に顧客プロキシを立てる、といった代替案もありますが、社外の人間が利害関係の調整を行うと、ますます調整のコストは高くなります(というより、大抵は不可能ではないでしょうか)。
責任の分担・階層化ができる
システムの全体が見通せて、必要な仕様が決まっていれば、適当な単位で各チームに責任を分担出来ます。問題が発生した場合も、どのチームが何をすべきか/すべきだったかは明確です。また、これによりオフショア・ニアショア開発が可能になります。これは大きなメリットと言えるでしょう。
特に大規模な開発では、このような分担なしには、プロジェクトのカオス化を防ぐ事は困難です。「自己組織化チーム」の集合では、プロジェクト全体として上手く回っているかどうかは、誰が担保するのでしょうか。プロジェクトリーダーでしょうか。各チームに自律的に行動してもらっているのに、どうやって担保するのでしょうか。カオスに陥りそうです。うまく回るイメージがわきません。
出来る人もいるのかもしれません。しかし少なくとも、自分がこのプロジェクトリーダーになると思うと、胃に穴が開きそうです。
並列度を高めることができ、完成された製品を素早く提供できる
前項と関連しますが、分担出来れば開発の並列度を上げることができます。これにより、完成した製品をいち早く顧客に提供することが出来ます。
※もちろんチームが増えるほど複雑度は増すので、CIや全体での定例mtgなどは必要で、線形オーダで効率が上がる事はないでしょう。
よく言うアジャイル型開発の「迅速なデリバリー」は、全体の一部分のデリバリーに過ぎません。エンタープライズなシステムは、一部分だけでは利用価値がない場合がほとんどです。また一部分だけを先行導入してしまうと、後々データ移行等が苦しくなります。そもそも、先行導入したシステムの運用は誰が行うのでしょうか。その後、インクリメントがリリースされるたび、運用方法が変わって行くのでしょうか。
リーンスタートアップのbuild-measure-learnのループを回す、という話もあります。しかし、エンタープライズなシステムで、短いループで「システムの価値」を継続的に検証していく必要があるのでしょうか。事前の検証で十分な場合の方が多いのではないでしょうか。
洗練された形式知が手に入る
ウォーターフォールのフェーズゲートは、ほとんどの場合「形式知(大抵は仕様書などのドキュメント)」を要求します。フェーズゲートをくぐりぬけるうち、これらの形式知は何度もレビューされ、洗練されていきます。
「洗練された形式知」の存在は、人やベンダーを交換可能にします。これは属人性・べンダーロックインの問題を解決します。また、プロジェクト毎にこのような「洗練された形式知」が生成されることは、標準化の実現や、ノウハウ・ベストプラクティスの蓄積など、組織としての成長を支援します。
アジャイル型の開発では、知見はチームメンバーの中に暗黙知として蓄積します。確かに暗黙知は形式知よりも「帯域幅」が広く、近視眼的には効率もよいです。しかし、上記の理由から、大抵のSIerでは「洗練された形式知」を選ぶのではないでしょうか。
というより、大抵のSIerには既にこのようなノウハウが蓄積されています。これらを放り投げてまで、新しい開発手法を適用するほどの価値があるのでしょうか。
専門分野の単位で作業分担ができる
アジャイル型の開発を行うのであれば、開発チームはユースケース単位(あるいはストーリーでもフィーチャーでも呼び方は何でもよいです)で開発することが必須といえます。よって、コンウェイの法則から、チームは職能横断型であることが望ましい、という結論が導かれます。
しかし、職能横断型のチームというのは、基本的に組織として管理しづらいです。メンバーが抜けたらどう補充するのでしょうか。それに、薄く広く知っている開発者よりスペシャリストの方が、ある特定分野では明らかに技量が上です。こういったスペシャリストの個性を活かすことこそが、組織の強みにつながるのではないでしょうか。
追伸
はてなブログに若干悪戯されましたが、本日は4月1日です。私の中に新しいペルソナを生み出して記事を記述してみました。とはいえ、(若干知ったかぶり感はあるものの)内容は真面目に書いています。
私の2013年 2月のツイートを適当にまとめてみる
2013年 2月のツイートをまとめた備忘録。グルーピングは非常に適当。
- 過去のツイートまとめはこちら
主な参加イベント
実践メモ
先週の教訓:ベロシティは有用な指標だけど、一番大切な「スケジュールへのコミット(直感的に出来そうと感じて、それを(ある程度)約束出来る)」を軽んじてはいけない。
2013-02-25 20:32:05 via web
もう一度。「今それどころじゃない」とかいってタイムボックスを無視して、よかったと思った経験は今のところ一度もない。 > 自分
初期の見積もりの当てずっぽう感と、初期の設計の想定漏れの量がやばい。初期に正しく想定出来るべきだと考えて、「失敗」して自分を責める技術者はどのくらいいるのだろう。少なくとも私はその一人でした。
2013-02-19 22:25:54 via web
ストーリーのテンプレの冒頭「(ペルソナ)として、」を、「(ペルソナ)は、」にした方が個人的にしっくりくることを発見した。「(ペルソナ)は」の方が、仮説が嘘っぽい時に違和感を強く感じる。
2013-02-12 12:35:24 via web
「仕様とシナリオは相補関係にある」とどこかで習ったが、同じように、「要点を絞った完結な説明」と「ストーリー」もきっと相補関係にある、はず。
2013-02-09 17:44:28 via web
ポモドーロテクニックのタイムボックスの使い方を誤るとケアレスミスを招く(というか招いて後輩に迷惑をかけた)。スプリントのスプリントデモのような「抑止力」を取り入れられるとよいのだが。思いつかない。
2013-02-01 21:21:15 via web
energize
「リーダーの大切な資質を一つだけ挙げるとすれば、明るいこと。リーダーに相談にいったら、元気になって帰ってくるようでなければ」by 野中郁次郎
「もう1人いたらやってみる」 / 社内勉強会の初めの一歩 URL
ブログのススメ URL
この視点は面白いですね。 / デブサミ2013で悪ふざけに関する真面目な話をした - 勘と経験と読経 URL
「○○やりたい」と「これがあれば○○できる」との間はだいぶ合って。後者は色々お手伝いできると思うんだけど(しなくてもできるだろうけど)、前者は正直難しいなぁと最近特に思う。
◯◯できたらいいんですけどねぇ…ってのは、やってみたら良いと思う。ただ全部思い通りにならないから、その時には一旦それを前提として受け入れて、デザインすれば良いわけで。で、やってるうちに最初のことができるようになるかもしれないし、そもそも不要になってるかもしれないし。
あの人と一緒に働きたいと思える人と、一緒に働けていますか? 自分もそう思われていますか? / MY JOB WEND TO VIETNUM? DevSumi ver. on @slideshare URL
とても心にしみますねー。 / 愛せないコードを書くには人生はあまりにも短い on @slideshare URL
agile
これはとてもいい資料だなー。 / もうアジャイルなんて言わないよ絶対 - Developers Summit 2012 FB - by @TAKAKING22 on @slideshare URL
どんな方法論も、最初は知って試してみる時期があり、自分の現場でうまくいかないことにヘコみ、それを一旦は忘れて、自分の頭で問題の本質から考えるようになって、そうして少しずつ理想に近づいていくうちに、そのうちに外からは、その方法論を実践しているように見えるようになる。それが守破離か。
I know I don't know. DRY も YAGNI も。/ 適切に抽象化されたコードとはなにかって話 - life.should be_happy # => 1 examples, ? failures URL
とてもやってみたくなった。 / タスク管理や業務改善を体験できる『かんばんゲーム』がすばらしすぎる | 世界 URL URL @daipresentsさんから
Q. 『...同時に「要求という言葉が嫌いだ」とも書かれています。』 A.『 ...ひどい言葉だね。』 / Jonathan Rasmusson さん突撃インタビュー( 後編 ) URL
2013-02-09 17:23:00 via web
trust buildingののち、価値を伝えて理解を得られたら、という道のりになるわけだ。顧客に価値が伝わらないなら、きっとあまりやるべきではないのだろう。
2013-02-08 23:36:58 via web
「タイムボックスが守れないということは、スクラムチームがまだ未熟なことのあらわれなんだ」 この視点はあまり無かったな。言われてみれば・・・ってことなんだけど。 #scrumbcbook
devsumi 2013
#devsumi 2回目参加でした。「よし、やってやるぞ!」感が毎回半端じゃなくでるデブサミマジック。今回一番記憶に残っているのは、 @ursm さんの「汚いコードで開発スピードだけを追い求める事は出来る。でもそうやって作ったプロダクトで幸せになった人は一人も居ない」というお言葉
2013-02-16 15:17:27 via web
興味深くて一気に読んでしまった。 / 2013 デブサミ 「SIの未来ってどうなのよ?」 by @serverworks on @slideshare URL
とても勉強になります。再演が聞きたい… / Kanban and Scrum URL
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜 on @slideshare URL
devlove たのしい自分戦略
#devlove たのしい自分戦略に参加しました。今自分がいる枠組みの意味を理解し、そして一度ゼロベースで理想型を考えて、もう一度戻って来よう!で、組織という枠に「なんとなく」隷属することなく、その良さも問題も知って、積極的に活用して企業人ライフを楽しもう。とメッセージを解釈した
2013-02-05 00:11:41 via web
会社は自分がやりたい、一人ではできないことを実現するためのツール #devlove
ユーザーの本質的要求からビジョンを描き提案する - OpenCU
一日目に参加してきました。リフレーミングの必要性, ラポールの形成, UXマップ(特に軸をどうするか)等々を学び、とても勉強になりました / OpenCU WorkShop:ユーザーの本質的要求からビジョンを描き提案する(全3回) URL
junitbook
唯一変わらないのが「人間」のスペック -> よって、最近の言語は「表現力」を重視する方向になっている。 #junitbook
2013-02-02 18:09:22 via web
テストが全部通ってるのにバグった、なぜ? → モック使ってたんだけど、本物の方の動きが変わってた。おそろしや。だから他のテストも併用しないといけないのか。 #junitbook
chef
「初めてのChefの教室」を開催しました。(動画&資料) - Engine Yard Blog JP | Engine Yard Blog JP URL
DDD・GOOS
テスト駆動開発の進化 on @slideshare URL
validation borad
The #ValidationBoard just launched! FREE tool to test startup ideas without wasting time or money. URL @Leanさんから
ITS
commitログにITSのチケットIDを打ち込むのが面倒になってきた。うまいソリューションないかな?Mylynとかを使えばいけそうな気もするが、Mylynはあまりしっくり来なくてやめてしまったんだよなあ。再チャレンジしてみようかなあ。
2013-02-19 22:42:31 via web
ビジネス・SI
業務系SEの今後について on @slideshare URL
業務系SEの末路的なお話でして URL
2013-02-19 09:48:33 via web
「顧客が出す金」=「顧客価値」でしょ。それ以外に定義のしようがないし、一致しないケースがあるとすれば取引当事者間の情報格差が大きい場合で、平たく言うと詐欺。>RT
フォード生産方式について - ハイパーレガシーコードクリエイターのblog URL
諸々
学びは「Action」の視点でまとめた方がよいことに気付いた。自然に内容が凝縮されるし、行動につながりやすいし。デブサミ様々。
2013-02-16 20:23:56 via web
最終的に ゴール -> Action -> 裏付け, メモなど という流れでまとめてみるのはどうだろう。
2013-02-16 20:29:57 via web
「頑張っているので許してください」という言い訳の向き先は、上司でも顧客でもなく、自分自身になりやすい。頑張っているので人に迷惑をかけても仕方がない。頑張っているので解決策を検討する余力がなくても仕方がない。頑張っているので長期的視点でのデメリットを考えるのはつらいけど仕方ない。
2013-02-23 17:07:48 via web
そんな一大決心みたいに意気込まなくても、「あ、この人とは一生付き合っていきたいな」みたいななんとなくな覚悟でも、相手にはけっこう伝わる。「今自分が過ごしているこの空間を大事にしたいなー」とか。場を大切にしようって思いはけっこう皆、無意識下に汲みとってくれるように思う。
アクティブリスニングのコツの1つ:「結論に飛びつかない。自分の理解が正しいか相手に確認する」。おっとこれは…気をつけよう
2013-02-09 22:37:43 via web
「やらない明確な理由がないからやる」のか、「やる明確な理由がないからやらない」のか。この文化の違いが、違いが、、、。
2013-02-12 12:48:44 via web
確かに。「選べないことに気付いていない」場合があるのが厄介。当たり前になってしまったことこそ見直すべき、とはよく言われますね。/ 会社員は「選べない」ことばかり - 脱社畜ブログ URL
暗黙知と形式知は違うものだ、と認識するだけでも大きく違うのではなかろうか。「暗黙知が存在している = 形式化をサボっている = 職務怠慢」 と言う認識が意外とありがち、な気がする。で、知識は壁越しにぶん投げて共有できるものと思ってドカーン。
2013-02-07 23:48:53 via web
私の2013年 1月のツイートを適当にまとめてみる
2013年 1月のツイートをまとめた備忘録。グルーピングは非常に適当。
主な参加イベント
- 「Lean Diagram」に学ぶProblem/Solution Fit - POStudy
- 『JUnit実践入門』写経・実践会 in 横浜 #2 - connpass
- Scrum Alliance Regional Gathering Tokyo 2013
- 1月17日〜18日 ユルゲン・アペロ 「マネジメント3.0」アジャイルリーダーシップ実践研修
- Enterprise User eXperience Design -ユーザー中心設計の実践 - - DevLOVE
- アジャイルサムライ読書会 横浜道場 特別編「ワールドカフェ再び」 - アジャイルサムライ読書会 横浜道場
- LeanStartupNight - Startup Begins - - DevLOVE
ツイート
「考えないための標準化」はダークサイド。標準はかならず失効日を決める。
2013-01-02 14:53:59 via web
プロジェクトを止めるのに説明が必要、ってよく聞くんだけど、ものすごく危ない状況だよそれ。プロジェクトを進めるのに説明が必要という状態を保っておかないと。
Noから始める。毎回根拠を確認し、なくなったら自動でやめられる仕組みづくりが大切。
色んなワークショップのお手伝いを何度かやって気付いたことが一つ。チームの生産性を上げるのは、「多様性」と「それを活かせる優秀なファシリテーター」。傍から見ていると15分程度のワークでさえ劇的に差がつくのだから、それが数ヶ月におよぶ普段の仕事を考えると怖い。
多様性重要
ボーイスカウトルール
私の完璧主義思考から生まれるよくないパターン。「ここが気に入らない、ちょっと直そう -> でも、xxの方が優先順位高いし、どうせならこっちもやりたい -> そんなに時間はない -> 結局何もやらない -> できればやりたいことがたまる -> 最初に戻る」
2013-01-19 15:02:57 via web
「完璧主義はxxの問題があるのでよくない」というより、「ボーイスカウトルールやろうぜ」といったほうが楽しい。ひとまず我が家の(最低限の)清潔さは、ボーイスカウトルールによって保たれている。
2013-01-19 14:45:39 via web
ボーイスカウトルールは楽しいですし、initialコストゼロです。強くお勧め。
リーンスタートアップまわり
インセプションデッキだと、ソリューションの価値, 目的は表現されるが、その目的が本当に正しいか(本当に顧客が求めている?お金や導入コストを支払ってくれる?そもそも顧客って誰?)があまり表現されない(少なくとも、私は表現できていなかった)。リーンダイアグラムを先に使うのがよいかも
2013-01-29 00:13:52 via web
リーンダイアグラムをいじっていると、いかに自分がSolutionばかり見つめて、ProblemやSwitching Cost、ましてearly adopterが誰かを深く考えていなかったかが分かる。マーケターなら当然のことかもしれないが、私は出来ていなかった。
2013-01-30 21:09:14 via web
よいKPIの3原則の1つ「KPIは作業者にとって、興味深い作業の一部である」。とりあえず私は自分がどのプロジェクトにどのくらい作業を割り振ったかの実績等全く興味がないので、誰か適当に書いておいてほしい。
2013-01-19 12:50:36 via web
KPIを決めるのは、とてもとてもスキルが要る。
雑感
不機嫌の8割は、自分が受け入れている常識を破る人に対する怒り「許せない事なんてない。許したくないだけ」か、自らの非を認めたくないために、無意識のうちに相手の非とする怒り「悪いのはあちら」でなりたっている。気がする。つまり本来不機嫌になるほどでもない。
2013-01-29 08:04:54 via web
「これはタイプの問題じゃない、土俵の問題だ。要するにおまえはまだ実践という土俵に上がっていないんだ。だからソフトウェアを脳みそからひねり出した理屈なんかで計ろうとする。見当違いもはなはだしい。背の立つところまでしか海に入ってないのに、俺は海を知ったと公言してるようなもの。」
2013-01-27 13:35:39 via web
「生きてるだけで丸儲け」の意味 - teruyastarはかく語りき (id:teruyastar / @teruyastar) URL
アジャイルになる、系のおはなし
導入でなく、少しずつ目指すものに対して変容して行くものだ、という考え方があり、私はこの考え方が好きです。メンタルモデルの変化が必要なものの「導入」って大抵自己満足。ましてや「アジャイルを」「導入」とかだと日本語としておかしいと感じる。 #agilesamurai #横浜道場
2013-01-23 00:36:12 via web
アジャイル導入!とか、その時点で少しもアジャイルじゃないし。
気付くと「アジャイルになる/する」ことが目的になっていることがあって、そのたびにはっとする(というか、こうなっているときは周囲への愚痴しか出てこなくて少しも建設的でない)。よって備忘録。「何のために」を元にしないと上手くいかないし成長もしない、と思う。
2013-01-24 19:09:46 via web
最初あった志は、ともすると簡単に忘れられて手段だけが残る。
「皆さんは赤いピルを飲みたいんでしょう?青いピルのスクラムをやるんですか。」 / Jim Coplien のスクラムマスター研修を受けた - word-iteration (id:takeshinoda) URL
赤いピル = いわゆる破壊的イノベーション(だと理解している)
なぜアジャイルなのですか?改めて考察するウォーターフォールとの違い on @slideshare URL
Scrum Regional Gathering 2013
非常に広い世界が一つに収束していく感じを受ける、凄い講演でした / Phronetic Leadership And Agile Scrum Gathering Tokyo 2013 by @hiranabe on @slideshare URL
野中先生の講演は、新しい視点や思考の枠組みを得られたことだけでも十分すぎるほど素晴らしいが、感動やInspireを得られた点がすごいんだな、と、講演メモを見返していてしみじみ思った。
2013-01-20 17:09:48 via web
目から鱗が落ちる講演(これだけでも十分すぎるほど凄い)は何度かあるが、感動する講演はなかなかお目にかかれない。
#sgt2013 無知は間違った自信を増幅する。 / Dunning?Kruger effect URL
2013-01-24 18:59:09 via web
直観的に、そしてこれまでの経験則からして、これは絶対正しいと思う。
#sgt2013 でcopeに「改善マインドよりcommon senseを重視するのは何故ですか?改善マインドがあればcommon senseは徐々にすりあわせられると思うのですが」と質問したところ「レトロスペクィブスでcommon senseが変えられると思うかい?」と返された
2013-01-23 00:57:12 via web
改善って、そもそも目指すところはある程度理解できている前提。
#sgt2013 スクラムの基本用語を知っている方なら気軽に遊べる、各プラクティスにおける要素毎の優先順位をつけて、それが偉大なる先人(Cope含む)とどの程度マッチしたかが見られるゲーム。遊んでいるといろいろ気づきがある。 URL
2013-01-16 00:09:11 via web
パターン
改めて見直す。考える契機になることと、とりあえずのヒントを与えてくれる事と、共通言語になるところがパターンの素晴らしいところか、と浅学ながら思ってみる。 / Scrum Patterns Summary URL
2013-01-29 22:19:36 via web
パターンがたくさん! / URL
2013-01-29 22:28:03 via web
Pattern mining-scrum gatheringtokyo20130115 on @slideshare URL
SIerなど
エンジニアのSI業界ディスって、「誰にとっての問題か、どのような意味で問題か」の問題定義がすごく弱い印象。「問題だ問題だっていうけど、それお客さんが言ってたんですか?」と聞くと「まずお客さんを変えていかなければ」とか平気で返ってくる。せめて「未発掘のニーズがある」ならわかるが。
悪意がある元請け/上位者をどう扱うか、みたいな議論がよく起こるけど、これはもう相手に悪意がある以上、騙すか騙されるか逃げるかしかないような気がして、騙すのも騙されるのも私は嫌なので、逃げの一手です。 #agilesamurai #横浜道場
2013-01-23 00:52:51 via web
SIerにいるエンジニアが残念な気持ちになる現場の現状リストかと思った。 / SIer系エンジニアがベンチャーで働き始めるとぶつかる壁のリスト - IDEA and Players URL
2013-01-14 11:35:44 via web
手近な不満点に反応的になるだけでは籠の中の鳥。
システム思考、ビジネス全体の理解、それと大前提の自己マスタリー。
このあたりがカギか?
仕事のフローを見える化し、一番のボトルネックを改善する。
2013-01-02 14:55:32 via web
プラクティス
そうか、卓上カレンダーとドットシールでもいける! / ニコニコカレンダーURL
2013-01-31 22:39:22 via web
「幸福度」は間違いなく重要な指標。
必要なのはやることリストではなく、やらないことリストな気がする。というか、私の今年の抱負はいつになったらできるのか。一応毎週振り返りしているので、それでよいといえばよいのだが。
2013-01-14 11:58:40 via web
「やりたいこと」って放っておくと無尽蔵に増えて、次に何をやるかについて「分析麻痺」状態になりがちですので。
(こうなると、経験上誰かに言われた「緊急に見える」タスクに隷属することになりがちで、これは悲惨・・・)
これも実践の積み重ねかなー。
その他
amazonで「スクラム」を検索しようとして「すく」まで打ったところ、検索キーワード候補のトップ5が全てスク水で残念な気持ちになった件。retargetingの結果ではないことを信じたい。
2013-01-19 15:15:42 via web
これは酷い。
「可愛い」って言われたときの女の子の反応一覧だって。個人的にでお願いします URL
やっぱ4だな。
便宜上アカウントがあるだけでほぼ利用していなかったFacebookを、本格的に利用してみようと思っている。
2013-01-19 16:56:54 via web
ご存知の皆様はよろしくお願いします!
イテレーション毎に価値ある成果を届ける 〜アジャイルサムライ読書会 横浜道場 「現場で実践する」に参加しました #agilesamurai #横浜道場 〜
アジャイルサムライ読書会 横浜道場 「現場で実践する」 - アジャイルサムライ読書会 横浜道場に参加させて頂きました。
下記、勉強会にインスパイアされて、私が学んだ/感じたことのまとめです。
※例によって、勉強会のまとめではなく、内容のごく一部にしか触れていないことにご注意を。
アジャイルサムライ横浜道場にご興味を持たれた方はこちらをチェック!
イテレーションのゴール = 顧客に価値ある成果を届けること
「イテレーションのゴールは、お客さんに取って価値ある成果を届けることだ。」
本日は、これまで何気なく読み飛ばしてしまいがちな一文に引きつけられました。
- 「設計書」のような、その時点では何者でもないもの
- 納品出来ない品質のコード
ではよくない、というのはもちろんなのですが、
- それだけでは何も生み出さない「機能」
- もう1イテレーション実施すれば、価値を生み出すであろう「中間物」
- とりあえず動くソフトウェア
でも充分でない。そして、もっとも重要な点として、下記を感じ取りました。
- たとえ、「ストーリー」を実現するフィーチャーを作っても、「お客さん」に「価値」を届けなかったら意味がない。
お客さんは誰なのか、この1イテレーションの間に、「価値」を届けるにはどうすればよいか。その中でも最も優先度の高い価値は?一文から改めていろいろと考えさせられました。
※私は、何となくふわっとした「とても抽象的な」レベルの「顧客」が、「もしかしたら必要かもしれない」何かをする、そんなレベルのストーリーを記述しがちだったで、よい学びとなりました。具体的な顧客像、具体的な顧客の課題感(の仮説)が大切。
モックの本当の価値とは? 〜『JUnit実践入門』写経・実践会 in 横浜#3 #junitbook に参加しました〜
『JUnit実践入門』写経・実践会 in 横浜 #3 - connpassに参加させて頂きました。
下記、勉強会にインスパイアされて、私が学んだ/感じたことのまとめです。
※例によって、勉強会のまとめではなく、内容のごく一部にしか触れていないことにご注意を。
※そして、開催者によるこれ以上ないクオリティのまとめ記事はこちら。
次回の募集も始まっているので、ご興味をもたれた方は是非!
モックとスタブの違い
「モック」と「スタブ」ではassertionのタイミングも対象も違う。 スタブ -> sutの結果をテスト, 最後にassertion。モック -> sutのモックの扱いかたをテスト。最初にassertion(を指示)、かな。 #junitbook
2013-02-02 16:55:36 via web
「モック」のためのライブラリを用いて、「スタブ」的なことも問題なく実現できる(特にMockitoのようなlenient mock)ので混同しやすいが、役割も注目点も違う。
モックの価値とトレードオフ
モックの利用を促進させると、オブジェクト達がどう会話すべきか、に目が向きやすい #junitbook
2013-02-02 17:01:17 via web
モックによって、オブジェクト同士の「今注目している」会話だけに着目してテスト出来る。ただ、「会話」の全体の整合性をどこかで取る必要があるし、相手オブジェクトの「生の」動作に起因する問題はUTで検知出来ない(モックは期待通りの動作しかしない)デメリットもある #junitbook
2013-02-02 17:42:19 via web
テストが全部通ってるのにバグった、なぜ? → モック使ってたんだけど、本物の方の動きが変わってた。おそろしや。だから他のテストも併用しないといけないのか。 #junitbook
モックの本当の価値
モックを用いる事で、SUTと依存オブジェクト(これをモックにする)の、今注目すべきやりとりに集中し、テストとして定義することが出来る。これはどのような価値を生み出すのか。正直なところ、私にはまだ熱く語れるほどの実感がない*1。
ただ、実践テスト駆動開発 テストに導かれてオブジェクト指向ソフトウェアを育てる (Object Oriented SELECTION)にはこうある。
私たちは、実行時のシステムをコミュニケーションしあうオブジェクトの網の目と捉える。したがって設計時には、必要な機能を実現するために複数のオブジェクトがどう協力し合うかという点に注力する。確かに、クラス構造はうまく設計したい。しかし、オブジェクト間のコミュニケーションパターンの方が重要だと考えるのである。
Javaのような言語では、インターフェースを使ってオブジェクト間のやり取りに使えるメッセージを定義できる。しかし同時に、コミュニケーションのパターンも定義する必要がある。これは言わば、コミュニケーションプロトコルだ。命名と規約を使って出来ることはやるが、インターフェース同士の関係やインターフェース内のメソッドの関係を記述する手だてが、プログラミング言語には用意されていない。そのため、設計において非常に重要な箇所が暗黙的なままになってしまうのだ。
私たちがモックオブジェクトと共にTDDを用いるのは、こうしたコミュニケーションプロトコルを明示するためだ。
私たちが主張して来たのは、互いに命令を送り合うオブジェクトに集中すること、そして、その状態を問い合わせる方法を一切露呈させないということだ。しかしこれでは、ユニットテストでアサートする手段がなくなってしまったのではないだろうか。
…
テスト対象のオブジェクトの隣接オブジェクトを、テスト中に代用品と置き換えるやり方の一つとして、…モックオブジェクトを使うことで、起点となるイベントに対して、テスト対象のオブジェクトがどのように隣接モックとコミュニケーションするかについて、自らが期待する内容を定義できるのだ。こうした定義のことをエクスペクテーションと呼ぶ。テストをしている間は、期待された通り呼び出されたことをモックオブジェクトがアサートする。
…
こうしたテスト基盤を適切に用いれば、TDDでの作戦を変える事が出来る。
…私たちはただテスト対象のオブジェクトだけをテストしたいのだということ、それから、隣接オブジェクトがどのようなものであるかが、既に分かっているということだ。しかし実際には、ユニットテストを書いている時点では、こうした協調して動作するオブジェクトは存在していなくても構わない。テストを使う事で、自分たちのオブジェクトが必要とする補助的なロールを明らかにすることができるのだ。こうしたロールはJavaのインターフェースとして定義され、実際に実装されるのはシステムの残りの部分を開発するときだ。私たちはこれを、インターフェースの発見と呼んでいる。
コードを書く上で非常に重要な観点に触れた気がする。
と言う流れで、goosを熟読するモチベーションが高まる #junitbook
2013-02-02 17:46:14 via web
実践と、合わせてGOOSの熟読をしたい。
他の記事(把握できてるだけ)
- 『JUnit実践入門』写経・実践会 in 横浜 #3
- TestCode Refactoring Using ExternalResource #junitbook
- 2013/02/02 『JUnit実践入門』写経・実践会 in 横浜 #3 #junitbook - Togetter
- 『JUnit実践入門』写経・実践会 in 横浜 #3 を開催してきた #junitbook - Shinya’s Daily Report
- 『JUnit実践入門』写経・実践会 in 横浜 #3 に参加してきました #junitbook - くりにっき
- makopi23のブログ 「『JUnit実践入門』写経・実践会 in 横浜 #3」に参加しました
- 『JUnit実践入門』写経・実践会 in 横浜 #3 に参加してきた #junitbook - PoohSunny's blog
- レポート置き場: 『JUnit実践入門』写経・実践会 in 横浜 #3 に参加して来ました。 #junitbook
- 2013/02/02 『JUnit実践入門』写経・実践会 in 横浜 #3 #junitbookに参加しました。 | 薄まる自分
- ryu22eBlog : 『JUnit実践入門』写経・実践会 in 横浜 #3 に参加しました #junitbook
- 『JUnit実践入門』写経・実践会 in 横浜 #3 に参加しました。 - Munch Box
#junitbook @shinyaa31 さん, @t_wada さん, 皆さん, 本日はありがとうございました。非常に勉強になりました!
2013-02-02 21:23:08 via web
*1:恥ずかしながら、私は普段スタブは使っても「モック」を使った事がない。