お店で商品を購入する場合、どのレジで買っても商品の品質には影響ありません。
服を買う際も接客してくれる人によって、オススメされる商品が変わると選択は変わるかもしれませんが、その服自体の品質に影響があるわけではありません。(気持ちよく買えたかどうかは違うかもしれませんね)
しかし、アプリ開発においては品質が大きく変わることがあり得ます。
担当者によって品質が変わる理由
プログラミングは10人いれば、10人とも書くプログラムコードは異なります。同じ仕様であれば同じではないか?と、考えられることでしょう。しかし、その仕様を実現するためのプログラムのコードのパターンは無限にあると言っても過言ではありません。
極めて単純なプログラムであれば、その差は大きくないにしても、複雑性が増すほど人によって作り方は変わって来ます。
(ご参考)
そのため、プログラムの書き方などにより、品質が高い人もいれば低い人もいるのは当然のことなのです。
見かけ上の品質は後から上げることはできる。しかし・・・
もし、プログラマが作ったプログラムコードの品質が低くても、プログラムの品質は後から上げることができます。一見矛盾しているようですが、それは綿密なテストを行い、不具合を修正して行くことです。
不具合がなくなり、プログラムとして問題なく動作するようになれば「見かけ上」品質が高いプログラムに見えます。
では、正しくプログラムが動けばそれでいいのでしょうか?
正しくプログラムが動いていれば品質は高いか?
繰り返しになりますが、見かけ上の品質は高いです。
しかし、外からはプログラムのコードは見ることができません。このコードの作り方が悪いと、保守性が著しく低下します。
つまり、機能追加をしたいと言った時に、複雑になることが多いのです。複雑になる、即ち新しい不具合が発生しやすくなる、また、修正コストが高くなるのです。もっとひどければ、機能追加をするためには作り直しです。とすら言われることもあるでしょう。
その理由は、根本的な品質にあるのです。
防ぐ手立てはあるのだろうか?
契約は会社対会社で行いアプリ開発の業務を委託するわけですから、どのエンジニアが開発するか、発注先が指定することはできません。アプリ開発会社は決めた仕様(要件定義)に基づいたアプリを納品する義務はありますが、プログラムコードの書き方までを指定できるわけではありませんし、実際指定すること、そしてコードの良し悪しを判断することもできないでしょう。
そうすると、実際のところは残念ながら防ぐ手立てはありません。
できることと言えば、要件定義において「保守性を高くする」という要件を加えることくらいですが、これは曖昧な定義であるため、どの程度が高いのかは判断できません。そのため、厳密には要件として成り立たないのです。とは言え、発注者側からのそのような要望をいれておく事で、開発者側としては、そのような申し入れをしてくるという事はよくご存知かもしれない。注意してかからなければと思わせることができれば、牽制にはなることでしょう。
こんなことがあるという事を知識として持っているかどうかで、アプリ開発会社との接し方も変わります。
今回は明確な回答ではありませんが、予備知識として知っておいて頂ければと思います。
スマホアプリを使った業務システム構築のことなら
株式会社クラボードへお気軽にご相談ください