あらためて思う、新規開発って稀なんだ。
高木です。おはようございます。
世の中には、頭では理解しているつもりでも、なかなか感覚が追い付かないことがあります。
今回の話題もそのひとつです。
「何を今さら」といわれそうですが、あえて書いてみたいと思います。
先日、社内で話していた気付いたことがあります。
私はこれまで、ほとんどのケースで新規開発に携わってきました。
もちろん既存品の機能追加等を行ったこともあるのですが、比率としては少なく、大体が白紙からのスタートだったのです。
そんな感じですので、白紙から、もう少し具体的にいうと試作段階から関与することを前提で話をしていたのです。
それを聞いていた社員の一人は、マイグレーションや機能追加しかやったことがないようで、話を飲み込めなかったのだと思います。
新規開発といっても、実際にはいくつかのケースがあります。
大まかに分類すると次のようになります。
- プラットフォームとなるハードウェアから完全に新規
- ハードウェアは既存品で、ソフトウェアのみ完全新規
- ハードウェアは新規で、ソフトウェアは既存品を一部流用
- ハードウェアは既存品で、ソフトウェアも既存品を一部流用
最近多いのは上記のうち2番目から4番目です。
LinuxやWindowsを使う場合もあれば、Arduinoなどの市販のボードを使う場合もありますので。
ハードウェアが既存品であっても、それに書き込むファームウェアを新規開発する場合もありますし、既存のファームウェアを改修する場合もあります。
LinuxやWindowsを使う場合でも周辺機器を伴うケースが多いので、業務系の開発と比べると全然様相が違うと思います。
開発環境についても、多くの場合自分で決定しています。
そうはいっても、プラットフォームが決まれば選択肢は限られてきますし、他のメンバーが付いて来れないような開発環境を選ぶわけにもいきません。
そうなると、そんなに目新しい開発環境を選択することはできなくなります。
とはいえ、開発ツールのバージョンは概ね最新版を使います。
「概ね」と書いたのは、開発中にバージョンが上がることもあるからで、それが開発序盤なら新バージョンに追従しますが、終盤ならさすがにそれは無理です。
あまり古い開発環境を使っていると、製品寿命が長いものだと後々大変です。
ですので、なるべく新しいものを使うようにしています。
C++は普通にC++17を使っていますし、PHPのバージョンも7.2.8です。
Cはコンパイラのサポート状況もあって、C99が中心です。
こんな調子なので、保守開発メインの人とは話が合わなくなるのかもしれません。
自分とは違うスタイルで仕事をしていると話をすると、自分が普段やっていることが実は稀だったのだとあらためて感じるものですね。
ということで、今回は最近感じたことを気楽に書いてみました。