本文へジャンプ

今、ソフトウェア開発の現場で何が起きているのか

ビジネスを取り巻く環境が大きく変化する中で、ソフトウェア開発のあり方が問われている。今、ソフトウェア開発の現場では、どんな変化が起きているか。その背景にはどんな要因があるのか。ここでは、これからのソフトウェア開発のあるべき姿を含めて、求められる対応を考えてみたい。

ビジネス環境の変化に対応できるソフトウェアの開発手法とは

ソフトウェア開発の現場に大きな変化が起きている。今まではウォーターフォール型でソフトウェア開発が進められ、ユーザーからの土壇場での変更要求にも力技で納期に間に合わせてきた。それが通用しなくなっているケースが増えているのだ。背景にあるのは、ビジネスの変化のスピードアップと、徹底したコストダウンへの要求だ。
IBMのソフトウェア・エバンジェリストは、「これまでは期日に間に合わせるためにある意味、コスト度外視で対応してきた部分があったと思います。しかし、このやり方だけでは今の“早く安く”という要求には応えることができません」と現状の課題を挙げる。
そこで注目されているのが、短期反復型のソフトウェア開発である。以前から開発者の間での関心が高い開発手法だが、マネジメント側からも注目が高まっているのが最近の特徴だという。「この開発手法はトヨタ生産方式やそこから生まれたリーン生産方式の手法をソフトウェア開発に適用したもので、徹底的にムダを排除することができることから注目度が高まっています」と語る。
短期反復型のソフトウェア開発では、2週間とか4週間という短いスパンのタイムボックスの中で動くソフトウェアを開発し、正しく稼動することを確認して次のステップに進んでいく。現状で「何を、どの部分を作成しているのかわからない」という開発者にとっては、自分の仕事にやりがいを感じながら取り組める開発手法と言えるだろう。

ムダを省き、品質を高める短期反復型のソフトウェア開発

しかし、短期反復型のソフトウェア開発を実現するには、現状からの大きな変化が必要になる。その1つが、開発するソフトウェアを大きな塊でなく、小さな塊に分けて開発していくやり方だ。
従来の分割のやり方とは異なり、ユーザーに提供できる価値で分割する。「機能ごとに小さな塊単位で開発して頻繁にリリースしながら進めることで、要求と違うソフトウェアを開発するリスクを回避しながら効率的に開発を進めることができます」とそのメリットを語る。
もうひとつは、1つのチームに要件定義から設計、コーディング、テストといった機能を盛り込むことだ。メンバーもいくつもの仕事をこなせる“多能工”であることが求められる。「チーム内ですべての機能を持つことにより、業務の受け渡しがスムーズに行えます。また、メンバーが多能工になるため、状況の変化に柔軟に対応できます」
自動車の生産現場でも、生産工程のムダを省くために1台の自動車を多くの担当者で組み立てる「ベルトコンベア方式」から、1人で組み立てる「セル方式」に切り替えられている。ソフトウェアの開発現場も同様の発想でムダを削減できるはず、という考え方だ。
「これまでは小規模プロジェクト向きの開発手法と言われていましたが、最近は大規模プロジェクトにも取り入れられるようになってきました」と、適用範囲が広がりつつあることを指摘する。

短期反復型開発
短期反復型ソフトウェア開発の工程説明図

技術の進化が可能にした理想的な開発スタイル

こうした短期反復型のソフトウェア開発が注目されるようになった背景には、技術的な進歩が大きいと解説する。「小さく分割して開発するためには、全体を統合できることが前提になります。以前は手作業で対応していたので多大な手間がかかりましたが、統合を自動化するツールがそろってきました」。
分割した機能を短いサイクルで作り、全体に統合して動作を確認しながら開発を進める手法は「コンティニュアス・インテグレーション」(継続的インテグレーション)と言われる。ソフトウェアは常に動く状態にあり、障害があればチーム全員で解決にあたるという技法だが、これを行うためにはそのための環境を整える必要がある。
コンティニュアス・インテグレーションを実現するためには、「ソース・コードの一元管理」「ビルドの自動化」「テストの自動化」の3つが必要になるという。「これらの機能を提供するのが、IBMの『Jazz®プロジェクト』で開発された『Rational Team Concert™(RTC)』です」とRTCを紹介する。
理想的な開発環境を目指して始まったJazzプロジェクトでは、ユーザーも開発に参加するオープンソースの開発スタイルが取り入れられ、「透明性」「コミュニケーション」「適度なプロセスと自動化」の3つがキーワードになっている。RTCにはこの考え方が反映され、コンティニュアス・インテグレーションを実現し、「日本のソフトウェア開発現場をハッピーにする」製品だという。


Jazzプロジェクトの3つのキーワードの解説図

プロジェクト・マネージャーはより本質的な業務に注力できる

Jazzプロジェクトの成果であるRTCを活用した開発では、メンバー全員の作業項目や進捗状況が共有され、短いサイクルを積み重ねながらソフトウェア開発が進められていく。メンバーの作業内容の情報はRTCによって自動収集され、プロジェクト・マネージャーがあらためて情報を収集する必要はない。
「正確な情報が自動的に集められ、誰でも見ることができるダッシュボードに集計結果が提示されるので、上長に報告するレポートを作る手間も省けます。プロジェクト・マネージャーは、プロジェクトの阻害要因を排除する、ほかのチームとの連携を図るなど、本来やるべき仕事に注力できるようになります」。
チーム開発による短期反復型のソフトウェア開発は、開発現場の業務スタイルを変えるだけではない。多段階請負構造という日本の IT業界の構造自体にも大きな影響を及ぼす。「設計や要件定義で役割が終わるのではなく、最終成果物自体が求められるようになり、これまでのようなピラミッド型の請負構造では対応できなくなります」と予測する。
先進ユーザーの中には、ビジネスとの連動性を高め、コストを削減するために、ソフトウェアの内製化を推進する動きもある。厳しい経営環境におかれるユーザー企業のニーズに応えるためには、ソフトウェアの開発スタイルの見直しが迫られているのである。

IBM、IBMロゴ、ibm.com、Jazz、Rational、およびRational Team Concertは、世界の多くの国で登録された International Business Machines Corp.の商標です。他の製品名およびサービス名等は、それぞれ IBMまたは各社の商標である場合があります。現時点での IBM の商標リストについては、http://www.ibm.com/legal/copytrade.shtml (US)をご覧ください。

Rational software

お問い合わせはこちら

まずはお気軽にご相談ください。

RTC V3.0.1 概要

チームのコラボレーションを促進。 また、アジャイルもウォーターフォールにも対応します。


技術的なご質問

jazz-jp.net

Rational Team Concertに関する質問や話題を話し合うフォーラムです。 無料会員登録後、どなたでも投稿いただけます。


Twitter

We're here. twitter.com/IBM_JP_Rational

Twitter による情報提供を開始しています


Rationalツール ここからはじめよう!シリーズ

Rational Team Concertの機能概要、評価版、インストール手順など役立つ情報や資料を集約!