How a Company Without In-House Developers Should Choose a Software Vendor — What to Check Before Estimates and Contracts

· · Custom Software Development, Outsourcing, Requirements Definition, Contracts, Business Applications, Information Security

Post on X
Revision history (first version, published Nov 1, 2026)
First published
Cite this article(DOI: 10.5281/zenodo.23856479)

This article is archived on Zenodo. Below are both the DOI that always resolves to the latest version and the DOI pinned to the version you are reading.

Go Komura (2026). How a Company Without In-House Developers Should Choose a Software Vendor — What to Check Before Estimates and Contracts. KomuraSoft LLC. https://doi.org/10.5281/zenodo.23856479 https://comcomponent.com/en/blog/choosing-software-vendor-without-developers/

DOI (latest version)
10.5281/zenodo.23856479
DOI (this version)
10.5281/zenodo.23856480

Sometimes a company asks an outside firm to develop a business app without anyone in-house who understands system development. Even after receiving proposals and estimates from candidate companies, you cannot compare them on their technical content.

This article takes up what a client without technical knowledge can still compare: how each vendor answers questions about “how they work” and “what the contract will decide.” That means how requirements definition is run, the assumptions behind the estimate and how changes are handled, deliverables and copyright, acceptance, the working team and subcontracting, the handling of data you entrust to them, and maintenance after delivery. As a yardstick, it uses public materials such as the “Information System Model Transaction and Contract” published by IPA (Information-technology Promotion Agency, Japan).

The scope is having an internal business app built through custom software development. This article does not deal with interpreting contract clauses or making legal judgments, so before signing a contract, also check with your legal staff or a professional. What to sort out in your own company before making a request is covered in “Windows App Outsourcing and Custom Software Development: What to Sort Out Before You Ask,” and how to structure the contract in “How Should You Structure a Custom Software Development or Operations & Maintenance Contract?.”

What You Can Compare Without Looking at the Technology

Even if it is hard for the client to tell the quality of a vendor’s code in advance, you can compare how the vendor explains the way it works: whether the explanation is specific, whether it is given in writing, and whether the vendor is open about the work and decisions that will also be required of the client.

IPA’s Model Transaction and Contract is a template for the contract concluded between the user (the client) and the vendor. Its clauses list what the client should settle in advance, such as the division of roles in requirements definition, the rights to the deliverables, acceptance, subcontracting, the change procedure and security1. If you turn this list straight into a list of questions, even a client without technical knowledge can compare candidates on the same yardstick.

Points for comparing candidate vendorsShows asking candidate vendors the same questions and comparing their answers on how requirements definition is run, estimates and changes, deliverables and copyright, acceptance, the team and subcontracting, entrusted data and maintenance.Candidate vendorsAsk the same questionsHow requirements definition is runEstimate assumptions and changesDeliverables and copyrightAcceptance and teamSubcontracting, entrusted data, maintenanceLine up and compare the answers

Figure 1: Ask the candidates the same questions, then line up and compare their answers on how they work and on each point of the contract.

In the diagram a solid line marks a relation that always holds and a dashed line marks a conditional one (the conditions are given per relation on the detail page). The full list of relations (8 in total, with evidence and certainty) and the definitions of the main concepts are collected on the knowledge map detail page (in Japanese). Data: JSON-LD / Turtle

How Requirements Definition Is Run

The Client Decides the Requirements

Requirements definition is the phase that decides what the system will do. IPA’s “Requirements Definition Guide for Users” says that responsibility for defining a system’s requirements lies with the user, who will use the system to benefit the business2. In the model contract too, the division of roles is that the client (Party A) produces the requirements definition document, and the vendor (Party B) supports it through investigation, analysis, proposals, advice and so on based on its expertise3.

Even in a company without developers, it is your company that decides the business flow, how exceptions are handled, which reports are needed and so on. Ask the vendor how it will help you make those decisions.

  • Who will run the requirements definition meetings, and how many times and over what period
  • What documents will be produced as the output of requirements definition, and who will approve them
  • The materials the client must prepare, and an estimate of the time its staff will need to spend

Whether a vendor lists the work required of the client specifically, or just answers “leave it to us,” is a clue for comparison.

Split the Contract by Phase

Rather than putting every phase of development into a single contract, the model contract is built around a multi-stage contract in which an individual contract is concluded for each phase1. The order is to contract requirements definition as quasi-mandate support work, and to estimate and contract the development part after the requirements are decided.

Concluding an individual contract for each phase under a multi-stage contractShows that under a basic contract, support for requirements definition is done under a quasi-mandate individual contract, development is estimated after the requirements are decided and a separate individual contract is concluded, and then individual contracts for operational preparation and migration follow.Basic contractIndividual contract 1: requirements definition support (quasi-mandate)Client finalizes the requirements definition documentEstimate for the development partIndividual contract 2: development (contract for work or quasi-mandate)Individual contract 3: operational preparation and migration

Figure 2: Estimate development after the requirements are decided, and conclude an individual contract for each phase.

You may receive a proposal that fixes the price and delivery date of the whole development before the requirements are decided. That differs from the model contract’s approach, so ask what the price assumes and how it will be handled if those assumptions change. A proposal that cannot show its assumptions in writing leaves you no basis for comparison when the question of extra costs comes up later.

Estimate Assumptions and How Changes Are Handled

The price in an estimate rests on assumptions such as which features will be built and to what extent, which environment they will run in, and what the vendor will do and what the client will do. If the assumptions differ between candidates, lining up the prices alone is not a comparison. Ask for a breakdown of the estimate and a written list of the work it does not include.

Once development has started, you may want to change the specifications. The model contract provides that a finalized specification may be changed only through the change management procedure3. This is a procedure in which a change proposal is submitted in writing and decided through consultation, including its impact on cost and delivery date.

The flow of the change management procedureShows that when you want to change the specifications, a change proposal is submitted in writing, its impact on cost and delivery date is discussed, and the agreed content is recorded before it is reflected in the work.You want to change the specificationsSubmit a change proposal in writingDiscuss the impact on cost and deliveryRecord what was agreedReflect it in the work

Figure 3: A specification change starts with a written proposal, and what was agreed after discussing its impact is recorded before it is reflected.

Ask the candidates how they proceed when asked for a change. A company that documents the content and impact of a change and confirms it lets you trace afterward which change added how much, more than a company that says it will take on a verbal request on the spot.

What to Include in the Deliverables

As defined in the model contract, the software to be developed consists of what the individual contract specifies, such as programs, content, databases and related materials3. It is safer to assume that only what is written in the contract will be delivered.

Ask the candidates whether they will include the following in the deliverables:

  • The source code
  • Design documents and a description of the database structure
  • Build and distribution procedures
  • Operating and failure response procedures

If you may later ask a different company to maintain the app, you will be in trouble without the source code and design documents. What happens when you take over a system with neither source code nor specifications is described in “When You Inherit a System With No Source Code and No Documentation.”

The model contract’s clause on “copyright in the deliverables” (Article 45) has three options3.

Option Who holds the copyright Use by the client
Option A Belongs to the vendor, except for items the client already held and the like The client may reproduce and adapt it to the extent necessary to run it itself
Option B Except for items the vendor already held and programs that can be used for general purposes, it transfers to the client when the fee is paid in full For the parts that remain with the vendor, the client may reproduce and adapt them to the extent necessary to run them itself
Option C Newly created programs (excluding those usable for general purposes) are shared by the client and the vendor from an agreed time As a co-owner, the client may use them, including licensing them to third parties
Three options for copyright in the deliverablesShows that in the model contract's clause on copyright in the deliverables, Option A has it belong to the vendor, Option B transfers it to the client when the fee is paid in full except for general-purpose programs, and Option C makes newly created programs shared.Copyright in the deliverables (Article 45)Option A: belongs to the vendorOption B: transfers to the client on full paymentOption C: shared by client and vendorGeneral-purpose programs stay with the vendorGeneral-purpose programs are excluded

Figure 4: Choose whether copyright in the deliverables belongs to the vendor, transfers to the client, or is shared.

Which option is best depends on the nature and price of the software. When comparing, ask which option each candidate assumes and why, and at the same time check whether, if you later ask another company to modify the app, you will be able to hand over the source code and have it fixed. The model contract also leaves the time at which ownership of the deliverables transfers to be set in the individual contract3.

Third-Party Software and Open Source

Besides the parts the vendor builds, a business app includes third-party software such as the OS and database, and free and open source software (FOSS). The model contract provides that when the vendor uses these, it proposes them in writing, showing why they are needed, the license terms and so on, and the client decides whether to adopt them3. Ask the candidates whether they can show a list of the products and libraries they plan to use and their terms of use.

How Acceptance Is Carried Out

Confirming that what was delivered meets the requirements and accepting it is called acceptance inspection. Under the model contract, the client, in consultation with the vendor, prepares an inspection specification that defines the test items, test data, test methods and test period. The client inspects the delivered software based on that inspection specification; if it passes, the client issues an inspection pass certificate, and if it fails, the client states the specific reasons in writing and requests corrections3.

The flow of acceptance based on an inspection specificationShows the client preparing an inspection specification in consultation with the vendor, inspecting based on it after delivery, issuing an inspection pass certificate if it passes, and stating the reasons in writing and requesting corrections if it fails.PassFailPrepare the inspection specification togetherDeliveryInspect based on the inspection specificationDoes it pass?Issue an inspection pass certificateState reasons in writing and request corrections

Figure 5: In acceptance, the client inspects based on an inspection specification prepared in advance and returns the result in writing.

For a company without developers, preparing an inspection specification on its own is a burden. Ask the candidates how they will help identify the test items, what tests they will run on their side before delivery, and in what form they will hand over the results. Also decide at the estimate stage whether the client can set aside time to check the software within the acceptance period.

The Working Team and Subcontracting

Points of Contact and Meetings

The model contract provides that both parties appoint a responsible person and regularly hold a liaison council, at the frequency set in the individual contract, to discuss progress, risks and issues3. Ask the candidates who will be the client’s point of contact, how often meetings will be held, and who will write the minutes.

At a company that relies on a single person for development, work may stop if that person leaves. Also ask how handover works when the person in charge changes, and where the source code and documents are kept and who can see them.

Subcontracting

A vendor entrusting part of the work to another company is called subcontracting. The model contract’s subcontracting clause has Option A, which requires the client’s prior written consent to subcontracting, and Option B, which leaves it to the vendor’s discretion while allowing the client to request reports or demand that it stop. Under either option, the vendor imposes the same obligations on the subcontractor and bears the same responsibility for the subcontractor’s work as if it had done the work itself3.

The model contract's two options for subcontractingShows that in the subcontracting clause, Option A requires the client's prior written consent and Option B leaves it to the vendor's discretion while letting the client request reports or a halt, and that under both the vendor concludes a contract imposing the same obligations on the subcontractor and bears the same responsibility as if it had done the work itself.Subcontracting clauseOption A: client's prior consentOption B: vendor's discretionClient can request reports and a haltSame obligations on the subcontractorSame responsibility as doing the work itself

Figure 6: Subcontracting is either subject to prior consent or left to the vendor’s discretion, and either way the vendor bears responsibility.

Ask the candidates whether they plan to subcontract and, if so, to whom and for what scope. Rather than whether they subcontract at all, the clue for comparison is whether they can name the party and the scope when asked.

Entrusted Data and Security

During development or maintenance, you may hand business data or customer information to the vendor. IPA’s “Information Security Guidelines for SMEs” says that when you provide important information to a contractor, you need to take into account what measures the contractor has in place, because even if information leaks through the contractor’s shortcomings, you will be held responsible for its management as the outsourcer. It also says that when you outsource part of your business, the contract must state, and both sides must agree on, the contractor’s responsibilities for information security and the measures it must implement4.

If the data you hand over includes personal data, supervision of contractors under the Act on the Protection of Personal Information (Article 25) also comes into play. The Personal Information Protection Commission’s guidelines list the necessary measures as selecting an appropriate contractor, concluding an outsourcing contract and keeping track of how the contractor handles the data. When the contractor subcontracts, they say it is desirable to receive a report in advance or give approval, among other steps5.

Data handed to the vendor and what to checkShows, for data handed to the vendor, checking the contractor's measures, agreeing on responsibilities and measures in the contract, and, if personal data is included, checking the selection of the contractor, the contract, how the data is handled and how subcontracting is dealt with.YesData handed to the vendorCheck the contractor's measuresAgree on responsibilities and measures in the contractDoes it include personal data?Selection, contract, tracking of handlingReports or approval for subcontracting

Figure 7: For data you hand over, check the contractor’s measures and the agreement in the contract, and for personal data supervise down to subcontracting.

As for the security of the software to be built, the model contract has a clause in which the specific features, management structure and cost-sharing are discussed and the security specification is finalized in writing. One of the draft clause options says it is to be finalized before the software development work begins3. Ask the candidates where they will keep the data you hand over, who will have access to it and how they will delete it when the work is done, and when and how the security specification will be decided.

Maintenance After Delivery

A business app is not finished when it is delivered. Bug fixes, keeping up with updates to the OS and surrounding software, and modifications to match changes in the business continue. Separately from the one for development, IPA also publishes a model contract for outsourcing maintenance and operation1. What to include in the fixed-fee scope of maintenance and what to estimate separately is taken up in “How Should You Structure a Custom Software Development or Operations & Maintenance Contract?.”

Ask the candidates whether they will take on maintenance after delivery and, if so, the scope, how fees are determined and the point of contact for inquiries. Consider this together with the deliverables in the earlier section, so that you are not stuck if you end up asking a different company to handle maintenance.

Comparing Candidates with the Same Questions

The following table collects the points so far so that you can put them to the candidates in the same form. When you obtain competitive estimates, putting the questions from this table into your request document lets you line up the answers side by side and compare them.

What to ask What to look at when comparing
Who runs requirements definition, and how Whether they specify the client’s work and time
The assumptions behind the estimate, and work not included Whether they state the assumptions and exclusions in writing
The procedure when you want to change the specifications Whether they confirm the content of a change and its impact on cost and delivery in a document
What is included in the deliverables Whether they include the source code, design documents and procedures
How copyright in the deliverables is handled Which option they assume, and whether they explain why
Use of third-party products and open source Whether they show a list of products and terms of use
How acceptance is carried out Whether they help identify test items and hand over test results
Points of contact and meetings Whether they decide the contact, frequency and who writes the minutes
Subcontracting Whether they state if it is planned, with whom, and for what scope
Handling of entrusted data Whether they explain where it is kept, who can access it and how it is deleted
Maintenance after delivery Whether they show the scope, how fees are determined and the contact

When comparing the answers, watch for not answering what was asked specifically, making only verbal promises without putting them in writing, and flatly saying the client will have “nothing to do.” The first two leave you no way to check what was promised when a difference in understanding comes up later. The third does not fit with the model contract’s assumption that both the client and the vendor do work (Article 8)3.

Start Small and Evaluate

Under a multi-stage contract, the first individual contract can be concluded for a small scope, such as requirements definition support. In that phase you can see for yourself what documents the vendor produces, how it runs meetings and how it answers questions, and then decide whether to move on to the development contract1.

Evaluating a vendor with a small individual contractShows first concluding a small individual contract such as requirements definition support, checking the deliverables and the way the work is run, moving on to the development contract if satisfied, and otherwise considering other candidates.Move onReconsiderSmall individual contract (e.g. requirements support)Check the deliverables and how work is runMove on to the next phase?Individual contract for developmentConsider other candidates

Figure 8: Make the first phase a small contract, and decide whether to move on after seeing the deliverables and how the work is run.

When rebuilding an existing system, another approach is to make the investigation of the current system the first scope. In either case, if you make sure the client receives the deliverables of the first phase (the requirements definition document or the investigation report), they become material for switching to another company.

References

  1. IPA, Information System Model Transaction and Contract (Custom Software Development (Including Some Planning), Maintenance and Operation), Second Edition. The model contract built around a multi-stage contract, and the model contract for outsourcing maintenance and operation. ↩ ↩2 ↩3 ↩4

  2. IPA, Requirements Definition Guide for Users, 2nd Edition. The explanation that responsibility for defining a system’s requirements lies with the user. ↩

  3. IPA, Information System Model Transaction and Contract, Second Edition (Template). The clauses on cooperation and division of roles (Article 8), requirements definition support work (Article 14), the liaison council (Article 12), subcontracting (Article 7), the inspection specification and acceptance (Articles 27 and 28), the change management procedure (Article 37), ownership of and copyright in the deliverables (Articles 43 and 45), third-party software and FOSS (Articles 48 and 49), and security (Article 50). ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11

  4. IPA, Information Security Guidelines for SMEs, Version 4.0. Principle 2 that executives should recognize (take into account the contractor’s information security measures as well), and Action 6 of the seven key items (clarify security responsibilities when outsourcing or using external services). ↩

  5. Personal Information Protection Commission, Guidelines for the Act on the Protection of Personal Information (General Rules). 3-4-4 Supervision of contractors (relating to Article 25 of the Act). ↩

Recent articles sharing the same tags. Deepen your understanding with closely related topics.

These are topic pages close to this theme. Starting from the article, you can go on to related services and other articles.

This article leads to the following service pages. Start from the entry point closest to your situation.

Frequently Asked Questions

Questions commonly asked at the time of consultation about the topic of this article.

Can we judge whether a vendor is good or bad when nobody in the company understands the technology?
Even if it is hard to evaluate the quality of the code directly, you can ask each candidate the same questions and compare their answers on how requirements definition is run, the assumptions behind the estimate, how changes are handled, deliverables and copyright, acceptance, subcontracting, the handling of data you entrust to them, and maintenance. Whether the answers are specific and given in writing is what lets you compare them.
Isn't a company that fixes the price of the whole development up front the safer choice?
IPA's Model Transaction and Contract is built around a multi-stage contract that splits contracts by phase and estimates development only after requirements definition is finished. When you receive a proposal that fixes the total before the requirements are decided, check what that price assumes and how it will be handled if those assumptions change.
Should we have the source code delivered to us?
Under the model contract, what the deliverables include is defined in the individual contract. If you may later ask a different company to maintain the app, check before signing whether the source code and design documents will be included in the deliverables, and which option will govern copyright in the deliverables.

Author Profile

Profile page for the article author.

Go Komura

Representative of KomuraSoft LLC

Focused on Windows software development, technical consulting, and bug investigation, with particular strength in projects where existing assets remain and in investigating failures whose cause is hard to see.

Back to the Blog