ソフトウェアに情緒はあるのか?

ソフトウェアに情緒はあるのか?

ソフトウェアに情緒はあるのか?

はじめに

この1〜2日で、(とりあえずは)社内用途として、LoRaWANデバイスをThe Things Stackに登録するためのデスクトップアプリケーションを開発しました。

このソフトウェア開発は、Claude Codeとの協働です。要件定義から実装、テスト、ドキュメント作成まで、AIとの対話を通じて進める目下流行中の開発スタイルですね。

開発を終えて、ふと考えました。

「ソフトウェアに情緒はあるのか?」



生成AIがもたらした変化

言わずもがな、生成AIの登場により、ソフトウェア開発の風景は一変してしまいました。

かつては数ヶ月かかっていた開発が、数日で完了することも珍しくありません。コードの大部分をAIが生成し、人間はその方向性を示し、レビューし、微調整する。そんな開発スタイルが現実のもの、というかフツーになっていると思います。

今回開発したLPWAN Provisionerも、従来であれば1-2ヶ月はかかっていたであろう規模のアプリケーション(10K行程度)です。それが、Claude Codeとの協働により、驚くほど短期間で形になりました。

LPWAN Provisioner

info   Info
LPWAN Provisionerの概要
- Wails v2 + Go + Vue 3 によるデスクトップアプリ
- シリアル通信によるデバイス情報読み取り
- The Things Stack APIとの連携
- プリセット管理、バッチ登録機能

ソフトウェアを「作る」こと自体の価値について、深く考えるざるを得なくなります。


カシミアニットのアナロジー

冬ですので、カシミナニットのアナロジーで考えてみました。

knit

カシミアニットには、大きく分けて2種類あります。

1つ目は、大量生産で作られるカシミアニット。工場で効率的に生産され、手頃な価格で手に入ります。機能的には十分で、暖かく、軽い。U社の製品は、あの価格であの出来具合。すごいですよね。

2つ目は、職人の手により一つ一つ丁寧に作られるカシミアニット。糸の選定から編み上げまで、熟練の技と時間が注ぎ込まれています。独特の風合いがあり、着るほどに馴染んでいく。私の大好きな世界観です。

機能的には同じ「カシミアニット」です。

しかし、後者には情緒がある。作り手の想いが宿り、使い手はそこに価値を見出す。非常に高価であっても、ファンがつき、愛用する人がいたりします。レザー製品で有名なH社は、まさにこれを具現化したものではないでしょうか?


では、ソフトウェア業界ではどうでしょうか?


ソフトウェアにおける「情緒」とは何か

生成AIにより、ソフトウェアを作ること自体は非常に短い時間で可能になりました。人の介在も少なく済むようになってきています。

このような時代において、ソフトウェアを開発すること「自体」に価値があるわけではなく、そのソフトウェアが実現することに価値がある——そのことが、改めて鮮明になったのではないかと感じます。


ソフトウェアにも「情緒」は存在する可能性がなくはないですが、なかなかそれを感じて価値を覚えることは少ないのかもしれません。

ソフトウェアにおける「情緒」???

  • 使い心地への徹底したこだわり: ほんの少しの操作感の違いが、毎日使うツールでは大きな差になる
  • 細部に宿る配慮: エラーメッセージ一つとっても、使う人のことを考えているかどうかが伝わる
  • 作り手の哲学: なぜこの機能があり、なぜこの機能がないのか。そこに思想がある
  • 時間をかけて磨かれた完成度: AIが1日で作れるものと、人が1年かけて磨いたものの違い


25年、この業界で

情報システム業界で仕事をするようになって、25年以上が経ちました。

この四半世紀で、技術は想像を超える速度で進化してきました。メインフレームからクライアント・サーバー、Webへ。そしてクラウド、モバイル、AI。

正直に言えば、これからの進化に追いつけるのか、不安がないわけではありません。

しかし、一つ確信していることがあります。

技術がどれだけ進化しても、「誰のために、何のために作るのか」という問いの重要性は変わらない。むしろ、技術的なハードルが下がるほど、その問いは本質的になっていくと思います。


生成AIは、ソフトウェア開発の「手段」を劇的に変えています。ここ数年で更なる変化があると思います。

ただ、「目的」を定めるのは、依然として人間の仕事です。 その目的に情緒を込められるとしたら、もしかしたら、それが、これからのソフトウェアの価値を分けるのかもしれません。


おわりに

今回開発したLPWAN Provisionerは、Claude Codeとの協働で生まれたソフトウェアです。

AIが大部分のコードを書きました。しかし、「こういうツールがあったら便利だ」という発想、「この操作感がいい」という判断、「このエラーメッセージは親切か」という配慮——それらは人間(私)が担いました。


大量生産のカシミアニットも、職人の手仕事のカシミアニットも、どちらにも存在価値があります。

同様に、AIで効率的に作られるソフトウェアも、人の想いが深く込められたソフトウェアも、どちらにも存在価値がある。

大切なのは、自分が何を作りたいのか、誰のために作るのか、そこにどんな想いを込めるのか、ということだと改めて感じています。


日々精進——25年経っても、この姿勢に変わりはなさそうです。



この記事もまた、生成AIと協働して記述されています。