ODM(機器開発製造受託)

ソフトウェア

言語の進化により高度な抽象概念を獲得してきた私たちが、ソフトウェア技術の進化によって手に入れたものの一つがプロセスの高度な抽象化と言えるかも知れません。ハードウェアを如何に美しく使いこなせるか?それは、文字通りソフトウェア技術者の腕に掛かっています。

ソフトウェア内製の強み

ハードウェアは作りますがソフトウェアは外注任せ、というメーカーが多い中、シマノ科研はソフトウェアも内製することができます。
そのため、ハードウェアに則した最適かつきめ細やかなソフトウェアをご提供することができます。

ソフトウエア品質

品質というとハードウエア的な部分が取り沙汰されますが、ソフトウエアにも品質はあります。ソースコードして考えると主に可読性・保守性・適度なコメントなどではないでしょうか。技術者個人の癖もありますが、短すぎるコードは可読性を悪くしますし、冗長なコードは保守性に欠けると思います。特に間違ったコメントや修正になった個所のコメントが変更されていない場合などは後で作業する人のミスを誘発し、最悪と考えます。またソフトウエアの品質を担保する上でテストは最も重要なファクターです。出荷後にバグが出た場合のほとんどはテストに抜けがあると考えられます。シマノ科研ではテストを最後の砦と考え、テストに重点を置いた開発をしています。

ベストプラクティス

ソフトウエアの開発を行う上で重要なことは、お客様が何を望み何を欲しているのかを分析することと考えます。要求・要件などと表現されますが、これらを定義することがソフトウエア開発の第一歩であり、かつ最も重要なファクターです。これらは技術的な側面とマーケティングな側面の両方を持っている部分であり非常に難しいところですが、どちらかの側面に偏ることがないようバランスに気を付け、お客様が必要とするもの以上の機能を開発しようとしたり逆に妥協しようとしたりすることなく、常にお客様が必要とするベストな製品を提供します。

アーキテクチャ

ソフトウエアの進歩はまさしく日進月歩です。最近の傾向としてユーザーインターフェースのあるアプリケーションなどは、設計にデザインパターンのMVCやMVP、MVVMなどの構造を取り入れるということをよく耳にしますが、これらは採用するプラットフォームや開発ターゲットの要求によって、適している手法は千差万別と考えています。組み込みからウェブアプリケーションまでの幅広い分野をカバーしていくために最新の動向を精査し、たゆまぬ努力で常に技術力のアップを目指します。

技術の習得と継承

ソフトウエアを勉強するということを耳にします。最近では数多参考書のようなHowTo本が多いですが、それだけで技術が習得できるとは到底思えません。確かにライブラリの使用方法や手先のノウハウは簡単に習得できるでしょう。しかしソフトウエアの基本的な考え方は別の次元であると考えます。経験により最短で習得できると考えられる技術はどんどん経験してもらい、ミーティングやレビューでの不足をフォローしつつ、基本的な技術を継承したいと考えます。