• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」
 

XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」

on

  • 2,274 views

UStream

UStream

http://www.ustream.tv/recorded/12317150

Statistics

Views

Total Views
2,274
Views on SlideShare
1,800
Embed Views
474

Actions

Likes
1
Downloads
0
Comments
0

4 Embeds 474

http://blogs.itmedia.co.jp 466
http://paper.li 4
http://static.slidesharecdn.com 2
https://app.blogs.itmedia.co.jp 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」 XP祭り関西2011 森崎 修司「プラクティスが有効にはたらく前提は明らかになっていますか?」 Presentation Transcript

    • プラクティスが有効に はたらく前提は明らかになっていますか?~コンテキストを明示して成功事例を分かち合い、更なる前進につなげる~ 森崎 修司 奈良先端科学技術大学院大学 tweets: @smorisaki
    • お題: ソフトウェアに求められるもの• コンテキスト(前提や文脈)なしの議論で・・・「そら、フィーチャ 「品質に決まっの数やろ!」 てるやん!」 2
    • 質問: ソフトウェアに求められるもの• 現実にはこんなことも・・・「そら、フィーチャ 「品質に決まっの数やろ!」 原子力発電所 てるやん!」 スマートフォン の制御ソフト 3
    • 質問: ソフトウェアに求められるもの• お互いのコンテキストに気づかずに、その議論を持ち帰 ると・・・「そら、フィーチャ 「品質に決まっの数やろ!」 てるやん!」 4
    • 現実には起こりませんが・・・• 間違えて現場に持ち帰る可能性もゼロではありません。「品質に決まって 「そら、フィーるやん!」 原子力発電所チャの数やろ!」 スマートフォン の制御ソフト 5
    • 互いのコンテキストを認識しましょう!• どういう前提・制約で意見を述べているのか、さわやか に聞いてみましょう。「そら、フィーチャ 「品質に決まっの数やろ!」 てるやん!」 なるほど。 どんな前提なんでしょうね? 6
    • あらまし• コンテキストの例(もう1回)• コンテキスト – なぜコンテキストを明示するのか? – コンテキスト抽出の方針• コンテキスト記述の例 – サーベイ論文の紹介 – 調査結果とコンテキストを記述した例• 具体例とディスカッション 7
    • もう一つお題を!• 質問: ソースコードの保守性をどう考えますか?ソースコードの品質こそがソフトウェアの価値だ!保 Aさんの言うことな守性の低いコードしか書 らば、間違いはなけないヤツは去れ! いはず。でも、なん となく違和感が・・・ カリスマ エンジニアA 最近、いろんな技術に目 覚めつつあるエンジニアB 8
    • 実は・・・・• 質問: ソースコードの保守性をどう考えますか?ソースコードの品質こそがソフトウェアの価値だ!保 Aさんの言うことな守性の低いコードしか書 らば、間違いはなけないヤツは去れ! いはず。でも、なん パッケージ・ 次のリリースで となく違和感が・・・ Web系サービス 再設計・再実装 で継続開発 カリスマ エンジニアA 最近、いろんな技術に目 覚めつつあるエンジニアB 9
    • こう言ってくれたら・・・• 質問: ソースコードの保守性をどう考えますか?Web系サービスにおいて、ソース なるほど、たしかにパッコードの品質こそがソフトウェアの ケージやサービスでは、価値だ!保守性の低いコードし 保守性や拡張性が大か書けないヤツは、サービス開 事そうだ。自分の現場発の現場から去れ! ではどうかな? カリスマ エンジニアA 最近、いろんな技術に目 覚めつつあるエンジニアB 10
    • あらまし• コンテキストの例• コンテキスト – なぜコンテキストを明示するのか? – コンテキスト抽出の方針• コンテキスト記述の例 – サーベイ論文の紹介 – 調査結果とコンテキストを記述した例• 具体例とディスカッション 11
    • コンテキスト抽出の動機 • 「なぜプラクティス、技術、技法を実際に適用して研究 するのか?」 Basili 教授の講演から • プラクティス、技術、技法のユーザにとって – いつ使えばよいかが、わかる。 – コンテキストにあっているかどうか確信を持てる。 • プラクティス、技術、技法の考案者にとって – 実現可能性を示せる。 – 制限と制約を確認できる。 – 今後の方向性や発展を考えることができる。出典: V. Basili and S. Elbaum: Better Empirical Science for Software Engineering , 28thPresentation at International Conference on Software Engineering, 12http://www.cs.umd.edu/~basili/presentations/2006%20ICSE%20with%20Elbaum.pdf(2006)
    • エンピリカルアプローチの三段階 第一段階: 観察 ・実験や調査により現象を確認する。 ・現象が表現できる。 第二段階: 法則の発見 ・現象が起こるコンテキストを理解する。 ・現象を予測できるようになる。 第三段階: 理論の確立 ・因果関係を明らかにする。 ・現象を説明できるようになる。出典: ソフトウェア開発におけるエンピリカルアプローチ,アスキー,p.11(2008) 13
    • 観察→コンテキスト• コンテキストを決めてからではなく、観察や調査が先に ある。 第一段階: 観察 ・実験や調査により現象を確認する。 ・現象が表現できる。 第二段階: 法則の発見 ・現象が起こるコンテキストを理解する。 ・現象を予測できるようになる。 14出典: ソフトウェア開発におけるエンピリカルアプローチ,アスキー,p.11(2008)
    • あらまし• コンテキストの例• コンテキスト – なぜコンテキストを明示するのか? – コンテキスト抽出の方針• コンテキスト記述の例 – サーベイ論文の紹介 – 調査結果とコンテキストを記述した例• 具体例とディスカッション 15
    • アジャイルソフトウェア開発のサーベイ出典: T. Dyba and T. Dingsoyr: Empirical studies of agile software development: Asystematic review, Journal of information and software technology, vol. 50, p. 833-16839 (2008)
    • 33本の論文の一覧表出典: T. Dyba and T. Dingsoyr: Empirical studies of agile software development: Asystematic review, Journal of information and software technology, vol. 50, p. 833-17839 (2008)
    • “インターネットスピード”の開発というコンテキスト出典: R. Baskerville, B. Ramesh, L. Levine and S. Slaughter: Is Internet-Speed 18Software Development Different?, IEEE Software, vol. 20, no. 16, p70-77(2003)
    • 当該論文で記述されている事実とコンテキスト • 頻繁なリリース – 事実: スコープを小さくして頻繁なリリースをする。 – コンテキスト: 市場に応じて新しい機能をリリースしなければ ならない。 • オンサイト顧客 – 事実: 顧客は通常の自席から開発ルームにすぐ移動できる ようにする。 – コンテキスト: 戦略が適宜変更するためにユーザ要求が頻 繁に変わる。 • 保守性の優先度を下げる(保守性を無視する) – 事実: 設計ドキュメントはない。 – コンテキスト: すぐに作り替えられるので保守性は問題になり にくい。出典: R. Baskerville, B. Ramesh, L. Levine and S. Slaughter: Is Internet-Speed Software 19Development Different?, IEEE Software, vol. 20, no. 16, p70-77(2003)
    • その他のコンテキストの例• 品質のプライオリティが高い。• 性能を満たすことが至上命題• コア部分のリリース日は絶対守らなければならない。• 法令遵守が必須(でも、法令はまだ決まってない)• 類似製品・サービスよりも早くリリースできることが、もっ とも重要• 複数拠点• 再委託している。• ユーザ側の体制 20
    • あらまし• コンテキストの例• コンテキスト – なぜコンテキストを明示するのか? – コンテキスト抽出の方針• コンテキスト記述の例 – サーベイ論文の紹介 – 調査結果とコンテキストを記述した例• 具体例とディスカッション 21
    • もう少しありそうな話を・・・• 懇談会、委員会、連合会、連絡会議等で・・・・いやー。アジャイル あーアレですか。にしてから、コストも ちょいちょい聞いて開発期間も軒並み ますわ。(アジャイ短縮で..ホンマに。金融商品の 制御機器 ルって何や?) バックオフィス 受託開発B社システム部門長 C社事業部長 22
    • もう少しありそうな話を・・・• 会社に戻り・・・ うちもそろそろア はいはい。 ジャイルにしたいん やりましょう。 やけど・・・ C社事業部長 C社受託開発部門 課長D
    • もう少しありそうな話を・・・• 受注し.. アジャイルで受注し はい。 てきたで! C社受託開発部門 課長D C社受託開発部門 担当E
    • もう少しありそうな話を・・・• 実際に開発をはじめることに・・・ なんか、うまくいかないんで すけど.. チームに入ってくれている えー? ユーザは業務をとりまとめ ているだけみたいで.. C社受託開発部門 課長D C社受託開発部門 担当E
    • もう少しありそうな話を・・・• 実際に開発をはじめることに・・・ システムの構成物が全部 えー? そろってからでないと、意味 ないって言われました... C社受託開発部門 課長D C社受託開発部門 担当E
    • もう少しありそうな話を・・・• 開発が終わり... コストも納期も アジャイルってアカ オーバーしてしま ンのちゃう? いました.. C社受託開発部門 C社事業部長 課長D
    • ここからコンテキストを抽出します• どんな前提の違いが考えられるか?チームに入ってくれている システムの構成物が全部ユーザは業務をとりまとめ そろってからでないと、意味ているだけみたいで.. ないって言われました... 28
    • Publickeyの記事出典: http://www.publickey1.jp/blog/11/post_141.html 29
    • 今日のお話を文書化したもの• EMWest vol. 2 • ソフトウェアレビューの価値• Software Testing ManiaX • Clarifying the context of your methods, approaches, insights, implications and case studies• Web • 「なぜウチではうまくいかないか?」を考える開発コンテキスト の解説? http://blogs.itmedia.co.jp/morisaki/2010/07/post-0672.html 30
    • まとめ• コンテキストの例を紹介した。 – スマートフォンと原発制御ソフト• コンテキストの意義 – コンテキスト設定までのステップ• 事実(観察結果)とコンテキストの例 – 論文: Is Internet-Speed Software Development Different?• 具体例を題材にコンテキストを考えた。 31