ブログ@kaorun55

HoloLensやKinectなどのDepthセンサーを中心に書いています。

TFSとALM、そしてソフトウェア開発のこれから

この記事はTFS Advent Calendarの25日目の記事です。
サイトはこちら:http://atnd.org/events/22819

最後のエントリになるので、TFSが目指すソフトウェア開発について考えてみます。


その前に

自分のコンピューター歴について少し。
最初にパソコンに触れたのは、たぶん1995年です。Windows 95が出た年に、Windows 3.1を買ってもらいました。
当時はパソコンの使い方もわからず、近所の人にもらったゲームをただただやっていました(ちなみに、これは今でもたまにやってますw)。

コンピューターによる自分の変化の最初は2000年のVisual Studioとの出会いでした。専門学校でVisual Studioでプログラムを始め、プログラムの楽しさにのめり込んでいたときです。ソフトウェアが「使うもの」から「作るもの」に変わったときです。

次の変化は、会社に入った2001年。当時はインターネットとは無縁の生活をしていたので、このとき初めて2chGoogleHotmail、Windows Messengerなどを知りました。以降、会社の人とオンラインでコミュニケーションするようになる。という変化ですね。

この次は少し飛んで、2006年にmixiGmailを始めました。
mixiSNSの基本と、Web上での人付き合いについて覚えました。コミュニティは主催側の方がなにかとうれしいことを知ったのもこのころですね。

2007年にtwitter、2008年にはてな、2009年にFacebookを始めています。
ただ、Twitterはいまほど熱心にやっておらず、はてなでできた知り合いが増えてから、楽しくなってきましたね。
コミュニティ、結婚、転職はこれらを通じた出会いから生まれ、3月の震災時もFacebookを通して連絡を取り合うなど、今では生活にはなくてはならない存在になっています。


何がいいたいかというと

自分のコンピューターやソフトウェアとの関わりは、ソフトウェア業界の移り変わりとも関係があり、「個人で使用するソフトウェア」から「みんなとつながるためのソフトウェア」、そして、「生活の一部、インフラとしてのソフトウェア」として変わってきているようです。


ソフトウェアが生活のインフラとなれば、当然その背景にはソフトウェア・ビジネスが存在し、昨今のソフトウェアはビジネスにとって重要な位置をしめているのだと思います。


他にも

去年からiPhoneを使い始め、今年はKINECT漬けの一年間でした。

iPhoneAndroid端末の盛り上がりを見ていると、以前は"PC"と"ソフトウェア"の関係であったのが、"PCや携帯端末その他のハードウェア"と"ソフトウェア"という関係がより重要となったように感じます。

「ハードウェアとソフトウェアを一体としたソリューション」となると、やはり「動くソフトウェア」が大切になってきます。今年一年KINECTをやっていておもったのが、「百聞は一見にしかず」はソフトウェアにとって最重要であること。ユーザーに体験してもらえば、1時間説明してもわからなものが一発で理解してもらえることです。


そのために

「動くソフトウェア」を「早く」「適切なタイミングで」デリバリーできるのかが大切になってくるのだと思います。そのためには、もちろん開発者自身の技量がベースとしてありますが、それをサポート、加速させる技術もさまざまあり、代表的なとことではBTSやSCMなどのツール、ScrumやXPなどのプロセスやプラクティス、設計やテストなどの技法がありますね。


TFS

そして、それらを包括したものがTFSであると思っています。
もちろん、OSSや他の商用ツールでもこれらの実現は可能です。それでも自分が今TFSを使ってる理由は、TFSの背景にこれらすべてが備わっているからです。
(TFSのフルバージョンと適切に構築した前提ですがwww) TFSではツール、プロセス、技法が一通り備えられています。
そのため、TFSをデフォルト環境で構築しても普通に使うことができます。全部入りのツールのくせに(全部入りだからか)、ツールに自分たちのやり方を合わせる必要はありません。


そして、今年ALMサミットに参加して、Visual StudioやTeam Foundation Serverがバージョンによって、ツールとしてのコンセプトがあることを理解しました。さらにそれを過去に適用すると、Visual Studioのバージョンとともに、適用範囲が広がり、さまざまな人を巻き込むツールになっていることがわかります。


現在のVisual Studio 2010ではアジャイルな開発が標準となり、開発者にとって要件からリリースまでをサポートできるツールになりました。
そして次のDev11では、そこから運用や、運用後のフィードバックが追加され、さらに利用の幅を広げようとしています。
これらを鑑みると、さらにその先のVisual Studioはビジネスまでも包含し、ビジネスとソフトウェアの両面をサポートできるツールになるような気がします。それがTFSという、ALM(アプリケーションの一生)をサポートするツールの進む先なのかなぁと思います。


まとめ

長くなりましたが、あくまでもツールは道具なので、TFSが良いとか他のツールから乗り換えた方がいいとかは言いません。ツールも道具であり武器であるので、そのメリット/デメリットを理解し、適切に使い分ければいいと思います。
言いたいことは、いまのソフトウェアは生活の中心になっているので、「よい開発者」、「良いツール」、「良いプロセス」を最大限に活用して、「素晴らしいプロダクト」とデリバリーできるように、みなさん頑張っていきましょうね!