昨日(2014年10月23日)参加した、相澤 克弘さんのセッション「Visual Studio が実現するクラウド時代の Rapid Release」のメモを共有します。会場は満席で立ち見が非常に多く、入場制限もあったそうで大人気のセッションでした。
実は私のコミュニティでも、関連した内容の勉強会を12/20に開催します。そちらも、是非!よろしくお願いいたします。
目次
セッションのゴール
- Visual Studio があらゆる開発において非常に効率が良いツールであることを知る
- Visual Studio + Azure は唯一無二の効率的な開発環境を作れることを知る
- 実際に使うにはどう始めればよいかを知る
変遷
- 1998 (Visual Studio 6.0) クラサバ・Webアプリ
- 2002 .net
- 2005 ライフサイクル
- 2008 RIA
- 2010 クラウド
- 2012 DevOps ストアアプリ
- 2013 Visual Studio Online
Visual Studio は 2005 からアプリケーションライフサイクルを扱うようになった。
開発プロセスと Visual Studio
- 開発・テスト環境構築
- コード作成・チームコラボレーション - メンテナンス開発
- テスト - メンテナンステスト
- デプロイ
アジャイル、エンタープライズアジャイルが採用されつつある
開発・テスト環境構築
- 開発環境の課題
- ハードウェアの調達
- ソフトウェア・ライセンスの調達 にコストや時間がかかる
- 開発が一つの閉ざされたチームでやるのは少なくなった
- データの共有、連携が必要
- テスト環境の課題
- 調達のコストと時間
- 実運用レベルの負荷テストは現実困難
- テストで利用したサーバーが遊休資産化してしまう
Azure + Visual Studio で開発・テストに必要なすべての環境を即座に低コストで用意
- クラウドのリソースを利用して、手持ちのPCでもすぐに最新アプリ開発環境を用意
- Windows RT でも使える
- テスト環境 本番に近い環境を低コストで即時に用意
- Visual Studio を経由して、コード・テスト・デプロイ・監視 のサイクルを統合的に行える
- 他のサービスでやろうとしたときは、使い分け、それぞれの担当者に連絡・・・が必要となるはず
Visual Studio から Azure をコントロール・デバッグ
- ソースコードは Visual Studio Online に。
- サーバーエクスプローラ
- Azure からサービスを制御
- サイト作成もここからできる
- Azure の管理ポータルに入る必要はない
- 様々なサービスをここからコントロールできる
- 発行で Azure にデプロイできる
- Visual Studio 機能検索
- Azure に発行したものをデバッグする サーバーエクスプローラーからアタッチ
- ブレークポイント ステップ実行
ダッシュボード
- バーンダウンチャート
- キャパシティに対するタスクの量
- すべてのバグ(Closed,….)
WORK
- TFS キャパシティ、カンバンボード の説明
テストの効率化
- テスト設計・準備 - ビルド準備、ケース・データ準備
- テスト実施 - カバレッジ、工数割り当て
- 問題修正 - 最新管理、障害再現性
- レポート作成 - 最新状況確認
Visual Studio でカバーできる
自動UIテスト
- アプリケーションを一回操作する - 録画 – それがストスクリプトなる – テストの再生 – 結果
- テストリソースを活用して繰り返してテストを実行することができる
- 100 工数 3回で 300
- 100 1回目 150になる、が自動化していれば数回でペイする
クロスブラウザのテスト 非常に簡単に行える
- IE, Chrome, Firefox
受け入れテスト
- フィードバックを受け入れる機能がある
- 依頼者がフィードバックをリクエストする
- 受けた人(テスター)がフィードバックを返す
- バックログに入るのでタスクとして管理
Request Feedback
リリースの効率化
- コード作成、ビルド、リリース、運用
- 開発イテレーション - ワークフロー承認 - しかるべきところにリリース
- Visual Studio – Team Foundation Server Release Management
リリースの回数が多ければ多いほど有効になる
メンテナンス開発での Visual Studio 活用
- .net ターゲットバージョン選定
- Visual Studio 2013 では .net 2.0 移行のバージョンが指定可能
- ソリューションファイルを最新で開くと、古い VS で開けない?=>2013では大丈夫になっている
- 最新の機能を使える
- ソリューションファイル操作
- コードレンズ
-
- コードの中に関数の参照情報、変更情報を埋め込んだもの
- コードの変更のための仕様書の見直し、コードの構造の見直し
- これらをすべて Visual Studio だけみれば対応できる
- (※たしか TFSと連携しないと使えないはずです)
- 誰がどう変更したのか?コード上で名前を見て対応できる
- コードクローン分析
- 突貫工事でコピーして、ちょっと変えて作ってしまった
- 後でメンテナンスを下げて、バグの温床となる
- この構造を、自動的に検知してくれる。
- コード構造の把握
-
- 何かメンテナンスしなければならないとき、最新の仕様書を確認して・・・
- とするが、どこにあるのか?わからなかったり、最新の仕様書がなかったり、はよくあるはず
- 代わりに Visual Studio が検証して構造を把握してくれる – 依存関係グラフの作成
- メンテナンステスト
- テストの影響分析
- Test Manager をつかって、アプリケーションを変更したとき、
- どこをもう一度テストしなければならないのか?を自動的に判断する
- (※ここのスライドが非常にわかりやすい、後で動画で確認してください!)
成功事例
- 日本郵政スタッフ社 開発を3日で立ち上げ。
- ビービーシステム 自動テスト。リリースが2か月から3日になった。工数も30%に削減。
- ソフトバンク・テクノロジー 頻繁なリリースを Release Management で工数1/20 に削減し品質を向上
すぐに使える!サポートプログラム
- msdn
- 無料枠 超えてもいったん止まるので 安心して開発環境として
- ultimate なら 1万5千円分無料で使える 月額4,000円くらいが平均?なので、開発に自由に試せる
SHIN-ICHI の感想
はい。私も Visual Studio + Team Foundation Server / Visual Studio Online + Azure が最強だと思います。勉強会で私もそのことを伝えたいです。