カスタムソフトウェア開発

つくるのは安いほうです。
持ち続けるのは違います。

Webアプリケーションとポータル、AIを組み込んだプラットフォーム、API、社内業務とERPのツール、クラウドネイティブなサービス。引き継いだチームが、当社に連絡せずに変更できる状態でつくります。

左側の四つの源——事業上の要求、社内のチーム、顧客、データとシステム——が開発へ流れ込みます。その上につくられるものが並びます。Webアプリケーション、AIを組み込んだプラットフォーム、社内システム、顧客ポータル、APIと連携。中央にはコード、ダッシュボード、アシスタントを載せた作業環境があります。下部には、計画、開発、テスト、デプロイ、運用という流れ。右側には、AWS、Microsoft Azure、Google Cloud へのクラウド配置、「セキュアで信頼できる」——設計段階からのセキュリティ、高可用性、スケールする構成——のパネル、そして「実際の事業へのインパクト」と題されたパネルがあり、その三項目は成果ではなく例示のラベルです。
例示のための構成です。「実際の事業へのインパクト」のパネルに並ぶ効率の向上、顧客体験の改善、持続的な成長は、案件が目指す成果の種類を示すためのラベルです。測定された結果ではなく、お約束でもなく、特定の案件から取ったものでもありません。記載のクラウドは配置先であって、提携関係を示すものではありません。
サービス一覧

本当のコスト

請求書は構築に対して出ます。支払いは、そのあとの年月に対して続きます。

構築には終わりの日付と金額が付きます。だからこそ、誰もがそこを比べます。そのあとに来るものには、どちらもありません。誰も見積もらなかった変更、保守されなくなる依存、そしてそれを理解していた一人が辞めること。これはカスタムソフトウェアのリスクではありません。カスタムソフトウェアとはそういうものであり、その大部分は、最初の版がどう書かれたかで決まります。

つくるもの

持ち主のいるソフトウェア

御社のスタックの中にある、範囲の定まったシステム。何をするのかを語るテストと、当社がいなくなる前提で書かれた引き継ぎつき。おもしろいエンジニアリングは、当社が去ったあとに起きることの側にあります。

避けるもの

当社にしか変更できないシステム

必要のないところで凝っていて、書き残しがなく、一人しか知らない手順でデプロイされるもの。納品の時点では割安に見えて、動かし続けるかぎり税金であり続けます。

提供内容

この仕事に含まれるもの

六つの領域です。すべての案件にすべてが必要なわけではありませんし、範囲は着手前にお客様と合意します。

Webアプリケーションと顧客ポータル

顧客と社員がログインして使うシステム。難しいのは画面ではありません。アカウント、権限、更新しても消えてはいけない状態、そして手元では再現できない遅い回線で何が起きるか、です。

AIを組み込んだプラットフォーム

あとから画面を付けたAIの案件ではなく、内側にモデルを持つプロダクト。モデルがやることは仕事全体のうち小さい部分で、その周りのすべてが、運用できるかどうかを決めます。

APIと連携のインターフェース

RESTとGraphQLのエンドポイント。ドキュメントを読まない人に使われる前提でつくります。バージョンの付け方とエラーの形は最初に決めます。何かが依存し始めたあとでは、ほぼ変えられないからです。

社内業務とERPのツール

誰もデモで見せず、全員が使うシステム。顧客向けのソフトウェアとは別の軸で評価されます。心地よいかどうかではなく、その日四十回目の作業をしている人が、道具と戦っていないかどうかです。

クラウドネイティブなサービス

コンテナ化され、再現可能に配置され、実際に動かす規模に合わせたサービス。問題の形がそれを正当化するときはKubernetesを、そうでないときはもっと素朴な構成を。後者のほうが、提案される頻度よりは多いはずです。

引き継ぎと保守性

読めるコード、書き残された判断、テスト一式、そしてチームの誰でも実行できるデプロイ。これは厚意ではなく成果物であり、二年目にいくらかかるかを決めるのはここです。

進め方

五つの段階。最後はお客様のチームが所有します

  1. 何をつくらないかを決める

    たいていは、この仕事でいちばん価値のある一時間です。要件の一覧にはほぼ必ず、すでに製品として存在するものが混ざっています。それを自分でつくるのは、手に入れる方法として最も高くつきます。

  2. 成り立つことを示す一筋をつくる

    システムを端から端まで通る経路を一本、御社の環境で動かします。ホワイトボードでは決着しない議論が決着しますし、予算を確定する前に決着します。

  3. 残りを御社のスタックでつくる

    御社のクラウド、御社のリポジトリ、御社のIDプロバイダ、御社のレビュー手順で。当社のものでも、隔離された環境でもなく、最後に移管が必要な場所でもありません。

三段階目で、それは御社の環境で動きます。 残りの二つが、それを当社のものではなく御社のものにします。

  1. 証明できる状態にする

    そのシステムが何をするはずなのかを記述したテストを、変更のたびに動かします。これがなければ引き継ぎは願望です。次の担当者は、自分の変更が二画面先で何かを壊したかどうかを判断できません。

  2. 鍵を引き渡す

    当社のためではなく、保守する人のために書かれたドキュメント。御社のチーム自身が実行するデプロイ。そして、当社にとって手放すのが都合の悪い部分も。この仕事は、終わるように設計されています。

はっきり言うと

カスタムと呼ばれるものの多くは、買うべきものです

いま話しておられることの大半をすでに製品がやっているなら、正直な助言は「その製品を買って、差額を本当に御社のものである部分に使う」です。カスタムソフトウェアが働きに見合うのは狭い場所です。既製のツールに合わせると、実際に稼ぎを生んでいるものを変えることになってしまう、その場合だけ。それ以外の場所では、払い続けることを自分で選んだ請求書であり、当社はそれを書くより、やめておきましょうとお伝えするほうを選びます。

その前に

よくいただく質問

これは、つくるべきですか。買うべきですか。

決めたあとではなく、決める前に聞いてください。いま話しておられる作業をすでに製品がカバーしているなら、買うほうが二重に安く済みます。ライセンスは構築より安いですし、そのあと保守するのは御社ではありません。つくる価値があるのは、既製のツールに合わせると、事業の稼ぎ方そのものを変えることになる場合です。

何でつくりますか。

フロントはReactとNext.js、その後ろはNode.jsかPythonとFastAPI、データはPostgreSQL、配置がそれを正当化するならDockerとKubernetes。一覧そのものより、その理由のほうが重要です。これは御社が採用でき、読める人がいるスタックだからで、好みではなく意図的に置いている制約です。

この仕事が終わったとき、何が残りますか。

ソースは御社のリポジトリに、御社のライセンスで。デプロイは御社のパイプラインから動き、ドキュメントは当社のためではなく引き継ぐ人のために書かれています。御社の技術者が当社に連絡せずにシステムを変更できないなら、請求書に何と書いてあっても、引き継ぎは失敗しています。

Webデザインのページとは何が違うのですか。

Webデザインは表層です。文字の大きさの体系、余白、階層、どう読めるか。こちらはその後ろにあるもの——アカウント、データ、権限、API、デプロイです。実際の案件は多くの場合その両方を必要としますが、別のページになっているのは、別の技能であり、片方だけで足りることもあるからです。Webデザイン。

すでにあるコードベースでも作業できますか。

たいていできますし、つくり直すよりそちらを選びます。書き直しは、この業界でもっとも頻繁に提案され、もっとも稀にしか正当化されない答えです。まずやるのは、いまあるものを読んで、どの部分が残す価値があるかを正直にお伝えすることです。ときにはその答えが「ほとんど全部」で、それは想定より安い答えになります。

次に

要件の一覧を持ってきてください

つくろうとしていたものを送ってください。何をつくる価値があり、何がすでに製品として存在し、最初の一筋は何であるべきかをお返しします——たいてい、その一覧より短いものになります。

開発の範囲を相談する サービス一覧
リソース

ホワイトペーパー・記事

カスタムソフトウェア開発に関する記事は、順次公開され次第こちらに表示されます。

View More

カスタムソフトウェア開発についてお問い合わせください

お気軽にご相談ください。最適な進め方をご提案します。

お問い合わせ
変革の準備はできていますか?

AIを安全に導入
エンタープライズ向け設計

Robo Labは、AI、自動化、クラウド技術、そして世界水準のエンジニアリング人材を組み合わせ、組織のAI活用を支援します。戦略立案から開発・導入・運用まで、一貫したサポートで成果創出を実現します。

お問い合わせ 会社概要を見る
24/7
エンタープライズサポート
10+
AIソリューション
11
対応業界
4
主要プラットフォーム