戦略ソフトウェアとは、近い将来の私たちの生活の中で自然に使われている技術の基盤となるようなソフトウェアであると理解しています。従って、戦略ソフトウェアを創出するにあたっては、
1 明確なエンドユーザー像を持つこと
2 多くのソフトウェア構築の基盤となるものであること(あるいはそのような要素をソフトウェアが内包していること)
の2点を常に意識する必要があると思います。これからの戦略ソフトウェアを創出する人材に求められる資質で特に重要なのは、両者のバランスをいかにうまくとることができるかということではないでしょうか。前者に特化して、とりあえず今必要なソフトウェアを作ることだけをしてしまうと、出てきた問題それぞれに対するアドホックな解の集合を受動的に生産しているだけになり、戦略的とはいえません。また、後者に特化して、普遍性を求めすぎて現実の世界で使えないものを提案しても、それをソフトウェアとして具体化することは困難になりますし、解決したい問題を見失ってしまうこともあるかもしれません。
現在私は分散して配置された多数の計算機を利用して耐故障的に並列計算を行うという研究を行っています。並列計算の計算効率を向上させることも非常に重要な課題ですが、一方で故障や他の利用者の出現などがあると、安定した動作と性能を確保するのが困難となり、そのためにエンドユーザーが自然に並列化の恩恵を受けるアプリケーションが少ないという現状があります。私は、大きな計算力を利用可能な並列処理を自然に普及させるために、デスクトップ上でわかりやすい操作を行うことで並列処理をコントロールできるようなソフトウェアを作ることで、エンドユーザーと並列計算との間の距離をもっと縮めることができないかと考えています。
戦略ソフトウェアの創出には、アイデアを形にするという側面もあると思います。
私は本プログラムに参加することで、上に述べたバランス感覚を常に意識しつつ、問題発見能力と幅広い知識、そして、情報技術を利用してできるかもしれないことと実現可能なことの間のギャップを埋めることができるソフトウェアの構築能力を身につけていきたいと思います。 |