2009/06/03

ビジネスとしてのソフトウェア開発? 再浮上

 ソフトウェア開発のビジネスでは,最終プロダクトを想定できないためにおこる発注者側と開発者側のやりとりの難しさがある.ソフトウェア開発は,常に最終成果物であるソフトウェアそのものへの仕様決めと実装である.ソフトウェアが発展的にどのように変化していく必要があるのかを想定し,ソフトウェアそのものの性質に応じて開発プロセスを選択していく.このソフトウェアの性質を,発注者側と開発者側の双方が早期に認識し,変化に対応できる開発プロセスを経ていく必要がある.開発プロセスの中で,仕様決めと実装が徐々に詳細になっていく.
 ソフトウェア開発を行うメンバーは,営業,プロジェクトマネージャ,ソフトウェアエンジニアによる開発者サイドの基本的構成メンバーと発注者である.仕様決めには,発注者とプロジェクトマネージャ,ソフトウェアエンジニアが共同して行い,実装はそれにしたがってソフトウェアエンジニアが行う.プロジェクトにかかわる要員のアサインは,コストバランスと将来の受注へのつなぎを勘案して営業とプロジェクトマネージャが行うのであろう.
 さて,ここで,ソフトウェアがどういう経緯をたどって作られるのかということの合意がない時,発注者の想定開発プロセスと受注者の想定開発プロセスが異なるとき,発注時の仕様書にソフトウェアの機能や性能が十分に記述されていない時,発注者の想定するソフトウェアは作られないことが起きる.発注者からすれば理想のソフトウェアを実現するために仕様を決定し実装に反映させようとする.一方,開発者からすれば優先順位の低い仕様を見送らせ実装すべき部分を最小化しようとする.このときどこでどう折り合いをつけるのか,ビジネス上の攻防が始まるに違いない.
 我々の体験した開発者の対応は,発注者の仕様を最小化し実装すべき部分を最小化するひとつのやり方ではあった.それは大方の仕様を発注者と開発者と双方で決定するときに発注者から出される仕様の欠点を常々指摘したのち実装に着手する.検収期間を数日の範囲しかとれない状況で動作するシステムを発注者に提示し,改善すべき瑕疵について問いただす.その間に出される改善要求リストの項目に対してだけ改修しようとするが,改善すべき機能については新規案件だと主張し改修はしない.すなわち,要求機能は実装前に固定されて,その後実装を開始し,瑕疵についてだけ改修するというものであった.
 要求機能を確定する段階はそう単純ではない.システムに対する入力と出力が明確に規格として決まっている仕様であれば,比較的早い段階で要求機能を固定することができる.しかし,開発者としてどのような仕様であるのかシステムの本質的な意図を把握することが難しい場合,開発者として見える要求仕様は徐々に明確になっていく.明確化する方法は,発注者からのフィードバックを得るしか方法がない.そのためには開発者は早々にプロトタイプシステムを発注者に提示して,発注者からのフィードバックを得ながらシステム仕様の詳細化と実装に取り組む方が,より早く必要なシステム仕様を確定できるのではないだろうか.周囲のビジネス状況の変化によって発注者の要求が変化すると同時に,システムに必要な機能が徐々に明確化するのである.

2009/01/09

大学における研究者,大学共同利用機関の学術公共事業,情報基盤開発

 大学の教育研究者は自らの学術成果を広く普及させ社会貢献をしなければならない状況が明白になっている.同じ分野で,一方は教育研究フィールド,一方は事業フィールドという役割分担の中で,教育研究から事業への経路で知識移転をし,結果を事業から教育研究へフィードバックする流れをなして協調してきた.その協調の流れを加速して社会の発展をより強力に推し進めることが経済不況の中で期待されている.
 産官学の区分けの中で,学術公共事業は税金を利用した行政の中に位置づけられている.学術政策は,大学や研究機関の学識経験者が行政官僚のマネージメントの中で議論をして決定される.大学共同利用機関法人の一つである国立情報学研究所が事業として担っているのは,大学や国の研究機関の図書館や情報基盤センターと連携して学術情報基盤を形作ることである.
 最も共同利用機関として手をつけやすいことは,上級官庁から事業政策に付随する事業費を調達して,各大学の要望となるような意見を集約・議論する場を設け,決定事項に応じて事業を推し進めることであろう.今のところ,行政の意思決定の方向性は上級官庁からの指揮監督に基づく指示ではなくて,実働組織自体の判断で動くように仕向けられている.大学の学術情報基盤に関しても,各大学が自立して,そして,協調していくように仕向けられている.そのため,共同利用機関法人としては何も意思決定をしないという,強烈なメッセージが今のところ発信されている.
 大学の情報基盤センターは,計算資源,計算機ネットワーク基盤,大学間認証基盤を構築し,図書館は,図書と目録,アーカイブ(機関リポジトリ)を構築している.また,博物館も,図書館と類似の活動を有している.大学共同利用機関としては,これらの活動に関してあくまで意思決定の場と資金の提供であって,国立情報学研究所は特に図書館に対して何も意思決定しないという姿勢は相変わらず変わらない.
 さて,大学共同利用機関という組織として最低限行わなければならないことが,上記の意思決定の場と資金の提供であるのであるが,そのような事業体が自ら行う情報基盤開発として行うべきことは何であろうか.ここでは図書館寄りのコンテンツ事業および情報基盤開発について考えてみる.
 信頼性のある知識や知見といったときに,それが迅速な流通を前提としたとき,論文や図書の形式をとるのは一般的で,手元にあるPCや携帯電話などを用いて閲覧するというのは即時性という意味では好都合である.この知識流通の形式はゆるぎないものであり,学術情報流通の関係者は,この方向に標準を合わせて活動をシフトさせている.たとえば,研究者は雑誌論文を,紙メディアをベースとしながらも,ネット上からダウンロードしてはプリントアウトしたりまたは画面上で閲覧したりする.Webというコントロールの存在しない情報発信形式から必要な論文を探し出すには,インターネットのIPアドレスと80番ポートをやみくもにクローロングして,その取得したデータをもとに個々の研究者に必要な情報の候補をダイナミックに提供するという情報検索サービスは必要不可欠であった.紙メディアからWebに論文や図書の媒体がシフトしたおかげで,そのアーカイブの受け皿である図書館は機関リポジトリを始めざるを得なくなった.また,出版社も同時に電子出版物をWeb上で提供したため,図書館はそれらへアクセスするための図書館としての契約と関係する組織メンバーへの利用促進をせざるを得なくなった.
 これまで,大学共同利用機関である国立情報学研究所が図書館系事業として行ってきたことは,目録システムによる図書の整理と貸借の促進,機関リポジトリの普及促進,電子出版物の契約・管理・利用促進のためのシステム導入実験である.学会とのかかわりの中では,SPARCという国際学術情報流通基盤整備事業と,学会論文電子出版支援および検索・閲覧サービスを含めたCiNiiシステムの提供が主なものである.
 Web上への論文の出版と検索サービスの提供が基本的なシフト先の骨格であって,これに付随する技術的・制度的な要件は方々で研究開発されている.国立情報学研究所の研究スタッフはサービス開発のための身近なシードとなりうる.
 わが国には,国立情報学研究所と類似のサービスを行っている事業体が存在する.科学技術振興機構(JST)である.関連事業の中心は,やはりWeb上での論文の提供であって,そこにかかわる事業性質は共通である.異なるところは事業主体の出自にかかわる.国立情報学研究所は大学図書館,JSTは財界の資料センターである.出自の差として,国立情報学研究所固有のものとするところは,総合目録,および,機関リポジトリであろう.
 では,国立情報学研究所がWeb上での論文の提供という骨格に対してなすべき活動は何か.この事業に限定すれば,実のところJSTは優位にある.関連スタッフ,事業費という観点からすると,国立情報学研究所の10倍の予算がJSTにあてがわれている.しかも,JSTは中国ビジネスをも展開している.一方で,国立情報学研究所が優位な点は何か.それは研究開発基盤である.大学が先に指摘した産業界や官界に対する貢献を加速していく必要があるから,身近な研究者の成果を積極的に事業基盤に取り入れて,実証してみせることはやりやすいに違いない.その上で確実な事業を展開する出口となる道を見つけるのである.