全5789文字
PR

 以前の記事で「21世紀はソフトウエアエンジニアが握る世紀」と豪語しました。そして前回の記事では「ソフトウエアは資産」でありそれの作り手であるソフトウエアエンジニアは「投資家」でもあると論じさせていただきました。具体的に何を体現することが「投資家」としての判断を見誤らずに、ソフトウエア開発を「商売」として成り立たせることができるのか、ぜひ意識してほしい3つのことを今回は紹介したいと思います。

まず「誰」から考える

 筆者は新卒で入社した会社から独立してシステム開発会社を経営し、その後20年近く金融・ゲームなどのシステム開発の現場にいます。この間、大小さまざまなプロジェクトやプロダクトに携わる中で常に「ユーザーを見る」ことを一貫して意識してきました。これが今回お伝えしたい、商売としてのソフトウエア開発に必要な第1のポイントです。

 もちろん筆者も受託開発を行っていたときは、依頼されたものをいかに早く仕上げるかに徹していた時期がありました。しかしそのときでさえも「ユーザーはどんな環境でどのようにシステムを使うのだろうか?」という疑問を持っていました。

 当初、アパレルの通信販売のシステム開発を受託した際に、コンシューマー向けのサイトについてはデザイナーが作ってくれましたが、バックオフィスの管理画面や、実際作るであろう画面イメージについては誰も作ってくれませんでした。そこでドローソフトの「Illustrator」で描いて実際業務担当となるユーザーのデスクまで持っていき会話をした覚えがあります。このころからプロトタイピングが自分の中で当たり前になっていました。

 例えば、はじめの想定では、商品データの管理は1つひとつの商品をCRUD(Create、Read、Update、Delete)で行うことを想定していましたが、数千にのぼる商品管理を管理画面から1つずつ管理するのは不便なので一括で処理する機能を実装しました。また、アパレルの画像ファイルは撮影部隊からCD-Rで大量に送られてきます。そこで今で言えばAWSの「S3」のような画像処理機能もついた画像ストレージを別のコンポーネントに切り出すことにしました。そのうえでCD-Rのフォルダーをドラッグ・アンド・ドロップすれば画像データを一気にアップロードし、自動的にサムネイルを作ったり、Landscape(横)・Portrait(縦)を自動判別して適切にクロップ(切り出しや大きさ調整)したりするような処理まで実装しました。このときは処理が大幅に楽になったと非常にありがたがられました。

東京からニューヨーク本社へ出向いて説明

 同じようなことを外資金融に勤めていたときも経験しました。大規模なシステム改修にあたり、操作イメージを形にしてA3の紙に主要な画面の構成図を印刷し、わざわざ東京からニューヨークの本社のユーザーのデスクまで行って説明したのを鮮明に記憶しています。後にシステムを納品するころにはお互いの顔が見れていたため、ユーザーのアダプテーション(システム導入)もスムーズだったのではないかと思います。まさにユーザーとの信頼関係を作りながらソフトウエアを作っていたように感じられました。