<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-babylonsignalis.org/index.php?action=history&amp;feed=atom&amp;title=What_Truly_Determines_The_Cost_Of_Custom_Software</id>
	<title>What Truly Determines The Cost Of Custom Software - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-babylonsignalis.org/index.php?action=history&amp;feed=atom&amp;title=What_Truly_Determines_The_Cost_Of_Custom_Software"/>
	<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;action=history"/>
	<updated>2026-09-20T12:10:23Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=365300&amp;oldid=prev</id>
		<title>VivianLevering at 19:55, 14 September 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=365300&amp;oldid=prev"/>
		<updated>2026-09-14T19:55:39Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:55, 14 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;biggest cost driver &lt;/del&gt;is rarely the technology stack — it &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;remains &lt;/del&gt;uncertainty. Every open question in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;brief is converted into &lt;/del&gt;padding in the estimate. A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;supplier &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;does not know &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;exceptions and edge cases has to &lt;/del&gt;assume the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;worst&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Investing &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;few days in a proper &lt;/del&gt;discovery often reduces the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;overall figure &lt;/del&gt;far more than &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;any rate negotiation&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Third-party integrations tend to be the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;next major &lt;/del&gt;multiplier. A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;form &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;saves data &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;low risk&lt;/del&gt;; the same functionality wired into &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an old accounting system &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a different problem&lt;/del&gt;. The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cost lives &lt;/del&gt;in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;other system&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rate limits and sandbox access&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;long certification processes&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fields &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mean something different on each side&lt;/del&gt;. Ask &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;any vendor  [https://webparadox.com/services/aso/ app store optimization company] &lt;/del&gt;to break integrations out as separate items, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;since this &lt;/del&gt;is where &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;estimates break&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/del&gt;requirements &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nobody writes down silently change &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;estimate&lt;/del&gt;. An application used by twenty people &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;has almost nothing in common with &lt;/del&gt;the same &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;functionality handling thousands of external customers&lt;/del&gt;. Security reviews, uptime targets, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;performance under &lt;/del&gt;load, audit logging and localisation &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;all &lt;/del&gt;add &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;measurable effort&lt;/del&gt;. State them early or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;else &lt;/del&gt;expect &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the estimate to move later&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Who actually does &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;work &lt;/del&gt;changes the arithmetic. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A &lt;/del&gt;rate &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;card tells you &lt;/del&gt;very little on its own: a senior engineer at a premium rate is often &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cheaper per delivered feature &lt;/del&gt;than &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a pair of junior &lt;/del&gt;developers who &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;need &lt;/del&gt;supervision and rework. Also ask &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which roles are &lt;/del&gt;billed: coordination, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;testing&lt;/del&gt;, DevOps and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;UX &lt;/del&gt;design are real work, but they should be named rather than hidden inside a blended rate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number in the proposal &lt;/del&gt;is rarely the full cost of ownership. Expect &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;infrastructure&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;subscriptions and licences&lt;/del&gt;, observability and a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;maintenance allowance &lt;/del&gt;for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [https://webparadox.com/technologies/rust/ rust development agency] &lt;/del&gt;every year the software runs. A common working assumption &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;holds &lt;/del&gt;that any production system consumes a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;meaningful share &lt;/del&gt;of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;its &lt;/del&gt;original &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;build cost every &lt;/del&gt;year &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in fixes, updates and small changes&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Ignoring this &lt;/del&gt;remains the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;most common budgeting &lt;/del&gt;mistake.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dominant factor &lt;/ins&gt;is rarely the technology stack — it &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/ins&gt;uncertainty. Every open question in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;specification becomes &lt;/ins&gt;padding in the estimate. A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vendor &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;has no visibility into what happens on &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unhappy path must &lt;/ins&gt;assume the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;more expensive option&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Putting two weeks into &lt;/ins&gt;a discovery &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;phase &lt;/ins&gt;often reduces the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;final cost by &lt;/ins&gt;far more than &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;haggling over hourly rates&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Third-party integrations tend to be the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;second big &lt;/ins&gt;multiplier. A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;screen &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;writes to your own database &lt;/ins&gt;is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;easy to estimate&lt;/ins&gt;; the same functionality wired into &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a legacy ERP &lt;/ins&gt;is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not&lt;/ins&gt;. The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unknown hides &lt;/ins&gt;in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;third party&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;poor documentation&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;waiting on someone else&#039;s team&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;does not match your model&lt;/ins&gt;. Ask &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the estimator &lt;/ins&gt;to break integrations out as separate items, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;because that &lt;/ins&gt;is where &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the numbers slip&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Non-functional &lt;/ins&gt;requirements &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;quietly rewrite &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number&lt;/ins&gt;. An application used by twenty people &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is a very different build from &lt;/ins&gt;the same &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;feature set serving public traffic&lt;/ins&gt;. Security reviews, uptime targets, load &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;handling&lt;/ins&gt;, audit logging and localisation &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;each &lt;/ins&gt;add &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;real engineering time&lt;/ins&gt;. State them early or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you can &lt;/ins&gt;expect &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them priced as extras&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The mix of people behind &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number &lt;/ins&gt;changes the arithmetic. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;An hourly &lt;/ins&gt;rate &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;says &lt;/ins&gt;very little on its own: a senior engineer at a premium rate is often &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;less expensive in the end &lt;/ins&gt;than &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;two inexperienced [https://webparadox.com/hire/nodejs-developers/ hire monorepo &lt;/ins&gt;developers&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;] &lt;/ins&gt;who &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;require &lt;/ins&gt;supervision and rework. Also ask &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;who else is &lt;/ins&gt;billed: coordination, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;quality assurance&lt;/ins&gt;, DevOps and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [https://webparadox.com/hire/ hire dedicated development team] &lt;/ins&gt;design are real work, but they should be named rather than hidden inside a blended rate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;build price &lt;/ins&gt;is rarely the full cost of ownership. Expect &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;hosting&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;paid APIs&lt;/ins&gt;, observability and a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;change budget &lt;/ins&gt;for every year the software runs. A common working assumption &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;says &lt;/ins&gt;that any production system consumes a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noticeable fraction &lt;/ins&gt;of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the &lt;/ins&gt;original &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;budget per &lt;/ins&gt;year &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;simply to stay current&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Treating the launch as the finish line &lt;/ins&gt;remains the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;classic &lt;/ins&gt;mistake.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VivianLevering</name></author>
	</entry>
	<entry>
		<id>https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=365080&amp;oldid=prev</id>
		<title>VivianLevering at 19:22, 14 September 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=365080&amp;oldid=prev"/>
		<updated>2026-09-14T19:22:48Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 19:22, 14 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;dominant factor &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;never &lt;/del&gt;technology — it remains &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unclear scope&lt;/del&gt;. Every open question in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;requirements &lt;/del&gt;is converted into &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a contingency &lt;/del&gt;in the estimate. A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;vendor &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;has no visibility into what happens on &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unhappy path &lt;/del&gt;has to assume the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;more expensive option&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Putting two weeks into &lt;/del&gt;a discovery &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;phase frequently cuts &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;final cost by &lt;/del&gt;far more than &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;negotiating the &lt;/del&gt;rate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Integrations &lt;/del&gt;tend to be &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;another reliable source of cost&lt;/del&gt;. A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;screen &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;writes to your own database &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;predictable&lt;/del&gt;; the same functionality &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;talking to &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;legacy ERP is another matter entirely&lt;/del&gt;. The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;unknown hides &lt;/del&gt;in the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;third party&lt;/del&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;poor documentation&lt;/del&gt;, long certification processes, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;data &lt;/del&gt;that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;does not match your model&lt;/del&gt;. Ask &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the estimator &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;price &lt;/del&gt;integrations &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;separately&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;as &lt;/del&gt;this is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the usual source of overruns&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Non-functional &lt;/del&gt;requirements &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;can easily double &lt;/del&gt;the estimate. An application used by twenty people &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is a very different build from &lt;/del&gt;the same functionality &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;serving public traffic&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Compliance work&lt;/del&gt;, uptime targets, performance under load, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;traceability &lt;/del&gt;and localisation &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;each &lt;/del&gt;add measurable effort. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Put &lt;/del&gt;them &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in the brief &lt;/del&gt;or &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;you can &lt;/del&gt;expect &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them priced as extras&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The mix of people behind &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number matters&lt;/del&gt;. A rate card &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;says almost nothing &lt;/del&gt;on its own: a senior engineer at a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;higher &lt;/del&gt;rate is often cheaper per delivered feature than a pair of junior developers who &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;require &lt;/del&gt;supervision and rework. Also ask &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;what else appears on the invoice:  [https&lt;/del&gt;:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;//webparadox.com/technologies/kotlin/ kotlin development agency] project management&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [https://webparadox.com/technologies/angular/ angular software development company] &lt;/del&gt;testing, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; [https://webparadox.com/industries/edtech/ edtech web development services] &lt;/del&gt;DevOps and UX design are &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;legitimate costs&lt;/del&gt;, but they &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;must &lt;/del&gt;be &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;visible in the estimate&lt;/del&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;build price &lt;/del&gt;is &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;never &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;total &lt;/del&gt;cost. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Budget for cloud costs&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;paid APIs&lt;/del&gt;, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;monitoring &lt;/del&gt;and &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an ongoing support budget &lt;/del&gt;for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;every year the &lt;/del&gt;[https://webparadox.com/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;how-we-work&lt;/del&gt;/ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;software &lt;/del&gt;development &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;engagement models&lt;/del&gt;] runs. A &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;useful planning figure &lt;/del&gt;holds that any production system &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;needs &lt;/del&gt;a &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;noticeable fraction &lt;/del&gt;of &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the initial investment per &lt;/del&gt;year &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;simply to stay current&lt;/del&gt;. Ignoring this &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;is &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;classic &lt;/del&gt;mistake.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;biggest cost driver &lt;/ins&gt;is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rarely the &lt;/ins&gt;technology &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;stack &lt;/ins&gt;— it remains &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;uncertainty&lt;/ins&gt;. Every open question in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;brief &lt;/ins&gt;is converted into &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;padding &lt;/ins&gt;in the estimate. A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;supplier &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;does not know &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;exceptions and edge cases &lt;/ins&gt;has to assume the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;worst&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Investing a few days in &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;proper &lt;/ins&gt;discovery &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;often reduces &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;overall figure &lt;/ins&gt;far more than &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;any &lt;/ins&gt;rate &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;negotiation&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Third-party integrations &lt;/ins&gt;tend to be &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the next major multiplier&lt;/ins&gt;. A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;form &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;saves data &lt;/ins&gt;is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;low risk&lt;/ins&gt;; the same functionality &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;wired into an old accounting system is &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;different problem&lt;/ins&gt;. The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;cost lives &lt;/ins&gt;in the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;other system&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rate limits and sandbox access&lt;/ins&gt;, long certification processes, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;fields &lt;/ins&gt;that &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;mean something different on each side&lt;/ins&gt;. Ask &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;any vendor  [https://webparadox.com/services/aso/ app store optimization company] &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;break &lt;/ins&gt;integrations &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;out as separate items&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;since &lt;/ins&gt;this is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;where estimates break&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The &lt;/ins&gt;requirements &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;nobody writes down silently change &lt;/ins&gt;the estimate. An application used by twenty people &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;has almost nothing in common with &lt;/ins&gt;the same functionality &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;handling thousands of external customers&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Security reviews&lt;/ins&gt;, uptime targets, performance under load, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;audit logging &lt;/ins&gt;and localisation &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;all &lt;/ins&gt;add measurable effort. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;State &lt;/ins&gt;them &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;early &lt;/ins&gt;or &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;else &lt;/ins&gt;expect &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;the estimate to move later&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Who actually does the work changes &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;arithmetic&lt;/ins&gt;. A rate card &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;tells you very little &lt;/ins&gt;on its own: a senior engineer at a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;premium &lt;/ins&gt;rate is often cheaper per delivered feature than a pair of junior developers who &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;need &lt;/ins&gt;supervision and rework. Also ask &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;which roles are billed&lt;/ins&gt;: &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;coordination&lt;/ins&gt;, testing, DevOps and UX design are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;real work&lt;/ins&gt;, but they &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;should &lt;/ins&gt;be &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;named rather than hidden inside a blended rate&lt;/ins&gt;.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;number in the proposal &lt;/ins&gt;is &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rarely &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;full &lt;/ins&gt;cost &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;of ownership&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Expect infrastructure&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;subscriptions and licences&lt;/ins&gt;, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;observability &lt;/ins&gt;and &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a maintenance allowance &lt;/ins&gt;for &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;[https://webparadox.com/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;technologies/rust&lt;/ins&gt;/ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;rust &lt;/ins&gt;development &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;agency&lt;/ins&gt;] &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;every year the software &lt;/ins&gt;runs. A &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;common working assumption &lt;/ins&gt;holds that any production system &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;consumes &lt;/ins&gt;a &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;meaningful share &lt;/ins&gt;of &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;its original build cost every &lt;/ins&gt;year &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in fixes, updates and small changes&lt;/ins&gt;. Ignoring this &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;remains &lt;/ins&gt;the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;most common budgeting &lt;/ins&gt;mistake.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>VivianLevering</name></author>
	</entry>
	<entry>
		<id>https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=36234&amp;oldid=prev</id>
		<title>MelinaHnu79539: Created page with &quot;&lt;br&gt;&lt;br&gt;&lt;br&gt;The dominant factor is never technology — it remains unclear scope. Every open question in the requirements is converted into a contingency in the estimate. A vendor that has no visibility into what happens on the unhappy path has to assume the more expensive option. Putting two weeks into a discovery phase frequently cuts the final cost by far more than negotiating the rate.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;Integrations tend to be another reliable source of cost. A screen t...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki-babylonsignalis.org/index.php?title=What_Truly_Determines_The_Cost_Of_Custom_Software&amp;diff=36234&amp;oldid=prev"/>
		<updated>2026-08-07T18:18:17Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The dominant factor is never technology — it remains unclear scope. Every open question in the requirements is converted into a contingency in the estimate. A vendor that has no visibility into what happens on the unhappy path has to assume the more expensive option. Putting two weeks into a discovery phase frequently cuts the final cost by far more than negotiating the rate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Integrations tend to be another reliable source of cost. A screen t...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The dominant factor is never technology — it remains unclear scope. Every open question in the requirements is converted into a contingency in the estimate. A vendor that has no visibility into what happens on the unhappy path has to assume the more expensive option. Putting two weeks into a discovery phase frequently cuts the final cost by far more than negotiating the rate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Integrations tend to be another reliable source of cost. A screen that writes to your own database is predictable; the same functionality talking to a legacy ERP is another matter entirely. The unknown hides in the third party: poor documentation, long certification processes, data that does not match your model. Ask the estimator to price integrations separately, as this is the usual source of overruns.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;Non-functional requirements can easily double the estimate. An application used by twenty people is a very different build from the same functionality serving public traffic. Compliance work, uptime targets, performance under load, traceability and localisation each add measurable effort. Put them in the brief or you can expect them priced as extras.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The mix of people behind the number matters. A rate card says almost nothing on its own: a senior engineer at a higher rate is often cheaper per delivered feature than a pair of junior developers who require supervision and rework. Also ask what else appears on the invoice:  [https://webparadox.com/technologies/kotlin/ kotlin development agency] project management,  [https://webparadox.com/technologies/angular/ angular software development company] testing,  [https://webparadox.com/industries/edtech/ edtech web development services] DevOps and UX design are legitimate costs, but they must be visible in the estimate.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;The build price is never the total cost. Budget for cloud costs, paid APIs, monitoring and an ongoing support budget for every year the [https://webparadox.com/how-we-work/ software development engagement models] runs. A useful planning figure holds that any production system needs a noticeable fraction of the initial investment per year simply to stay current. Ignoring this is the classic mistake.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>MelinaHnu79539</name></author>
	</entry>
</feed>