持続可能なソフトウェアを作る難しさ

GitHub

持続可能なソフトウェア開発は、開発者たちが長期的な視点で取り組むことが求められる分野です。しかし、現実的には様々な問題が存在し、それらを克服することが容易ではありません。本記事では、特に学園内の有志で開発し、私も開発に携わった Next NJR Feedback というナレッジ&議論サービスの事例を元に、持続可能なソフトウェア開発の難しさについて考えます。

開発者の卒業によるメンテナンス難

学園内で開発された Next NJR Feedback は、オープンソースソフトウェア (OSS) として公開されました。しかし、主要開発者が卒業をすることで、メンテナンスが困難になることがしばしばあります。開発者が減ってしまうと、ソフトウェアの安全性や機能性が低下するリスクがあり、その結果、利用者は Notion や Google サイトなど既存サービスの組み合わせを利用する方が良いと判断するかもしれません。

大人数での開発が形にならないことも

多くの開発者が関与するソフトウェア開発プロジェクトでは、意思疎通やタスク管理が困難になることがあります。特に学生開発者たちが多数関わるプロジェクトでは、プロジェクトの進捗が遅れることも珍しくありません。

技術スタックの限定が求められる

持続可能なソフトウェア開発には、技術スタックの限定が重要です。一般的に、習得しやすく拡張性の高い技術を採用することで、開発者がスムーズにプロジェクトに参加し、継続的にメンテナンスを行うことが可能になります。

クローズドアプリケーションには持続可能性を求めないほうが良い

学園内のソフトウェア開発において、クローズドアプリケーションに対して持続可能性を求めることは、必ずしも適切ではありません。これは、学園運営側が開発されたソフトウェアを受け入れるかどうかが不確定であり、その結果、開発者たちの努力が報われない可能性があるためです。

結論

持続可能なソフトウェア開発は、多くの課題を抱える難しい分野です。学園内で開発された Next NJR Feedback の事例を通して、開発者の卒業や退学によるメンテナンス難、大人数での開発が形にならない問題、技術スタックの限定の重要性、そしてクローズドアプリケーションに対する持続可能性の求め方について考察しました。

これらの課題を克服するためには、開発者たちが継続的にコミュニケーションを取り、適切な技術スタックを選択し、プロジェクトの目的と範囲を明確にすることが重要です。また、クローズドアプリケーションに対しては、適切な期待値を持ち、開発者たちが焦らず着実に取り組むことが求められます。持続可能なソフトウェア開発は容易ではありませんが、開発者たちが協力し合い、課題を乗り越えることで、より良いソフトウェアが生まれることでしょう。

このウェブサイト上のコンテンツは CC BY 4.0 DEED で利用できます