何が違うの? PoC開発と本開発の設計|システム開発 必須知識
2021.10.26 (更新日 2023.12.06)
こんにちは。PIVOTコラム編集部です。
今回はタイトルの通り、PoC開発と本開発の設計に関してご説明いたします。
もくじ
システム開発の「設計」って?
設計といってもいろいろな設計がありますが、今回の記事では実際にコードを書いてプロダクトを作る前準備としての設計、システムの設計にフォーカスしています。
設計に関する話は、以下の記事でも解説しています。内容としても関連する部分が多々ある(同じ話を異なる側面からみているとも捉えられる)ので、合わせて読まれると良いかと!
「ただ動く、使えるだけじゃダメなんだよ母ちゃん!」- システム開発時の設計にコストをかけるべき理由
ただし、今回の記事とは違って、あくまでも本開発の中での設計の話をしている点はご留意ください。そこを押さえずに読んでしまうと、真逆のことを言っているように捉えられてしまいます。
そもそもPoC開発ってなんぞや、と言う方はこちらの記事を是非。
「PoC開発」と聞いてピンとこなかった話
今回の記事の中で使われる”PoC”や”PoC開発”の意味を定義しておくと、「アイデアや企画構想(コンセプト)を実現すべきか否かを判断する為の検証工程、及びその過程で作成される検証用プロダクトのこと。」となります。
その上で、今回の設計に関するお話の結論として、以下が挙げられます。
「PoCレベルでの設計で、そのまま本開発を進めることはできない」。
以降ではこの理由を掘り下げていきます。
そもそもシステム開発の設計には「レベル」がある
世の中のほとんどのものには松竹梅といったレベルが存在しますが、設計にも同様にレベルがあります。
このレベルとは具体的になんのレベルなのかというと、ひとまず「”堅牢さ”の段階」だと思っていてください。
何か建物を建てる際にも、プレハブ小屋から超高層ビルまで、部材や施工方法などピンキリですよね。そのイメージです!
少し踏み込んだ話をすると、この「”堅牢さ”の段階」と言う表現の仕方は少し悩ましく、実際には各処理の疎結合具合や再利用性の高さ、セキュリティ基準だったりと、他にもさまざまな表現の仕方・指標があります。便宜上含みのある表現になっていることをご了承ください。
(「疎結合具合ってなんだよ…意味わからんよ」となっている方もいるだろうなと思ったので、設計における疎結合と密結合の違いに関しても追って別記事で解説したいと思います。コード的にはそれぞれの処理の役割を明確にして、お互いが他方の役割を知らないような状況が何かと嬉しいのです。詳しくはまた後日!)
何が違うの?疎結合設計と密結合設計|システム開発 必須知識
システム開発のフェーズに応じた設計を採用することが最大のコストパフォーマンスにつながる
「じゃあPoCの段階から最強の超堅牢設計をしておけば良いじゃん」、大半の方がそう思われると思うのですが、ほとんどの場合そうではないと我々は考えています。
改めて、PoCの定義に立ち戻ると「アイデアや企画構想(コンセプト)を実現すべきか否かを判断する為の検証工程」とあります。
そうです。あくまでも「検証工程」なのです。
検証工程において重要なことは、必要な検証を短期間・最小限のコストでこなし、本開発に向けた確度の高い情報を得ることだと思います。そのため、PoC開発においては実装のスピード感が命になります。疎結合だとか再利用性だとか細かいことは置いておいて、とにかくさっさと動くものを実装したもの勝ちと言うことですね。
そこに本開発レベルの超堅牢設計を無理やり導入すると、どうなるでしょうか?本来検証の数をこなすべき段階で、不必要に実装に時間がかかってしまいPoC本来の価値が薄れてしまいます。
つまり、PoC開発であればPoC開発用のお手軽設計、本開発であれば本開発用の堅牢設計、のように、開発のフェーズに応じた設計を都度採用することが最大のコストパフォーマンスにつながると言うことです。
PoCから本開発に進む際の再設計コストを削減するために、中途半端な設計でずるずると進めてしまうと、結果的に誰も幸せになれないことが多いです。キッパリとした割り切りが最終的には効いてきます。
PoC開発と本開発の設計 〜まとめ〜
今回はPoCと本開発の設計の違いについて書いてみました。
設計は、そのプロダクトに関わる人全員の働き方を左右し得る重要な要素です。それぞれのフェーズにおいて、何が重要なのかを考えて最適な選択をすることが大切です。
PIVOTでは設計の段階からデザイナやエンジニアがひとつのチームとなり、プロジェクトに取り組みます。
ビジネスをグロースさせるデジタルプロダクト開発のご相談は、是非PIVOTまで!
「真ん中に『人』がいる
デジタルサービス」をつくりませんか。
お仕事のご相談やお見積もりのご依頼、具体的なご相談は、こちらからお問い合わせください。