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