SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「Developers Summit 2013 Kansai」レポート(AD)

【デブサミ関西2013】Visual Studio 2013にみる開発環境の方向性

  • このエントリーをはてなブックマークに追加

開発の透明性を確保し、運用ともコラボレーション可能にする環境を披露

 以上のような課題を解決する手段の一例として、長沢氏は一連のデモを披露した。使用されたプラットフォームは、現在リリース準備が進められているVisual Studioの最新版2013だ。

 Visual Studio 2012の時点で、チームコラボレーションなど、DevOpsにも対応した開発環境がすべて用意されている。次の2013での長沢氏のイチオシは、デベロッパーソーシャルだ。タイムラインの形で、開発現場で起きていることが全部出てくる。チャットもできるし、誰かがバグ票を作成すれば、自動的に入ってくる。その機能が、Team Foundation Server 2013に組み込まれている。また、ソースコードレベルでディスカッションを行ったり、ソースコードのエディタにテストの実施結果などが表示される。

デベロッパーソーシャル機能がVisual Studio 2013に追加された
デベロッパーソーシャル機能がVisual Studio 2013に追加された

 最初のデモのテーマは透明性。Team Foundation Server 2013によるWebページ上で、すべての開発情報が見える化されている様子が披露された。要件のレベルから、実際のプロジェクトのタスクのレベル、ソースコードの変更、ビルドの結果。なぜならすべての情報が1つの中で管理できているからだ。

 トレーサビリティも確保されており、要件からテストケース、絵コンテ、タスクが全部、紐付けられている。例えば要件をクリックすると、要件に関するタスクがわかる。各タスクから変更セットを辿れる。それはそのままソースコードであり、それに対してディスカッションができる。デベロッパーソーシャルだ。ソースコードは必ず、変更セットと共に、タスクやバグと関連づけられている。

 続けてビルドから見てみると、どういう変更が、誰によって行われたのか、その結果、どのタスクが実行されたのか、そのタスクは、どの要件を満たすためにやったのか、全部の記録が残る。それらを元にグラフを自動生成する機能などもある。

 続いて行われたデモのテーマはMTTR。運用からのフィードバックに、いかに開発が反応し、いかに正しく対処できるのかだ。その前提は、開発の透明性の確保になる。

 使用されたマイクロソフトの運用監視ツール上で、問題発生のアラートが上がると、一回のクリックでステータスを変えただけで、開発側に伝えることができる。すると開発側の画面では、未解決の運用課題の件数が増える。クリックすると、運用側から上げられたアラートが全部分かる。運用上、どういう問題があるのかなど、細かい情報もすべて入っている。即時デバッグも可能だ。

 それでも情報が足りなければ、「もう少し情報が欲しい」とメッセージを添えて保存すると、運用側に伝えることができる。

 実はVisual Studioには、インテリトレース(IntelliTrace)という、デバッグの巻き戻しができる機能が以前からある。2012バージョンから、それを本番環境で動かすことができるようになった。この機能により、本番環境で起きた障害を、開発環境で再現できない、という問題を回避できる。

 本番環境のデバッグ情報を元にして、ソースコードのどこで落ちたのか。その時の変数でどういう値が入っていたかなど、すべて分かる。修正作業を終え、ソースコードをコミットすると、継続的インテグレーションが走る。それによりビルドやコード分析、アーキテクチャ上の違反、全部チェックされ、何か問題があればコミットが拒否される。「結果、ソースコードにゴミが残らないので、他の人に迷惑をかける心配をせずにゆとりを持って作業とコミットができる」(長沢氏)。

 続けて行われたデモのテーマは、テストから本番環境へのデプロイの自動化だ。作成したオートメーションのフローに従い、まずデプロイすることが決まったら、Team Foundation Serverに格納されている開発リソースに、運用のツールが直接入り、そこで必要なビルドを実行したり、バグの状況を確認したりする。その上で問題がなかったら、仮想化されたラボ環境を自動生成し、そこにデプロイし、テストする。さらに問題がなければ、本番環境にデプロイされる、という流れだ。

 ここまでのデモを通じて、長沢氏が重要なポイントとするのが透明性だ。そこで、最初からのフィードバックのサイクルがうまく回っていると、運用を含めた渦、うねりを作ることができる。そうすると開発現場はものすごく強くなる。「正しいものを正しくやる環境とは、こういう物のことをいう」(長沢氏)。

 もう一つのポイントは開発と運用がお互いを尊重し、理解することで新たな仕組みが生まれることだ。

 最後のデモでは、Team Foundation Server 2013から利用可能になるデベロッパーソーシャルが披露された。開発上で発生するさまざまなイベントが、タイムラインに載ってくる。すべてがハイパーリンクになっており、意志決定がしやすくなっている。しかも全部、トレーサビリティが取れた状態だ。開発者がやるのは、単に関連づけてチェックインするだけ。追加負担はほとんどない。マネージャーは、「温かく見守ってフォローするだけ、という環境を作ることができる」(長沢氏)。

 長沢氏は「自分たちの能力が足りない部分と時間をツールで補う」という発想をもって欲しいと語る。Visual Studioにはさまざまなエディションがあるが、能力のある人はProfessionalを使い、スキルが足りない人は最上位のUltimateを使うとツールがカバーしてくれる。高機能イコール上級者向け、という考え方は誤りというわけだ。

 長沢氏は最後に「以前は考えられなかったプラクティス、ツールが今は揃っている。活用して欲しい」と呼びかけ、セッションを閉じた。

開発と運用のシームレスな連携が、求められる価値を必要なスピードで生み出す。
開発と運用のシームレスな連携が、求められる価値を必要なスピードで生み出す。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
「Developers Summit 2013 Kansai」レポート連載記事一覧
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7436 2013/10/23 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング