1. HOME »
  2. お知らせ

お知らせ Information

ソーシャルブックマークに登録 : Yahoo!ブックマークに登録 はてなブックマークに登録 del.icio.usに登録 newsing it!に登録 Buzzurlにブックマーク livedoorクリップに登録 Choix!にブックマーク イザ!ブックマーク

print 印刷用ページの表示

Information

『ITアーキテクト Vol.24』を刊行

特集/特別企画は『アジャイル開発の真価』、『クラウド時代のITインフラ・ガバナンス』、『BIの現在、過去、未来』、『情報処理技術者試験「システムアーキテクト」のすべて』、『Google App Engine for Java』、『“抽象化力”を磨け!』、『マルチパラダイム言語「Scala」』の7本

2009年7月24日更新

ITアーキテクト Vol.24
特集1ではアジャイル開発に光を当てた。表紙写真はローマのパンテオン

 7月24日、『ITアーキテクト Vol.24』を刊行した。前号と同様、今号も7本の特集/特別企画を掲載している。

 今回、特集1で取り上げたテーマは『アジャイル開発の真価』だ。アジャイル開発が国内のシステム開発業界に紹介されて久しいが、発祥の地である米国と比べると、導入はあまり進んでいない。編集部では、その原因の1つはアジャイル開発の価値が正しく理解されていないことにあると考え、それを再確認していただく目的でアジャイル開発に再度光を当ててみた。編集部が考えるアジャイル開発の最大の価値とは、「状況が変化することを前提とし、それに柔軟に対応できるよう開発を進めること」だ。

 ご存じのとおり、今日のビジネス環境は変化が激しく、顧客の要求も頻繁に変わる。要求が固まらない、あるいは不明瞭なままで開発を進めなければならないこともあるだろう。この状況にどう対応するかが近年のソフトウェア開発における大きな課題となっているが、これに従来、国内のシステム開発業界でとられたきたウォーターフォール型の開発手法で対処するのは難しい。なぜなら、それらの開発手法の多くは、「要求は変化しない」ことを前提としているからだ。一方、「要求は変化する」ことを前提とするアジャイル開発では、要求の変化への対応が容易なだけでなく、早い段階で実際に動作するソフトウェアを作り、それを顧客とともに繰り返しチェックしながら要求を固めていく。これにより、要求の精度を高め、顧客が本当に望むシステムを実現し、システム開発の成功率、顧客満足度を高めるのである。

 本特集では、こうしたアジャイル開発の特性と効果を詳しく解説している。まず、昨今のビジネス界の動向も踏まえ、状況の変化に俊敏に対応することの重要性を説いたうえで、「イテレーション」や「インクリメンタル」といったアジャイル開発の主要なコンセプトについて、ウォーターフォール型開発との違いや、導入で先行する米国企業の動向も交えて解説。加えて、実際にアジャイル開発に取り組んでいる国内企業の声をコラムで紹介している。

 おそらく現状、個々人のレベルではアジャイル開発の意義を理解しているものの、新たな開発プロセスを導入することは組織や個人(特にマネジャー層)にとって大きなリスクだと考え、導入を躊躇しているケースもあるだろう。だが、時代は変わった。今や変化をリスクとして扱っていたのでは、企業システム開発で新たな価値は生み出せない。われわれが今居るのは、変化を取り込むことが付加価値となる時代だ。「Embrace Change - 変化ヲ抱擁セヨ」とは、XP(Extream Programming)の提唱者であるKent Beck氏がXPに関する最初の著書『Extream Programming Explained』で副題に掲げた言葉だが※1、まさにこの言葉を実践することがビジネス・サイドからも求められているのだ。

※1 「変化ヲ抱擁セヨ」という印象的な対訳は平鍋 健児氏による。

 次の特集2『クラウド時代のITインフラ・ガバナンス』では、企業が自社内に持つITインフラのクラウド化、すなわち「プライベート・クラウド」の構築にあたり、主にガバナンス面で必要となる取り組みを紹介している。

 今日、「Google App Engine」や「Amazon EC2」、「同S3」など多数の関連サービスが登場し、一大ブームとなった感のあるクラウド・コンピューティングだが、企業で利用するには解決しなければならない課題が少なくない。そうした中で注目を集めているのがプライベート・クラウドの構築だ。セキュリティや可用性などの面で不安のある外部のクラウド(プライベート・クラウドに対して「パブリック・クラウド」などと呼ばれる)を使う代わりに、企業が自前で抱えるITインフラをクラウド技術によって効率化し、運用コストの削減や運用の柔軟性向上を図ろうというのである。

 現状、プライベート・クラウドを実現するための基盤技術については、サーバ仮想化技術や運用技術をはじめ成熟が進んでいる。しかし、構築したクラウド環境を活用していくには、それら最新の基盤技術を導入するだけでは十分ではない。インフラの標準化や運用プロセス/体制の最適化など、ガバナンス面での取り組みも重要になる。

 本特集では、初めにクラウド環境の構成技術やアーキテクチャについて説明したうえで、プライベート・クラウドの実現に向けた初期段階における「インフラの現状調査」や「移行計画の策定」といった作業の流れ、そして運用プロセス/体制の見直しや技術評価といった特に重要となる活動の概要を紹介している。

 続く特集3はBI(Business Intelligence)にフォーカスした『BIの現在、過去、未来』だ。企業が行う諸々の活動の中で蓄積したデータを整理/分析して意思決定に生かすBIの考え方は、今日では目新しいものではないが、今、このBIがにわかに注目を浴びている。

 “100年に1度”とも言われる不況期の現在、いずれの企業もコスト削減に努めつつ、何とかして経営を上向かせるべく努力を重ねている。そうした状況の中、企業がこれまでの活動で蓄積した膨大なビジネス・データを活用し、少しでも利益向上に結び付けたいと考えるのは不思議なことではない。実際、今年3月にガートナー ジャパンが発表したCIOに対するアンケート調査の結果でも、BIは「優先的に導入したい技術」としてグローバルで1位、国内で2位にランクインしており、企業におけるBIへの期待感の高まりがうかがえる。おそらく各社のアーキテクトには、今後BIに関する知識/スキルがより強く求められるようになるだろう。

 本特集では、アーキテクトのBIに対する理解を深めることを目的に、BIが登場した背景や現在に至るまでの変遷、関連技術の動向などを解説。さらに“クラウド時代”を迎え、今後BIシステムはどうなっていくのかといったことについても考察している。

 以上の特集記事に続くのが、前号と同様、4本の特別企画だ。以下にダイジェストで紹介しよう。

●特別企画1『情報処理技術者試験「システムアーキテクト」のすべて
 ご存じのとおり、今年度から情報処理技術者試験制度が大きく変わり、従来の「アプリケーションエンジニア試験」を衣替えするかたちで、10月より「システムアーキテクト試験」が実施される。「アーキテクト」の名が冠された国家資格試験がいよいよ始まるわけだ。この試験の開始を心待ちにしていた方もおられるだろう。

 本企画では、情報処理技術者試験制度が改定された背景や、同試験とITスキル標準(ITSS)などとの関係を説明したうえで、新しい試験制度の体系、アプリケーションエンジニア試験とシステムアーキテクト試験の相違点、そしてシステムアーキテクト試験の出題予測や試験対策などを解説している。この試験の受験を予定している方、アーキテクトに関連した資格の取得を検討している方は、一度本企画に目を通していただきたい。

●特別企画2『Google App Engine for Java
 今年4月、米国グーグルは同社のクラウド・サービスであるGoogle App Engineにおいて、開発言語としてJavaをサポートした。昨年4月のプレビュー版公開から1年を経て、ようやく今日の企業システム開発における中核言語をサポートしたわけだ。これまでJavaでWebアプリケーション開発を行ってきた企業の中には早速、同サービスの利用を検討し始めたところもあるだろう。では果たして、Google App EngineのJavaサポートは、オンプレミスのJavaを代替できるレベルに達しているのだろうか。本企画では、Google App EngineのJava対応の概要、同サービスの使い方、同サービス独特の制約などについて、オンプレミスの環境とも比較しながら説明している。

●特別企画3『“抽象化力”を磨け!
 複雑な事象の本質をつかみ、それを整理して概念化する「抽象化」の能力は、ITアーキテクトが行う要求分析/定義やシステム設計などにおけるモデリングの作業で必須となるものだ。当然、アーキテクトをはじめとするITエンジニア諸氏は、日ごろの活動の中でこの能力を駆使されていることだろう。したがって、たとえ意識していなくても、ある程度は抽象化力が培われているはずだが、アーキテクトたるもの、できれば意識的にこの能力を高めていきたいところだ。本企画では、まず多くの人が無意識のうちに行っている抽象化という行為の本質を明らかにし、その能力がシステム開発の中でどう生きるのかを説明したうえで、抽象化力を高めるためのポイントを6つ紹介している。

●特別企画4『クラウド時代に現れた“現代版Java”!?
 前号の特集1でも取り上げたように、今日のCPUの性能向上アプローチは、動作周波数の高速化に頼るやり方から、CPUに複数のコアを搭載し、それらを並列に動作させて性能を高めるというやり方に移行している。それに伴い、アプリケーションの処理性能を高めるには、マルチコアCPUでの動作を前提にした並列プログラミングを行うことが必須となりつつある。

 そうした情勢の中で注目を集め始めているプログラミング言語が「Scala」だ。Scalaとは、オブジェクト指向言語と関数型言語の特徴を併せ持ち、さらに多くのプログラミング言語の優れた点を取り込んで作られた“マルチパラダイム言語”である。関数型言語の特性により、並列処理プログラミングへの適性が高いだけでなく、クラウド・コンピューティングやDSL(Domain Specific Language)といった次世代技術との親和性が高いという側面もある。加えて、Java(JVM)の上で動作するため、Javaによる既存資産をScalaから活用できることから、Scalaを「Javaの次に来るメイン・ストリームの言語」と評する向きもあるようだ。

 本企画では、このScalaについて、特徴的な機能や利点、現状の課題などを説明したうえで、今日のシステム開発における主な使いどころを紹介している。

 なお、8月6日に開催されるJavaWorld DAY 2009では、本記事の執筆者である浅海 智晴氏が、Scalaの魅力を生で紹介する。Scalaに興味を持たれた方、“Javaの次”の言語を探している方は、ぜひJavaWorld DAY 2009のセッションにもご参加いただきたい。

ページの先頭へ戻る