Pricing: how we measure software size and cost

Mesterséges Intelligencia Központ Kft. is a software development company based in Budapest, Hungary. We do not price from estimated hours: we measure the functional size of the software in COSMIC function points (ISO/IEC 19761), and the offer and schedule are based on it.

In short: first we describe together what the software has to do, then we measure how big it is, and the price and schedule follow from the measured size. That is why we do not quote a price after a first phone call, and why we do not publish a price list.

Why measure size instead of estimating hours?

An estimate in hours tells you how much work the estimator expects, and that depends on the estimator's experience, caution and team. Two companies can give very different hours for the same task, and from the outside you cannot see why.

Functional size, by contrast, is a property of the software itself: it measures what the software has to do, not who builds it or how. That makes it checkable and repeatable, and it lets you compare two offers.

What is a COSMIC function point?

COSMIC is an international standard method (ISO/IEC 19761) for measuring the functional size of software. It counts the data movements in the functional processes of the software. There are four kinds of data movement:

Data movementWhat it meansExample
Entrydata arrives from a user or another systema customer submits the order form
Exitdata goes out to a user or another systemthe system sends a confirmation
Readthe software reads stored datait loads the customer's previous orders
Writethe software stores datait saves the new order

Each data movement is worth 1 COSMIC function point (CFP), and the size of the software is their sum. A simplified "record an order" process, for example, consists of one Entry, one Read, one Write and one Exit, which makes 4 CFP. The measurement does not depend on the programming language, the technology or the team doing the work. Our article What is a COSMIC function point, and how is it different from estimating hours? explains the method with a worked example and its limits.

How does size become an offer and a schedule?

  1. Specification: together we list the functions, actors and data item by item (see How we work).
  2. Measurement: our own AI-assisted workflow measures each group of functions with several independent counts, and a reconciliation round makes sure every process counts exactly once.
  3. Review: we check the measurement and clear up any uncertain points.
  4. Offer: the price follows from the measured size, plus whatever the functional size does not express (see below).
  5. Schedule: we see the size per group of functions too, so we plan the stages, their order and the deadlines from it.

If a new requirement comes up along the way, we measure it the same way, so you can always see how much the scope changes and what that means for the price and the schedule.

What else affects the cost?

Functional size measures what the software does, but not everything that takes work. The measurement flags the following factors separately, so they do not stay hidden in the offer either:

Operation after handover is a separate item: running the system, maintenance and further development, and for AI features the usage-based fees of the language models. The questions below cover it as well.

Why does this make two offers comparable?

If two offers start from the same specification and the same measured size, they cover the same scope: you can see what each company asks for the same thing, and what it charges for separately. Hours cannot be compared the same way, because hours are not a property of the software. COSMIC is a public, standard method, so others can check our measurement too. It is worth asking the other bidders what scope their price covers.

Frequently asked questions

Why don't you give a price over the phone?

We do not quote over the phone because the price of software depends on what it has to do, and that cannot be measured responsibly in a short call. The first consultation is free: afterwards we describe the requirements together, measure the size and make an offer from it. You can ask for an appointment on the Contact page.

What makes a development more expensive?

A development costs more mainly when it has more functions, that is, more data movements. The factors above can also add to the cost: many or poorly documented integrations, strict performance and security requirements, custom graphics, several platforms or a large data migration.

How much does operation cost?

The cost of operation depends on what it includes: hosting and running the system, updates, bug fixes, further development, and for AI features the usage-based fees of the language models. We tailor the scope of operation to the specific system, and we measure further development the same way as the first. The FAQ page answers more questions.