【イベント】Visual Studio 2008 Ready Day に登壇します。

来る 2008 年 1 月 21 日に Visual Studio 2008 の開発完了とご提供の開始に伴い、イベントを開催いたします。このイベントには、米マイクロソフト社の開発本部の GM である Scott Guthrie がキーノートを担当します。 すでに多くの方々にご参加登録をいただいており、残席わずかと聞いています。面白そう!という方は、ぜひ上のバナーをクリックして、参加登録してみてください。お早めに!! さて、このイベントですが、私も登壇をさせていただきます。キーノート、そしてジェネラルセッションを経て、午後からは2つのトラック(トラック A と、トラック B)に分かれてのセッションがあります。 私が担当するのは、トラック B に属する Session B-3 です。 お題はというと、例によってチーム開発です。そうです、Visual Studio Team System 2008 を題材にします。ですが、今回は、業界のプラクティスを Visual Studio 2008、Visual Studio Team System 2008 を活用してどう実践していくか・・・といったところにフォーカスしています。もちろん、Visual Studio 2008 のイベントですので、2008 からの新機能についても触れます。 当然、Team System だと広範囲にわたる開発ライフサイクルを扱うことになりますし、そこには業界の様々なプラクティスがあります。今回は、その中でも特に注目されているプラクティスとして、テスト駆動開発、継続的インテグレーション(常時結合)、Web アプリケーションのテスト自動化(Web 機能テスト、ロードテスト)にフォーカスを当てることにしました。 今回は、トラックが A と B とあり、それぞれに特色がありますが、私のセッションは、どちらのトラックにとっても関係があります(それでいて、特定のテクノロジーに依存しない)ので、トラック…

2

【コラム】ソフトウェア開発における対症療法と原因療法(4)

こんにちは。いやーしかし Spam コメントが多くなってきました。年末だからでしょうか??このブログはコメントもトラックバックも何も制限をかけない方針です。それは今までもこれからも変えないつもりでいますが、 Spam のターゲットにされてしまった投稿については、泣く泣くコメントを制限または、コメントできないようにしてしまっています。あらかじめご了承ください。 さて、無計画連載の第四回目です。 ソフトウェア開発における対症療法と原因療法(1) ソフトウェア開発における対症療法と原因療法(2) ソフトウェア開発における対症療法と原因療法(3) 前回に、原因療法の失敗原因として主なのものとして二つあると書きました。新しい試みを行うと必ず、何かを犠牲にする必要があります。それが生産性です。 どんなにすばらしい試み(プロセスにせよ、ツールにせよ、人員増強にせよ)でも、導入当初は一時的に開発生産性が落ち込みます。これはまず認識していただきたい事実です。これを無視すると手っ取り早く、誰かにとって不幸な事態を招いてしまいます。 問題はこの事実を受け入れ、どう対処して、いかに本来望まれる状況へ早く持っていくかにかかっています。そのためには、二つのポイントがあると考えられます: フォロー/サポート 落ち込みを軽減する施策 フォロー/サポートとは、現実的に落ち込む開発生産性をサポートするということです。具体的には、落ち込みが見込まれる期間に対して、工数を多めに見積もる(要するに導入も見込んだ適切な工数を見積もるということですね)、パイロットプロジェクトと認定し、ある程度のバッファや予算の余力を準備する、などですね。間違っても、現スケジュールで、現人員で、実施することだけを増やすようなことは極力さけるべきです(現実的には、これが多いわけですし、避けられない事実もあります)。 落ち込みを軽減する施策とは、仮に大きな改善効果が見込める試みであっても、一度に急に導入するのではなく、達成可能な部分にとどめ、生産性の低減の落ち込みを少なくし、負担の軽減と効果の体感をしつつ、次のステップに進む方が得策であるということです。 大きな落ち込みがあると、這い上がるのに、それ相応の負担を現場に強いることになります。それをよしとするプロジェクトはいいのですが、そうでないならば、それらの負担は開発の現場に襲い掛かってきます。 這い上がるまでの負担に押しつぶされて断念するケースと、這い上がり効果を得るまでの時間が許されないケースがありますが、どちらも現場にとっては不幸な結果になりかねません。 ながさわ

2

【Team System】単体テストのデモ ソースコードを公開しました。

こんにちは。MSDN オフラインセミナー 全国ツアーも先日の高崎で、本年度は一段落しました。大阪→東京→名古屋→高崎と廻ってきましたが、ありがたいことにすべての会場で満席御礼!!非常に多くの方がチーム開発や開発者による品質の作り込みの関心を寄せていいることがよーくわかりました。 来年1月17日の仙台は、まだ席に空きがあります。また、その他のマイクロソフトの支店がある地域の皆様、残念ながら現時点では開催の予定がないのですが、ぜひ皆様からのフィードバックをお待ちしております。 さて、本題となりますが、セミナーで行っているデモンストレーションのうち、単体テストのあたりで使用しているソースコードを公開しました。どこに公開しているかというと、セミナーでご案内しているフォローアップサイト(ページ)です。どこにあるのかわからない方は、このブログの右側にあるリンクから見つけていただければと思います。もちろん、セミナーにご参加できなかった方々もぜひ、ダウンロードください。 今回公開したソースコードは、プロダクションのコードとそれらをテストするためのテストのコードが予めある程度作成された段階になっています。Visual Studio 2008 でソリューションを開いていただければ即、作成されている単体テストを実行することができます。当然ですが、新たに単体テストメソッドを作成して、テストすることもできます。 プロダクションのコードはクラス図もつけておきましたので(いつでも簡単に生成できるんですけどね)どんなものか確認いただければと思いますが、銀行口座を扱い単純なものです。 そして、コメントアウトしている箇所がいくつかありますが、それらを順に解除していくことで、テスト駆動開発を体験いただくこともできるようにしてあります。 セミナーでご覧いただいた方は、当日の様子を思い出して、いろいろと試してください。実施手順は追って後日このブログでご案内する予定です(ごめんなさい、来年のイベントや執筆などで立て込んでおりなかなかじっくりと書けない状況でして)。 ※実施手順を当ブログに投稿しました! [Team System|TDD] テスト駆動開発を試してみよう(1) [Team System|TDD] テスト駆動開発を試してみよう(2) 2008.01.22 追記 Visual Studio 2008 Professional Edition からお試しいただけるソースコードですので、Visual Studio 2008 の新機能としての単体テスト機能を実感するとっかかりとしてもご活用いただけると幸いです。 ながさわ 

3

【お知らせ】MSN のデジタルライフに Silverlight 特集が登場!!

こんにちは、MSN のデジタルライフ に Silverlight 特集が掲載されています。 開発者向けの情報ではないのですが、開発者視点ではなく、利用者視点での Silverlight の魅力や活用の仕方、皆様の開発ビジネスのアピールの仕方の参考になるかもしれません。 Silverlight のインストール手順も Windows 向け、Mac 向けと用意されています。 また、単純に気分転換に、紹介されているコンテンツを見てみるのもいいですね。さきほど WWE のコンテンツをみたのですが、アンドレ・ザ・ジャイアントとハルク・ホーガンが戦っていました(^^)懐かしい。。。 Silverlight のデモや、IT 交差点のオンラインビューワーとしてもおなじみのページターン(あたかも雑誌のページをめくっているようにペロッとめくりながら読めるやつ)の GQ WATCH 版もみることができますよ。   ↑ まさにページをめくっている最中のスクリーンショットです(^^) もちろん、あえて Mac での画面です(環境: MacOS X Leoperd, Safari, Silverlight 1.1 Alpha Refresh)。 ながさわ

1

【セミナー】セミナーフォロー@高崎(MSDN オフラインセミナー 全国ツアー)

こんにちは。昨日は北関東支店(高崎)にて、全国ツアーを開催しました。ご参加いただいた皆様、ありがとうございました。 ※本セミナーから、Visual Studio Team System 2008 RTM 版をお披露目しました(^^ さて、単体テストの基本についてのしょっぱなのデモンストレーションにて、本来テストが成功するはずのところが、失敗してしまいましたが、その場では原因がわかりませんでした。 セミナー終了後に、単体テストをデバッグつきで実行したら、なんてことはない、すぐに原因がわかりました(^^; この投稿では、何が失敗したのかと、デバッグ実行の仕方、そして原因箇所をお知らせします。 ■どんなアプリケーションだったか? このテスト対象のアプリケーション(というかクラス)は銀行口座を扱うもので、BankAccountというクラス名です。BankAccountには、預金残高をあらわすフィールド(_currentBalance)とローン残高をあらわずフィールド(_currentLoad)があります(それぞれに読み取り専用のプロパティ CurrentBalance と CurrentLoan もあります)があり、メソッドとして預け入れを行う DepositMonet() と引き出しを行う MakePayment() があります。 クラス図で見るとこんな感じです: ■テスト対象は? 今回のテスト対象メソッドは、預け入れを行う DepositMoney() です。引数に預金したい額を入れるとその額が預金残高に追加されるというものです。 単体テストの作成は、対象メソッドを右クリックして「単体テストの作成」を行うだけです。スケルトンが以下のようにはかれるので: /// <summary> ///DepositMoney のテスト ///</summary> [TestMethod()] public void DepositMoneyTest() {     BankAccount target = new BankAccount(); // TODO: 適切な値に初期化してください         float depositAmount = 0F; // TODO: 適切な値に初期化してください…

1

【セミナー】デモ環境をリニューアル!(MSDN オフラインセミナー&Microsoft On)

おかげさまで MSDN オフラインセミナー 全国ツアー<チーム開発編>の高崎開催分も満席御礼となりました。ご参加なさる皆様にお会いできることを楽しみにしております。 さて、Visual Studio 2008 日本語版も無事に開発完了しましたので、私たちエバンジェリストの環境も次第に Beta 版から RTM 版へと変わっていくことでしょう。 『できる限お客様の入手できる環境をご覧いただく』をもっとうに今まで Beta 2 でのデモンストレーションを心がけていましたが、これでやっと製品版で環境を構築できます(^^ といっても、皆様よりもいち早くセットアップともなかなかいかないもので、入手は MSDN 会員の皆様とほぼ同時なのです(開発完了ほやほやですから)。 当初は、高崎での全国ツアーまでは、Beta 2 で・・・と思っていたのですが、昨晩に何を思ったか、やっぱり製品版で見せたいと飲み会帰りのほろ酔い気分で思ってしまいまして・・・だったら OS から最新に!などといらぬ欲まででてしまい、気がついたら朝日が昇っていました。 その後、愛犬の散歩を済ませ、いち早く出社し、最終的な詰めを。どうやら、明日の高崎から製品版でのデモンストレーションができそうです(^-^ どんな環境になったかというと・・・ OS: Windows Server 2008 RC1 DB: SQL Server 2005 SP2 WSS: Windows SharePoint Services 3.0 IIS: Internet Information Services 7.0 VS: Visual Studio Team System (Team Suite) 2008 TFS:…

1

【コラム】ソフトウェア開発における対症療法と原因療法(3)

こんにちは。無計画連載の第三回目です(^^; だいぶ間が開いてしまいました。。。 ソフトウェア開発における対症療法と原因療法(1) ソフトウェア開発における対症療法と原因療法(2) 原因療法なのですが、実はなかなか成果が出ていないということをよく耳にします。途中で頓挫してしまうんですね。なぜなのでしょうか。主な要因のひとつに、継続して実施していくことが難しいということが挙げられます。 どうしても、人は、チームは、結果をできるだけ早くにあげたがります。そしてそれ自体は、非常に効果的でもあります。誰でも目標が達成可能なところに見えているとモチベーション向上にもつながります。 しかし、原因療法はある意味先の長い取り組むでもあります。そんなに簡単には原因は突き止められない。そんなに簡単には実践できない、そしてそんなに簡単に人は言うことを聞かない(^^; そしてそしてそんなに簡単には定着できないんですね。 ここで、重要なことが大別して二つあります。 新しいことを行うと必ず一時的に生産性は落ちるという事実  その取り組みのためのサポートをどれだけしているかという強い意志 これがないと、どんなにすばらしい試みもとたんに悪政のごとく煙たがれ、そして定着せずに終わってしまう傾向にあると経験的に感じています。 # まだまだ続きますよぉ♪ ながさわ

3

【セミナー】1月・2月開催分の申し込みを締め切りました(Microsoft On)

こんにちは(ここのところお知らせ系が多くてすみません。全国ツアーが終わりましたら・・・)。 先々週に Microsoft On の来年1月・2月開催分のお申し込み受付をしておりました。多くのご応募ありがとうございました。私の担当する2つのセッションについても、ご応募多数につき、抽選をさせていただきました。落選してしまった方、申し訳ありません。よろしければ3月・4月開催分へのお申し込みをご検討いただければと思います。 さて、MSDN オフラインセミナーの全国ツアーで今のところ、大阪⇒東京⇒名古屋と開催してきたわけですが、うれしいことに、Microsoft On へ興味を持っていただけた方が多数おり、開催に向けて検討してみたいとおっしゃってくれました(^^ ちょっと先の話になってしまって申し訳ありませんが、ぜひ3月・4月開催分へのお申し込みをご検討ください。2月上旬に申し込み受付されると思います。 追伸只今、Visual Studio Team System 2008 と Team Foundation Server 2008 のスタンドアローン環境をセットアップ中です。うまくいけば、高崎での全国ツアーに間に合うかとか・・・間に合わなかった場合は Beta 2 になってしまいます・・・。 ながさわ

1

【お知らせ】Visual Studio 2008 日本語版リリース

こんにちは。Visual Studio 2008 日本語版がリリースされました。 詳しくは、近藤さんのブログをご覧いただくといいかと思います:http://blogs.msdn.com/kkondo/archive/2007/12/14/VS08JPNRTM.aspx 近藤さんのブログでも告知されていますが、1/21 に  Visual Studio 2008 Ready Day を開催することになりました。皆様おなじみの Scott Guthrie が来日します。私も登壇する予定です(^^) http://www.microsoft.com/japan/msdn/events/vs2008/ ながさわ  

0

【セミナー】全国ツアー 名古屋終了しました(MSDNオフラインセミナー)

こんにちは。本日は名古屋でMSDNオフラインセミナーを開催いたしました。どんよりとした天候にも関わらず非常に多くの方にご参加いただきました。ご参加いただいた皆様ありがとうございました。 さて、名古屋で感じたのは、ご参加いただいた方々の意識の高さです。実は先日も Microsoft On で20数社からお集りいただいた参加者の皆様向けに同様のセッション(※内容/資料/デモは多少の変更をしています)を実施したのですが、そのときも同じことを感じました。 本日は単体テストのTIPS的なものも大阪や東京より少し多めにご紹介しようとチャレンジをしてみました。その結果またもや5分オーバーとなってしまいました。  名古屋でも終了後に多くの方々からご質問をいただきました。またここでも Team Foundation Server に好印象をもっていただけたようです(TFSは継続的インテグレーションと変更セット、作業項目、チェックインポリシー程度の説明とデモに留めていますが、それでも非常に関心が高いですね)。 私も個人的には、この部分が専門分野中の専門分野だったりしますので、またの機会にバグが発生してからクローズするまでの一連のワークフローでのTFS/VSTSのシナリオなんかもセッションでやれたらなぁと思っています。 セミナーのネタは皆様からのフィードバックにかかっています(^^) 上記も含めご意見をぜひくださいね。各地でのセミナー終了後にも多くの方からメールで「次回はこんなものを!」との声をいただいております。皆様いろいろなところに課題や関心をお持ち(当たり前といえば当たり前ですが)なので、それらを総合的に判断して今後のネタを考えさせていただければと思います(逆に皆様がまだ関心を持っていないけれど、関心を持っていただきたいところをターゲットにするというのも含めて検討します)。 それから、セミナーではアンケートのご記入をお願いしておりますが、いただいたアンケートはすべて穴があくくらい私自身で拝見をさせていただいております。皆様からのご意見やご感想は一つとして無駄にせず、今後に活かしていく所存ですので、忌憚のないご意見をこれからもよろしくお願いいたします(アンケートでなくてもこのブログからいつでも受け付けてますし)。  さて、次回は12/19 高崎です。本当に若干ですが、空きがあるようですのでご興味のある方はぜひご参加ください。ちょっと先の開催ですが、1/19の仙台はまだまだ空きがあります(^^ ながさわ 

0