We need essential cookies for the site to work, for example to remember this choice. We only use other cookies, including third-party cookies, with your consent. You can change your choice at any time via “Cookie settings” in the footer. Privacy policy (opens in a new window)
In the print dialog, turn off “Headers and footers”. The print version has its own page numbers and guide address.
Solutia · Guide
How to commission custom software.A guide from A to Z.
For companies and public authorities that do not build software every day. What to decide before you approach the market, how to choose a vendor, how to keep development on track, and how to stay independent.
Lukáš Mikula, Solutia, co-author Claude (AI by Anthropic). Created with the help of artificial intelligence.
Scope
25 chapters and 5 appendices
Updated:
Part I The decision: does it make sense?
Whether to build software at all, what it will cost over its whole life, and how you will know it paid off.
01
Chapter 1: Why software projects go over budget
In a nutshell
On average, large IT projects run 45% over budget and deliver 56% less value than they promised McKinsey and Oxford, 2012. The main cause is not bad code but the first estimate, made at a point when you know almost nothing about the project. Waiting does not reduce the uncertainty; work does: a clear brief, a prototype, a data sample, and an estimate given as a range.
Overruns are not bad luck but the rule
McKinsey and the University of Oxford collected data on more than 5,400 IT projects. For large projects with an initial budget above USD 15 million, costs were 45% higher on average, delivery took 7% longer, and benefits were 56% lower than the business case promised. Every additional year of duration adds another 15% to the cost overrun. The average also hides extreme cases: 17% of IT projects go so badly that they threaten the very existence of the company. The authors call a budget overrun of more than 200% a “black swan” McKinsey and Oxford, 2012.
For planning, this leads to an unpleasant but useful conclusion: assume your project will not be the exception. What goes up for approval should be an estimate range and a contingency, not a single number. A four-year project is also riskier than four one-year stages, after each of which you decide whether to continue.
Why the first estimate can be off by a factor of four
At the idea phase (“we need a system for…”), the real cost can end up anywhere between a quarter and four times the first estimate. The upper bound is sixteen times the lower one. Once requirements are complete, the range is still 0.67× to 1.5×, and you only get to roughly ±10% after detailed design McConnell, 2006 and 2010. And that applies to experienced estimators. The cone below shows the best achievable accuracy. A real estimate can be even less accurate.
Imagine asking over the phone for a fixed price to renovate a house nobody has seen. You will get either a lowball quote followed by add-ons, or a price with a large buffer. Software is no different. It only makes sense to ask for a fixed price after analysis and a prototype (chapter 10).
A chart showing how far an estimate of cost and time can be off, depending on the project phase in which you make it. The cone narrows not with time but with decisions that remove sources of uncertaintyMcConnell, 2006 and 2010. An extra week of waiting will not make the estimate more accurate. A week spent on analysis, a prototype, or working with a data sample will.
Most problems are not caused by developers. In a 2014 PMI survey, 37% of organizations named inaccurate requirements as the main cause of project failure PMI, 2014. For Czech projects, the Supreme Audit Office (NKÚ) writes that the common denominator of failed eGovernment projects is underestimated business analysisNKÚ, 2026. Watch out above all for these four traps:
A lowball estimate. The budget is fitted to what will get approved instead of being based on an estimate of the work. Test: does the internal estimate match exactly the money you have available? Then it is a wish, not an estimate.
Absent management and users. IT writes the brief on its own and management only shows up at handover. Test: who from the business side will sign the brief and attend the demos?
Ignored warnings. An architect or users warn about the deadline or complexity, and the warning disappears from the report. Test: do you know who raised a warning and who answered it?
Not knowing your own processes and data. The data migration assumes clean data that nobody has seen. Test: are your processes documented, and have you seen a data sample?
The good news: you can prevent all four traps yourself. Start by asking yourself the questions above early.
Human factor
Sometimes a low estimate is not a mistake but intentional: the project is underestimated so it gets approved. With Canada’s Phoenix payroll system, features were then cut instead of the budget being increased. A low internal estimate is as much a risk as a suspiciously cheap proposal.
Before issuing an RFP, prepare a sample of the data to be migrated and look at it.
Ask for the estimate as a range, for example “most likely CZK 6 million, with 80% confidence under CZK 9 million,” and have the contingency approved separately.
Compare the estimate with similar completed projects. Asking “how did others do?” is more honest than “it will be different for us.”
Split a large project into stages. After each one, decide: continue, adjust, or stop.
How it goes wrong
How to do it right
How it goes wrongThe budget is a single number from the first rough guess.
How to do it rightAn estimate range, with the contingency approved separately.
How it goes wrongA fixed price is requested at the idea phase.
How to do it rightPaid analysis and a prototype first, a fixed price only for a validated scope.
How it goes wrongIT writes the brief alone; management shows up at handover.
The digitalization of building permits shows where preparation leads when it is put off until a statutory deadline forces it (chapter 20).
02
Chapter 2: Buy off the shelf, build custom, or assemble?
In a nutshell
You have four paths: off-the-shelf software, a low-code platform, an off-the-shelf core with customizations, and custom development. This applies to a web or mobile app just as much as to an internal information system. Do not build accounting, payroll, or a standard CRM yourself; off-the-shelf is cheaper, and the vendor keeps track of legislation and security for you. Custom software development makes sense where your own process gives you a competitive advantage or where nothing off the shelf exists.
Buy record keeping, build what sets you apart
Gartner divides enterprise systems into layers based on how quickly they change and how much they differentiate the business Gartner, 2012. For the decision, three are enough:
Record keeping: accounting, payroll, HR, warehouse, records management system. These are common processes for which an off-the-shelf product is usually enough.
Differentiating processes: your know-how, industry portals, specific procedures. An off-the-shelf core with extensions often works best.
Innovation: new services nobody else has. This is where you build.
The same type of system can sit in a different layer at two companies. For an office of twenty people, shift scheduling is record keeping: an off-the-shelf app is enough. A delivery company, however, makes its money precisely by planning shifts and routes better than its competitors. For that company, it is a differentiating process, and its own solution may pay off.
Why your own CRM is rarely cheaper
The typical reasoning goes: licenses for five years cost more than a one-off development. But with off-the-shelf software, the vendor takes care of maintenance, legislative changes, and security patches, and spreads those costs across thousands of customers. With your own system, you pay them yourself every year. It is like building your own car because leasing is expensive. So compare the total costs over 5 years, not just the license price against the development price (chapter 4).
And if you do buy off the shelf, adopt most of its processes. Every customization makes upgrades and maintenance more expensive. Before every customization request, ask: is this our advantage, or just a habit?
Low-code: a fast start, an expensive old age
Platforms such as Power Apps, OutSystems, or Mendix let you quickly create internal forms and approval workflows with dozens to a few hundred users. For thousands of external users and a core system meant to last ten or more years, however, they usually do not pay off. The platforms can handle it technically; what decides is the cost and the dependency on the vendor.
You pay continuously, per user, and the vendor sets the price list. Power Apps Premium costs USD 20 per user per month Microsoft, price list 2026; from January 1, 2027, it will be USD 22 for new purchases and renewals Microsoft, 2027 price increase. For 500 users, that comes to CZK 2.5–2.8 million a year for licenses alone (a rough conversion at CZK 21/USD). Mendix publishes only starting prices for its Standard tier; Premium and OutSystems are priced on request.
The application code stays on the vendor’s platform. From January 12, 2027, the EU Data Act bans fees for switching between cloud services Data Act, Art. 29, but it will not move an app built on a platform for you. Leaving means rewriting the app. So secure data export in the contract and have an exit plan.
Low-code also needs rules: a separate environment for testing and for production, an owner for each app, and an overview of how many apps are running in the organization. Without these rules, two years from now you may find that part of your operations depends on dozens of small apps and nobody knows who manages them.
Off-the-shelf core: customizations beside it, not inside
For differentiating processes, it is often best to buy a robust core and build your own features beside it through an interface (API). This only works if customizations stay separate. A heavily rewritten core is hard to upgrade and ties you to a single integrator. This is how the State Agricultural Interventional Fund (SZIF) paid a single SAP platform vendor an average of CZK 514 million a year in 2016–2019, and the Supreme Audit Office (NKÚ) described it as heavily dependent NKÚ, audit conclusion KZ 20/07.
Differentiating processes on a standard foundation, industry portals
When customizations would outgrow the core
core: the vendor; customizations: you (per the contract)
Customizations block upgrades, dependency on the integrator
Custom development
Competitive advantage, a unique process, nothing off the shelf exists
Standard record keeping that an off-the-shelf product can handle
you, if the contract ensures it
Underestimated maintenance, vendor dependency without a license and the code
When custom development makes sense
Custom development pays off if you meet all of the following conditions:
the process is your competitive advantage or unique to you,
nothing off the shelf exists, or customizing it would cost more than custom development,
you need full control over the data, integrations, and changes,
you have a product owner on your side and a budget for years of operations.
Without the last point, even a well-built system will age. If you do not know what is available off the shelf, do market research before you start development (chapter 8).
Alongside a functioning ministry-level centralized procurement system, the government introduced central government purchasing without checking who would use it. Participation was voluntary and the commodities overlapped. In four years, it handled a single contract, for office paper, and it was not cheaper NKÚ, audit conclusion KZ 17/24. The lesson: the first question is not “how do we build it” but “do we need it at all, and does someone already have it?”
How to do it rightThe prototype is for validation; the production solution is decided separately.
How it goes wrongCustomizations made directly in the off-the-shelf core’s code.
How to do it rightExtensions via an API; the core stays upgradable.
How it goes wrongCustom development “because we are special,” without proof.
How to do it rightMarket research shows what exists off the shelf and what customizations would cost.
Questions
Questions for the vendor
Is there an off-the-shelf product for our problem? Why do you not recommend it?
How many of our requirements does the standard configuration cover, and how many are customizations?
What will licenses cost at twice and five times the number of users, over 5 years?
What happens to the app and the data if we stop paying for the license?
How do we export the data, and in what format?
Who besides you can develop our customizations further?
When the core is upgraded to a new version, how will you make sure our customizations keep working?
For public authorities
Under Section 18(2)(c) of Decree No. 360/2023 Coll., the technical administrator must publish code created during the project, to the extent that it cannot be misused to compromise the system Decree No. 360/2023 Coll..
For custom development, requiring the source code and a license is standard. For off-the-shelf software, the Regional Court in Brno (2024) and the Supreme Administrative Court (NSS, 2025) rejected a blanket requirement for source code as unrealistic for the market epravo.cz, 2026. With an off-the-shelf product, you protect yourself differently: through data export, an exit plan, and open standards.
Chapter 3: Can a colleague with AI build our software?
In a nutshell
Today, a capable colleague with a tool like Claude Code can build a working app in a few days. This is called vibe coding: you describe what you want to the AI in plain language, and it writes the code. But writing the app is the smaller part of the work. The harder part is ensuring security, connecting to production data, and maintaining it for years to come, even after the author leaves. The best use is a clickable prototype that becomes the brief for professional development.
What AI really speeds up, and what it does not
Study results vary with the type of task and the developers’ experience. In a lab experiment with a single simple task, developers using GitHub Copilot finished 55.8% faster Peng et al., 2023. In three experiments in real workplaces, 4,867 developers using AI completed 26% more tasks. Less experienced developers saw a bigger benefit Cui et al., 2025.
A 2025 randomized controlled trial by METR, however, showed the opposite for experienced developers working on open-source projects they knew well: with AI they were 19% slower, while they themselves believed they had been 20% faster METR, 2025. The feeling of speed may not match reality.
DORA describes AI as an amplifier: it strengthens both the strengths and the weaknesses of an organization DORA, 2025. Without tests, reviews, and rules, it can also speed up the creation of bugs.
The capabilities of models and AI agents are growing fast. We are writing this section in October 2026, and in a few months it may look different. One thing still holds, though: as soon as an app works with sensitive data or signs users in, an expert should oversee it.
Writing the code is the smaller part
A significant share of the costs over a software system’s whole lifecycle is maintenance: fixes, updates, and changes. A classic reference work puts it at 40–80% of all costs Glass, 2002 (chapter 4). An app built “for free over a weekend” has years of work ahead of it that nobody is talking about yet.
On top of that, a layperson cannot spot a bug in AI-generated code. Even professionals do not trust the output blindly: 46% of developers distrust its accuracy, up from 31% a year earlier Stack Overflow, 2025.
Shadow IT and security holes
Employees build tools without IT knowing. The result is untracked apps containing personal data, with nobody to stand in for the author and with unclear responsibility for GDPR and cybersecurity. The organization bears the responsibility, not the colleague.
In 2025, IBM found that 97% of organizations that had an AI-related security incident lacked proper AI access controls. One in five organizations had an incident caused by an AI tool IT did not know about, and the damage was then up to USD 670,000 higher, roughly CZK 14 million at CZK 21/USD IBM, 2025.
Quickly written apps typically lack access management, reliable sign-in, and event logs. Apps with AI add prompt injection, excessive AI agent permissions, and leaks of sensitive data OWASP, 2025. Even a single shared account with access to a production database can cause a serious problem.
An AI model on your own hardware
A language model does not have to run at a cloud provider. An organization can run an open-weight model (one with published weights) on its own server or in a private cloud. Documents then never leave the organization, and it has full control over the data and the model. This, however, requires powerful hardware and experts EDPB SPE, 2025.
Where it fits:
anonymizing or pseudonymizing a document before you send it to a commercial AI: the local model replaces names, addresses, or contract numbers with placeholders,
summarizing and sorting sensitive documents, such as contracts or personnel files,
search and answers over internal documents.
Advantages:
the data stays inside the organization, making it easier to comply with GDPR and NDAs,
you do not depend on the provider’s terms and prices,
with a large volume of work, costs are more predictable.
Disadvantages:
even the best open models lag behind top commercial ones by several months Epoch AI, 2026, and your own server will usually run a smaller, weaker model,
buying a server with graphics cards (GPUs) and running it,
updates, security, and monitoring are up to you, not the provider,
anonymization by a model is not fully reliable, so a person checks the result before it is sent.
And one more trap: according to the Municipal Court in Prague, AI output is not a copyrighted work; only a human can be an author Prague Municipal Court, 10 C 13/2023. The court dealt with an image, not code, but purely generated code may not be protected. How to handle this with a vendor is covered in chapter 11.
What to entrust to a colleague with AI
Green: go ahead yourself
A personal or one-off tool, no sensitive data, nothing depends on it.
a one-off analysis of a spreadsheet without personal data
file conversion, personal automation
a simple app for a repetitive task that runs only on your computer and does not work with sensitive data
Every amber app needs a deputy for the author, a one-page description (what it does, where it gets its data, how to run it), and its code in the organization’s repository, not on a laptop. Otherwise, within a year a useful tool can turn into an app that nobody understands and nobody dares to change.
The best use: a prototype as the brief
A product owner or analyst builds a clickable prototype in a few days, tries it out with colleagues, and hands it to the vendor. The prototype narrows the cone of uncertainty even before the RFP (chapter 1). But it is a brief, not the foundation of the production system. Add a short description: who uses the app, what they do in it, what data it works with, and what the prototype deliberately leaves out. The vendor then does not have to guess, and you get a more accurate proposal (chapter 6).
Do not ban AI across the organization. A ban can lead employees to use it in secret. The AI literacy obligation under the AI Act has applied since February 2, 2025; from July 27, 2026, Regulation (EU) 2026/1744 relaxed it Regulation (EU) 2026/1744. One page of rules is enough:
approved tools and tools you must not use,
what does not go into AI: personal data, trade secrets, passwords, and access keys,
traffic lights: green, do it yourself; amber, report it to IT; red, a proper project,
where apps are registered and who their owner and deputy are,
training and contacts for IT and security.
How it goes wrong
How to do it right
How it goes wrongA colleague builds an app over a weekend, and a month later invoicing depends on it.
How to do it rightAnything that operations will rely on goes through IT and professional development. The colleague’s version serves as a prototype.
How it goes wrongNobody knows how many such tools are running in the organization.
How to do it rightA list of apps, each with an owner and a deputy.
How it goes wrongA customer export is pasted into a public AI tool.
How to do it rightPersonal and confidential data only goes into approved tools that do not train on it.
How it goes wrongThe app accesses the production database under a single shared account.
How to do it rightRead-only, a separate account, role-based permissions, access logging.
How it goes wrong“It works for me” as the only test.
How to do it rightCode review by an experienced developer and a test on anonymized data.
How it goes wrongAI is banned in the organization.
How to do it rightAI is allowed, with rules and training.
Questions
Questions for your colleague and for the vendor
What data does the app work with? Does it include personal or confidential data?
Does it write to production systems, or only read?
What happens if it stops working for a week, and who will fix it if the author leaves?
Do IT and security know about it?
For the vendor: How do you use AI in development, and how do you check its output?
For the vendor: Do you put our data or code into AI tools? Which ones, and under what terms?
For the vendor: Will you take over our prototype as the brief, and what will you use from it?
For public authorities
Public authorities often fall under the Cybersecurity Act (Act No. 264/2025 Coll.). An untracked app working with the authority’s data then also becomes a problem for meeting the requirements on asset, access, and supplier management.
Do not put citizens’ personal data into public AI tools. Assess where the provider processes the data and whether it trains on it.
A public authority will find it hard to keep its own developer. Only 6% of ICT specialists work in public administration, education, and healthcare, and the average salary in the public pay sector is CZK 58,000 compared with CZK 102,000 in the private wage sector ČSÚ, 2026. “The colleague who programmed it” is an even bigger risk here.
A vendor’s proposal is only the tip of the iceberg: below the surface are operations, maintenance, further development, licenses, hosting, data migration, and your people’s time. Count the costs over the full 5 years, not just the development price. As a first rule of thumb, plan 10–20% of the purchase price per year for operations and maintenance, and that is before any new features.
The tip of the iceberg: what the proposal does not show
The contract price is what you see. Below the surface are items missing from the proposal, because you pay for them elsewhere or later:
operations, maintenance, and further development after launch,
handing the system over to another vendor when the time comes.
After launch, you will spend more than on development
Maintenance consumes 40–80% of all software costs, and roughly 60% of it is enhancements, not bug fixes Glass, 2002. A budget that ends on launch day therefore covers only part of the real spending.
For a first estimate of operations and maintenance, plan 10–20% of the purchase price per year. Czech government systems offer a rough benchmark: the basic registers cost almost CZK 1.8 billion to acquire, and their operation averages CZK 220 million a year, about 12%, or around 17% including further development and renewal NKÚ, audit conclusion KZ 23/05. The new travel document system of the Ministry of Foreign Affairs (MZV) has support at about 8% of its price per year NKÚ, audit conclusion KZ 24/26. The often-quoted range of 15–25% a year comes only from vendor blogs. What matters, though, is the content, not the percentage itself: a support proposal well below 10% that does not describe what it includes is probably leaving something out, such as backups, updates, or restore tests.
Split the money after launch into three envelopes:
further development: new features and changes driven by the business or legislation.
If you merge them, new features can use up the maintenance money and the system starts to age (chapter 22).
The rate per person-day is not the project price
Software development is priced in person-days: one person-day is one day of work by one person (8 hours). The commercial market has no public price list. Government data can serve as a rough guide: twice a year, the Ministry of the Interior (MV) publishes an overview of the prices public authorities actually pay for IT work.
Rates per person-day in government contracts (CZK excl. VAT)
Gross salary: 2025 median in the private wage sector (employers that pay a wage, not a public-sector salary). Cost to the employer: salary × 1.338 (social insurance 24.8% and health insurance 9% in 2026). Cost per day: divided by 18 days worked. Vendor: median rate per person-day from the previous table × 18, excl. VAT. Salaries are a year older than the rates; the median for ICT specialists rose 7% year on year in 2025.
Why 18 days: in 2025, ICT specialists worked an average of 147.5 hours a month, which is about 18 eight-hour days. The rest of the paid time went to vacation, public holidays, and sick leave ISPV, private wage sector 2025. A vendor bills only the person-days worked; an employee is paid for the other days as well. The contribution rates apply to 2026 MPSV, 2026Act No. 592/1992 Coll.. In the occupational classification, analyst, architect, and consultant fall into the same group 2511 (systems analysts), and project manager into 1330 (ICT managers, which also includes heads of IT departments) ESCO v1.2.1.
At the median, a month of work from a vendor costs 1.2–2 times as much as an in-house employee. The vendor’s rate, however, also covers the risk of having no work for its people, company overhead, recruitment and onboarding, cover for sick leave or departures, and know-how from other projects. An in-house employee, on the other hand, costs more than the salary: recruitment, equipment, licenses, the manager’s time, and periods when there is no work for them.
Medians are around CZK 9,000–14,000 per person-dayMV, overview of ICT rates, July 2026. A programmer’s median hourly rate is thus roughly CZK 1,250 excl. VAT (CZK 10,000 per person-day divided by 8 hours). The differences between ministries are huge, though: a programmer cost a median of CZK 5,900 at the Ministry of Agriculture (MZe) and CZK 18,000 at MZV. Often, however, only a handful of contracts are involved MV, ministry benchmarking, July 2026. A lower day rate can mean a more expensive project if more person-days are needed. Compare the total price for the delivery, the breakdown by role, and the seniority of the people.
Red flag
80% of the price under “programming”
A well-prepared proposal lists separately analysis, user interface design, architecture, testing, security, project management, deployment, documentation, data migration, training, and post-launch support. When most of the price is a single “development” item (as a rough guide, around 80% or more), you will pay for the rest later as additional work or technical debt.
Enter ranges into the calculator, not a single number: calculate a variant with 10% and with 20% maintenance. Calculate existing software you pay licenses for in the same way: implementation, licenses for all users over 5 years with announced price increases, customizations by a partner, and internal administration. With existing software, you have no rights to the code. With custom development, you can have the code and a license to it, but only with the right contract (chapter 11).
Your people’s time costs money
During development, the product owner needs 50–100% FTE, key users 5–10%, and 30–50% during testing (rough values, details in chapter 16). On an eight-month project, internal costs run into hundreds of thousands of CZK. Include them in the budget and free people from other work. A project that key people only have time for “in the evenings” is like a building site the site manager visits once a month.
Also plan for rising prices. License prices change over a system’s lifecycle (Power Apps Premium goes up from USD 20 to USD 22 from 2027 Microsoft, 2027 price increase), and with custom development, rates go up. A calculation with zero growth is optimistic.
Case
The old system nobody switched off (MZV, NKÚ 2025)
MZV acquired a new travel document system for CZK 126.7 million; it has been in operation since October 2023. In 2022, however, it signed a new contract to support the old system, and spending on it rose from an average of CZK 1.2 million to CZK 15.3 million a year. Total annual costs in this area rose 22× to CZK 25.9 million. The Supreme Audit Office (NKÚ) found that up to CZK 39.8 million had been spent uneconomically and noted a dependency on the vendor NKÚ, audit conclusion KZ 24/26. The lesson: running the old and new systems in parallel means additional costs. A plan for switching off the old system therefore belongs in the project.
Put support and further development that you could foresee out to tender together with the development. Awarding them later in a negotiated procedure without prior publication (JŘBU) on the grounds that only the original vendor knows the system is a big risk (chapter 12).
On average, large IT projects deliver 56% less value than they promised McKinsey and Oxford, 2012. Moreover, the actual benefit is often not measured, because the goals were only phrased as “improving conditions.” A good business case compares the project with the “do nothing” option, quantifies the benefits in money, and sets 3–5 metrics with a baseline. And it has a single owner who is responsible for the benefits, also after launch.
Benefits are overestimated more than costs
The costs of large IT projects overrun the plan by 45% on average, while benefits fall short by 56% McKinsey and Oxford, 2012. The weakest part of a business case can therefore be the very benefits meant to justify the investment. For each benefit, write down who will measure it, how, and when. The calculation should use the total costs over 5 years from chapter 4, not the contract price. Otherwise, your payback period will come out years shorter than it really is.
A goal you cannot measure is not a goal
“Modernize and streamline our processes” sounds good, but you will never find out whether it worked. “Cut application processing time from 12 to 5 days by the end of 2027” is something you can measure. Set 3–5 metrics, and for each one state:
the baseline value today (measure it before development starts),
the target value and date,
who measures it and where the data comes from.
Judge success by the metric values after 6 and 12 months of operation, not just by whether you launched the system on time.
Case
Digitalization of the state without measurable goals (NKÚ 2026)
In 2020–2024, the state spent over CZK 50 billion on digitalization, yet only 18% of services are fully online (1,621 of 8,916). The Supreme Audit Office (NKÚ) assigned 87 audit findings to the “unmet objectives” barrier. Goals were often phrased as “creating conditions” without measurable indicators, so the benefit could not be verified. For eJustice, the Ministry of Justice met 2 of 20 goals NKÚ, 2026. The lesson: the money gets spent, but without metrics nobody can say what it produced.
Time saved: number of people × hours saved per week × number of working weeks × hourly cost. Count only part of the result as a benefit. Not every hour saved turns into other useful work.
Fewer errors: number of errors per year × cost of one error (correction, complaint, fine) × expected reduction.
Higher revenue: additional sales × margin, not total sales.
Lower risk: probability of an event × its impact × how much the system reduces it.
Legislation: the cost of the cheapest alternative way to meet the obligation. Not the amount of the fine.
Example: 20 people each save 2 hours a week. With a gross salary of CZK 80,000, an hour of work costs the employer about CZK 670 (salary × 1.338 for contributions, divided by 160 hours). Over 46 working weeks, that comes to CZK 1.23 million, and if only half of the time saved can be put to use, roughly CZK 615,000 a year. That is a number you can take to the finance director.
Add the savings from the old solution: licenses, support, and operations that will really go away. Then ask the key question: does the project pay off even if the benefits are halved and the costs are a quarter higher? If so, you have a strong business case.
Keeping the current state also costs money. The old system ages, its support gets more expensive, and outages loom. At the Ministry of Foreign Affairs (MZV), for example, the cost of supporting the old system rose from CZK 1.2 million to CZK 15.3 million a year NKÚ, audit conclusion KZ 24/26 (chapter 4). Without putting a number on the do-nothing option, you cannot judge whether the change pays off. So compare three options: keep the current state, buy or customize an off-the-shelf solution, and develop custom software (chapter 2).
A business case is not a one-off document. After discovery and after the first stage, you will know more. Recalculate it at both points. Submit every reduction in scope for approval again, together with its impact on the benefits. Otherwise the project may stay within budget but fail to serve its purpose.
Who is responsible for the benefits
A single sponsor from the business should be responsible for the benefits, also after launch. Do not shift this responsibility to the head of IT or to the vendor. The benefits are estimated and signed off by the process owner on your side.
The decision to continue should not rest only with the person who pushed the project through. A classic experiment showed that the most money is added to a failing choice by people who are personally responsible for the original decision Staw, 1976. So separate the person who runs the project from the person who assesses its status, and agree on stop criteria in advance.
Human factor
Escalation of commitment: the more money and reputation have already gone into a project, the harder it is to stop. Decide based on criteria written down in advance, not on how much the project has already cost.
One-page business caseFill it in before the project is approved, and recalculate it after discovery and after the first stage.
ONE-PAGE BUSINESS CASE
Project: …
Date and version: …
1. PROBLEM
What does not work today, whose work it complicates, and how we know (data, not impressions):
…
2. GOAL AND METRICS (3–5)
Metric | Today | Target | By when | Who measures | Data source
Example: Time to process an application | 12 days | 5 days | 12/2027 | head of department | timestamps in the system
…
3. OPTIONS
A) Do nothing: what it costs us to keep the current state (support, licenses, risks, outages)
B) Buy or customize an off-the-shelf solution
C) Build custom software
4. BENEFITS IN CZK PER YEAR
Time saved: …
Fewer errors: …
Higher revenue: …
Lower risk: …
Legal compliance (cheapest alternative way to comply): …
5. COSTS
Total costs over 5 years (acquisition, operations, maintenance, further development, internal time): …
6. RETURN ON INVESTMENT
Payback period: …
Does it pay off even with half the benefits? yes / no
7. RISKS AND ASSUMPTIONS
What must hold for the benefits to materialize (people learn the system, the process changes, the data is of good quality):
…
8. WHO IS RESPONSIBLE
Sponsor (responsible for benefits, also after launch): …
Product owner (decides on scope): …
Who independently assesses project status: …
9. STOP CRITERIA (agreed in advance)
E.g.: if after discovery the costs come out more than 50% above the approved budget, we go back for approval.
…
10. WHEN WE RECALCULATE
After discovery · after the first stage · 6 and 12 months after launch
FOR PUBLIC AUTHORITIES, ADD
Link to the information strategy · 3E (sound financial management) · cost-benefit analysis (CBA) · source of funding · OHA opinion yes/no
How it goes wrong
How to do it right
How it goes wrongGoal: “modernize and streamline our processes.”
How to do it rightGoal: “cut application processing time from 12 to 5 days by the end of 2027.”
How it goes wrongThe vendor estimates the benefits in its proposal.
How to do it rightThe process owner on your side estimates and signs off the benefits.
How it goes wrongOnly “new system or nothing” is compared, without the cost of doing nothing.
How to do it rightThree options, including the cost of keeping the current state.
How it goes wrongCosts = contract price.
How to do it rightCosts over 5 years, including operations, further development, and internal time.
How it goes wrongScope gets cut, but the benefits in the presentation stay the same.
How to do it rightAfter every cut, the benefits are recalculated and approved again.
How it goes wrongThe project is assessed by the person running it.
How to do it rightStatus is assessed by someone independent; stop criteria are agreed in advance.
Questions
Questions for the vendor
What benefits did you measure on similar projects, and how?
Which of our goals can be measured directly in the system (processing times, error counts), and which do we have to measure ourselves?
Which features are key to the benefits, and which could be postponed without losing benefit?
What data do you need so that we can measure the baseline before development starts?
What would happen if we postponed the project by a year?
For public authorities
Until December 31, 2026, the obligation to demonstrate effectiveness, economy, and efficiency (3E) is set by Act No. 320/2001 Coll., on Financial Control.
From January 1, 2027, it is replaced by Act No. 231/2025 Coll., on Management and Control of Public Finances. Its principle of sound financial management (Section 3) contains the same 3E: public funds must be handled effectively, economically, and efficiently Act No. 231/2025 Coll.. A business case built according to this chapter holds up under both acts.
Effectiveness metrics and a cost-benefit analysis (CBA) serve as a basis for audits, including audits by NKÚ. For goals without indicators, NKÚ states that the benefit cannot be verified.
For projects financed from EU funds, failing to meet goals risks a reduction of the grant. For eISIR, the managing authority of the Integrated Regional Operational Programme (IROP) withdrew almost half of the allocation NKÚ, 2026.
Part II Preparation and vendor selection
The brief, the RFP, vendor selection, the pricing model, and a contract that makes the software truly yours.
06
Chapter 6: Before you approach the market: brief, people, data
In a nutshell
A vendor can only take your organization’s needs into account if you can describe them. Before you approach the market, you need a short brief (problem, goals, users, data, integrations, constraints, deadline, budget), a named product owner with time set aside for the project, and a sample of your own data. You then prepare the detailed specification with the selected vendor.
A brief for vendor selection describes the problem, not the solution
In a PMI survey, 37% of organizations named inaccurate requirements as the main cause of project failure PMI, 2014. For government projects, the Supreme Audit Office (NKÚ) describes underestimated business analysis as the common denominator of failures NKÚ, 2026. Time spent on the brief is therefore not a delay. It is the cheapest insurance you have.
For vendor selection, however, you do not need hundreds of pages of documentation. 3–6 pages are enough, answering these questions:
What problem are we solving, and what does it cost us today?
Which 2–4 measurable goals will tell us we have succeeded?
Who will use the system, how many users will it have, and what tasks will they handle in it most often?
What data do we have, where is it, and what must the system integrate with?
What constraints do we have (security, accessibility, hosting, legislation), and what are the deadline and the budget range?
Screen designs and the choice of technology do not belong in the brief as a binding solution. List only the technical constraints that follow from your existing environment, such as required integrations with an accounting or warehouse system. If you prescribe a solution instead of describing the problem, you leave less room for better ideas and may get proposals that are hard to compare. A detailed specification with acceptance criteria is only created during analysis with the selected vendor (chapter 14).
Who will make decisions on your side?
The product owner should be your employee, not someone supplied by the vendorČesko.Digital, 2022. They decide on priorities, answer questions, and accept finished parts. The most common thing that holds a project back is a customer with no time for it.
As a rough guide, assume that the product owner needs 50–100% FTE during analysis, and practically full time during development with a team of 5–9 people. On top of that, you need 3–8 key users who devote 20–30% of their time to analysis. Name them before you issue the RFP, and confirm their involvement and reserved time in writing. A product owner who is just a name in a document but does not actively spend time on the project is like a captain who never boarded the ship.
Know your data before the vendor does
Data migration from the old system is the most commonly underestimated part of a project. A vendor who has not seen the data will either price the risk in as a buffer or underestimate it and ask for add-ons later. In the tender for the digital building permit system, seven vendors wrote to the Office for the Protection of Competition (ÚOHS) that the migration could not be reliably priced without further information ÚOHS, S0321/2023 (more in chapter 12).
So attach an anonymized data sample to your RFP, along with a description of the source systems, record counts, and known data quality problems (duplicates, missing data).
A clickable prototype can illustrate a written brief even better. Your analyst or product owner can build one with an AI tool or in low-code in a few days and try it out with colleagues (chapter 3). This narrows the cone of uncertainty (chapter 1) even before the tender. But the prototype is an illustration of the need for the vendor, not a prescribed solution or a production system.
Should: important, but you can work around it for a while,
Could: we add it if time and money are left,
Won't: not this time.
Must should be a minority. If everything is “necessary,” you will not know what you can postpone when complications arise. The Digital and Information Agency (DIA) evaluation cards divide requirements in a similar way: mandatory ones are a condition, optional ones are scored DIA, Optional requirements card.
Are you ready to approach the market? Before you send out your first RFP, answer yes or no:
Can we describe the problem in one sentence and put a number on what it costs us?
Do we have 2–4 measurable goals with a baseline?
Is there a named product owner with a mandate and time freed up?
Do we know who the users are, how many there are, and what the key scenarios are?
Do we know the data sources, volumes, and quality, and do we have an anonymized sample?
Do we have a list of systems to integrate with and MoSCoW priorities?
Do we have a budget range including 5 years of operations (chapter 4), and have we verified that an off-the-shelf solution is not enough (chapter 2)?
As a first rule of thumb: if you answer yes to everything, you can start requesting proposals. If two or three answers are missing, fill them in first, or order a discovery phase. With more unanswered questions, start with discovery or an internal prototype.
Watch out
A specification written by one vendor
The most expensive shortcut: a vendor writes your specification “for free” and then enters the tender. The brief then fits that vendor’s solution, and the others either do not submit a proposal or raise their price. Pay for discovery as a separate small engagement and secure the right to share its outputs with other bidders (chapter 8).
Template
Brief template for vendor selectionFill it in before your first RFP. The RFP generator in chapter 8 uses the same fields.
BRIEF FOR VENDOR SELECTION
Project: …
Product owner: …
Date and version: …
1. PROBLEM
What does not work today and what it costs (time, errors, money). Do not describe a solution.
Example: We retype orders by hand from 3 systems, 2 full-time people, 4% errors.
…
2. GOALS AND METRICS (2–4)
Goal | Today | Target value | By when
Example: Order processing time | 2 days | 4 hours | 6 months after launch
…
3. USERS
Group | Number | Internal / external | Device
Example: sales reps | 40 | internal | desktop and mobile
…
4. KEY SCENARIOS (5–15, one sentence = one scenario)
Example: A sales rep creates a quote from a template and sends it for approval.
…
5. DATA
Sources, volumes, quality, what will be migrated from the old system.
Example: 120,000 customers in the CRM, an estimated 10% duplicates.
Anonymized data sample: attached / provided after signing an NDA
…
6. INTEGRATION WITH OTHER SYSTEMS
System | Method (API, file, other)
Example: ERP (API), accounting (CSV), sign-in via Microsoft 365
…
7. CONSTRAINTS
Security (regulated service under the Cybersecurity Act, GDPR), accessibility, hosting, technology, legislation.
Example: data only in the EU, accessibility per WCAG 2.1 AA.
…
8. PRIORITIES (MoSCoW)
Must (must have, a minority of requirements): …
Should (should have): …
Could (could have, if time and money are left): …
Won't (not this time): …
9. DEADLINE
Fixed dates and why (legislation, season): …
10. BUDGET RANGE
Development from–to, CZK excl. VAT: …
Operations and further development per year: …
11. PEOPLE ON OUR SIDE
Product owner (days per week): …
Key users (who, hours per week): …
IT, security, lawyer: …
12. OWNERSHIP AND INDEPENDENCE
License with the right to modifications by a third party, source code continuously in our repository, documentation, data export, exit plan.
13. OUT OF SCOPE
Example: We are not replacing accounting.
…
ATTACHMENTS
Data sample · prototype · process description · list of systems
How it goes wrong
How to do it right
How it goes wrong“We want a system like our competitors have, send us a proposal.”
How to do it rightThe problem, goals with numbers, users, and key scenarios on a few pages.
How it goes wrongThe brief prescribes screens and technologies.
How to do it rightThe brief describes the problem and scenarios; the vendor proposes the solution.
How it goes wrongIT runs the project alongside its regular work; the business only shows up at testing.
How to do it rightA product owner from the business with a mandate and time freed up.
How it goes wrong“We will send you the data once we sign.”
How to do it rightAn anonymized data sample and a description of its quality are attached to the RFP.
How it goes wrongEverything is a “Must.”
How to do it rightMoSCoW priorities: Must is a minority, and you know what you are sacrificing.
How it goes wrongA fixed price for an idea.
How to do it rightFirst narrow the uncertainty with a prototype, data, and analysis, then compete on price.
The type of vendor determines the risk more than its presentation does. What matters is who will be responsible for the result and how much of the project management you can handle yourself. If you hire people by the hour, responsibility for the result stays with you, even if you expect a finished system.
First decide who is responsible for the result
You can order a deliverable: the vendor promises a result and is responsible for it. Or you can rent capacity: you pay for person-days and you are responsible for the result. Both options can work, but you must know which one you are buying.
With staff augmentation (a body shop) and with a remote team, you need a product owner on your side and an architect. Management, design, and testing remain your job. If you do not have them, order a deliverable. The contract must match what you are buying (chapter 10). Renting four developers and expecting a finished system is like hiring bricklayers without a site manager and being surprised that the house was not built according to plan.
The size of the vendor should match the size of the project
As a rough guide: a small studio (up to about 20 people) suits web and mobile apps and projects up to a few million CZK. A mid-sized company (about 20–250 people) suits enterprise applications and integrations worth a few million to tens of millions. A large systems integrator has the capacity for extensive and critical systems.
Both extremes have their trap. A small vendor may lack capacity or the back office for 24×7 support. With a large one, you may be a small customer, and you risk the well-known “A-team in the proposal, B-team on the project”: seniors at the presentation, juniors or subcontractors on the project. So ask what share of the vendor’s revenue your project will represent and who exactly will work on it. Key personnel belong in the contract by name, and replacing them should only be possible with your consent.
A senior team with a higher rate often costs less in total than a junior team with a low rate, because it needs fewer person-days and makes fewer mistakes that you then pay for in maintenance. And verify claims about size: a studio that promises “a team of 15 people” but has three in the Commercial Register and on LinkedIn is only now trying to hire your team (vendor due diligence in chapter 9).
communication, knowledge transfer, data outside the EU
within the EU often not competitive with Czech prices
In-house team
core business, further development for years
hiring, salaries, cover for absences
salary costs, not a rate
Size limits and rates are indicative. Primary data on rates by vendor type in the Czech Republic does not exist; the Ministry of the Interior’s overview of typical ICT rates (Přehled obvyklých cen ICT prací) does not distinguish vendor types. The median developer rate per person-day in government contracts is CZK 9,920 excluding VAT (first half of 2026, source: MV overview of typical ICT rates, issued July 3, 2026), details in chapter 4.
Do you have your own architect or a technically skilled person? If not, order a turnkey deliverable, not capacity.
Do you need 24×7 support and high availability? Then neither a freelancer nor a small studio should be your only vendor.
Where the risk hides with small and remote vendors
With a freelancer or a small studio, the project may depend on a single person. Illness or the departure of a key person stops the project. Agree on cover for absences, daily commits of the code to your repository, and documentation written continuously, not “at the end.”
Offshore and nearshore can offer a lower rate, but the total cost does not have to fall. You pay more for management, communication across time zones, and knowledge transfer. Always find out where the data and code physically reside, and for personal data, have a data processing agreement (Article 28 GDPR).
Require subcontractors to be named in the proposal, including their share of the delivery and the country they will work from. If you provide a regulated service under the Cybersecurity Act, you must reflect the security requirements in your contracts with vendors Act No. 264/2025 Coll.. The mandatory elements of a contract with a significant supplier are set by a decree Decree No. 409/2025 Coll.. Use the contract to prohibit subcontracting chains without your consent.
An in-house development team makes sense for a system that is the core of the business and will be developed for years. The most common and sensible combination: the product owner and architect inside the organization, development outsourced. Knowledge of the system then stays with you, even if the vendor leaves.
Did you know?
Different copyright rules may apply to a freelancer than to a company: according to the prevailing interpretation, Section 58(7) of the Copyright Act applies only to a work ordered directly from the author. But the interpretation is not uniform, so always agree on the license explicitly (chapter 11).
How it goes wrong
How to do it right
How it goes wrongYou hire 4 developers from a body shop and expect a finished system.
How to do it rightWith staff augmentation, you have a product owner on your side and an architect. Otherwise, you order a deliverable.
How it goes wrongThe director and two seniors came to the presentation; juniors are on the project.
How to do it rightKey personnel named in the contract, replacement only with your consent.
How it goes wrongThe freelancer has the code on their laptop.
How to do it rightCode in your repository daily, documentation written continuously, cover for absences agreed.
How it goes wrongA large systems integrator for a small application, because “a big brand is a safe bet.”
How to do it rightThe size of the vendor matches the project, and you are an important customer for them.
How it goes wrongAn offshore team with no clear location for the data.
How to do it rightYou know where the data and code reside, and you have a data processing agreement.
How it goes wrongYou only find out about subcontractors when there is a problem.
How to do it rightA named list of subcontractors with their share of the delivery is part of the proposal.
Questions
Questions for the vendor
How many of your own people will be on the project, and how many people from subcontractors?
Which of today’s meeting participants will work on the project, and what share of their time will they devote to it?
Who will stand in for a key person if they fall ill or leave?
What was your staff turnover in the last year?
What share of your revenue comes from your largest customer?
Where will our data and code physically reside?
Who will be responsible for the result: you (a deliverable) or us (capacity)?
For public authorities
Under Section 6 of the Public Procurement Act (ZZVZ), qualification requirements must be proportionate. Excessive requirements for turnover or headcount exclude smaller vendors who could handle the project.
You check vendors through qualification (Section 73 et seq. of ZZVZ); practical vendor due diligence is in chapter 9.
Chapter 8: How to approach the market and write an RFP
In a nutshell
Ask first, then request proposals. A short market survey (RFI) and, if needed, a paid discovery phase protect you from proposals that cannot be compared and from an underestimated price. If you prescribe the structure of the proposal in your RFP, you get proposals you can compare.
Ask first, request proposals later
A request for information (RFI) is a non-binding question to the market: how would you solve our problem, is there an off-the-shelf solution, and roughly how much would it cost? You find out whether the schedule is realistic, which off-the-shelf or open-source components can be used, and where the risks are, for example in data migration. Only the request for proposal (RFP) asks for a binding proposal.
Indicative recommendations for companies:
Send the RFI to 6–10 companies; 1–2 pages and a 60–90 minute meeting are enough.
Send the RFP only to 3–5 companies that came out of the RFI as relevant. You will not be able to evaluate more proposals properly, and a small chance of success puts good companies off.
The deadline for proposals for a project worth millions of CZK is 3–4 weeks. A shorter deadline means a risk premium, or a refusal.
Accept questions until a set date, and send the answer to everyone at once.
Treat vendors’ questions as an early warning, not a nuisance. A vendor who asks nothing has probably not read the brief properly. When several companies ask about the same thing, the brief is not clear enough at that point. Clarify it for everyone before proposals are submitted.
Paid discovery pays off
When the brief is unclear, first order discovery as a separate small engagement. It typically takes 2–8 weeks, and its output is a brief, an estimate, and a prototype. Secure the rights to the outputs in the contract, including the right to pass them on to other vendors. You can then request proposals for the implementation itself based on a more precise brief.
Free analysis looks like a saving, but the vendor expects it to be followed by the implementation contract. It is like having a house designed for free by a company that then wants to build it: the plan fits mainly that company.
Plan for the time, too. The whole vendor selection at a company takes roughly 2.5–6 months:
Working back from the deadline: development starts September 1
Shortest option, 10 weeksstart by Jun 23, RFP goes out Jul 7
Longer option, 25 weeksstart by Mar 10, RFP goes out Jun 2
vendor selectionRFP goes outdevelopment starts September 1
If you need to start development in September, you must start vendor selection in June at the latest, and ideally in spring to leave a buffer.
What belongs in an RFP
Describe the problem, not the solution. Also state the budget, at least as a range or an order of magnitude. Vendors can then say early on whether they can deliver the project for that money and propose a scope that fits the budget. A good RFP contains:
the problem, goals with metrics, users, and key scenarios (from the brief in chapter 6),
A prescribed structure has a single purpose: to make proposals comparable. Ask for an effort breakdown by role and stage (analysis, design, development, testing, security, management, deployment, data migration) and a list of assumptions and items the proposal does not include. A fixed price without them is a red flag, because every ambiguity then becomes additional work. Chapter 4 explains why the rate alone does not decide. You will find how to score proposals in chapter 9.
For the Kreativní Česko contract worth more than CZK 12 million, the ministry first held preliminary market consultations and gave quality a 70% weight in the evaluation. Ten bidders took part, and none of the unsuccessful ones filed objectionsLupa.cz, 2026. The case is described by a vendor association; the tender documentation has not been verified. The lesson: open consultations with the market and clear criteria help you get more high-quality proposals.
The equivalent of an RFI is a preliminary market consultation (PTK) under Section 33 of the Public Procurement Act (ZZVZ). You may hold it as long as it does not distort competition. In the tender documentation, you must then identify the information from the consultation, list its participants, and include all essential information (Section 36(4)).
The consultation helps uncover conditions that unjustifiably favor a particular vendor (Section 36(1)) and references to specific products or brands without the option to offer an equivalent solution (Section 89(5) and (6)).
You can tender discovery as a separate small contract and use the results in the documentation for the next stage. You must make the outputs available to all bidders.
Watch out for splitting a contract to circumvent the law (Section 35), and remember that the estimated values of all parts must be added up (Section 18(1) and (2)).
Unlike a company, you cannot negotiate freely: the conditions and criteria are set by the tender documentation (chapter 12).
09
Chapter 9: How to choose a software vendor
In a nutshell
The lowest price is the most expensive criterion. Give quality a 50–70% weight in the evaluation, and evaluate the team that will actually do the work. Verify references yourself, check the company in public registers, and before signing, try out a paid trial sprint with the finalists.
Quality should outweigh price
According to the vendor association, the Ministry of Culture (MK) weighted price at 30%, the quality of the solution at 50%, and the technical arrangements for development at 20% in the Kreativní Česko contract Lupa.cz, 2026 (chapter 8). The Best Value method gives price 30% and quality 70%, of which the interview with key team members can account for 20–30% AIR, Best Value. As a rough guide, with a price weight of 80% or more, quality has little effect on the result, and an underpriced proposal wins, which is then made up for with additional work (chapter 10).
A higher weight for quality does not mean a more expensive contract. In one of the cases the association described, the best-rated proposal was also the cheapest Lupa.cz, 2026. Evaluate the total price, including operations and support for 5 years (chapter 4), not just the day rate.
Score against described levels, not by eye
A criterion such as “solution design: 0–40 points” with no further description leaves too much room for subjective evaluation. So for each quality criterion, write down in advance what 0, 1, 3, and 5 points mean. For example, for the solution design: 0 = generic text, 1 = repeats the brief, 3 = a specific design and some risks, 5 = named risks with solutions and realistic stages.
Before you start scoring, check three things in each proposal. The first is the effort breakdown: does it show analysis, testing, security, and management separately, or just “development”? The second is the assumptions: what the vendor takes for granted, for example that the data is clean or that you will provide interfaces to other systems. The third is the list of what the price does not include: licenses, operations, data migration, or training. Two proposals with the same price can have a completely different scope.
Evaluate the people who will actually work on the project, not just the sales pitch. Invite the architect and the team lead to an interview or a workshop. If different people sit at the presentation than those named in the proposal, that is your first red flag.
Verify references yourself, not through the vendor. Call the contact person at the customer and ask:
Did they deliver on time and on budget? If not, by how much, and why?
Did the same team work on the project as the one being offered to us?
How did they handle changes and problems?
Did you receive the source code and documentation?
Would you choose them again?
Also ask for contacts at two customers who stopped working with the vendor. Logos on a website are not references.
A paid trial sprint will show you the most. As a rough guide, plan for 1–2 weeks of work with 2–3 finalists on a real brief, with criteria known in advance. You will see how the team communicates, asks questions, and delivers. According to the cited article by the vendor association, the town of Žďár nad Sázavou required a demo of the key processes before signing the contract for an information system worth CZK 15 million Lupa.cz, 2026.
Vendor due diligence takes twenty minutes
Public registers reveal the worst risks before you sign. Check the financial statements for at least 3 years.
Access to the Register of Beneficial Owners is available to public authorities, to obliged persons under the Anti-Money Laundering Act, and, on request, to contracting authorities in public procurement. A company can ask the vendor for an extract.
Since December 17, 2025, the Czech Register of Beneficial Owners has not been accessible to the public BusinessInfo.cz, 2025. So ask the vendor directly for an extract. Treat an ISO certificate as a signal, not a guarantee, and always check its scope: a certificate “for business activities at the company’s registered office” says nothing about development. Small studios often do not have one.
For a project lasting several years, the vendor’s stability is as important as its technical capabilities. For a large contract, attach the due diligence results to the evaluation report so it is clear that someone did it.
Red flag
Red flags in the sales phase
A price well below the others or a rate below the MV lower quartile, with no explanation.
“Yes” to every requirement and no questions about the brief.
A fixed price without a list of assumptions; one average rate without a breakdown by role.
Refuses to name key personnel in the contract; different people at the presentation than in the proposal.
Pressure to sign quickly.
“We’ll sort out the license later” or “license according to our terms and conditions.”
Refuses to hand over source code “for security reasons.”
References only “under NDA,” impossible to verify.
Promises a team of 15 people but has three in the register and on LinkedIn.
Refuses paid discovery and wants the whole implementation straight away.
How it goes wrong
How to do it right
How it goes wrongThe lowest price wins; quality is just a “condition.”
How to do it rightQuality 50–70%, price 30–50%, total price over 5 years.
How it goes wrong“Solution design: 0–40 points” with no description.
How to do it rightEach scoring level is described in advance; quality is evaluated without knowing the price.
How it goes wrongThe thickest proposal gets the best score.
How to do it rightYou evaluate understanding of the brief, risks, and the team, not the number of pages.
How it goes wrongReferences = logos on the website.
How to do it rightPhone calls to customers, including one who left, and a verified team.
How it goes wrongThe director and a salesperson present.
How to do it rightAn interview with the architect and team lead who will be on the project.
How it goes wrongSigning after three presentations.
Can we speak directly with two customers who stopped working with you?
Which subcontractors will be involved, and to what extent?
What experience do the people included in the quoted rate have, and how many person-days do you allow for management and testing?
What assumptions apply to your price, and what does it not include?
For public authorities
Under Section 116(3) of the Public Procurement Act (ZZVZ), quality criteria must be set so that bids are comparable and fulfillment of the criteria is verifiable. Justify the evaluation in detail.
A quality criterion must not consist of contractual terms that secure the vendor’s obligations, or of payment terms (Section 116(3)), typically contractual penalties. So put the license, code handover, and exit into the tender documentation as mandatory conditions, not into the evaluation.
Before concluding the contract, you can require proof that the financial statements have been published (Section 104(f)). For the selected vendor, you find the beneficial owner in the register and state them in the documentation (Section 122(5)).
Instead of a trial sprint, use a demonstration of a sample or a demo version.
10
Chapter 10: Fixed price, T&M, or something in between?
In a nutshell
A fixed price without a finished specification is an illusion: someone always pays for the risk of uncertainty, either as a premium in the proposal or through amendments. A fixed price suits small, well-described engagements. For a new system, a budget cap and a split into stages work well. Within each stage, you then pay for the time worked or per accepted increment.
The risk of uncertainty does not disappear; it only moves
In the idea phase, an estimate can be 0.25× to 4× the actual figure; you only get to about ±10% after a detailed design McConnell, 2006 and 2010 (chapter 1).
If you want a fixed price for a whole system based on a two-page brief, you will get one of two kinds of proposal. Either it will contain a high risk premium, or it will be underestimated and the vendor will make up the difference later with additional work. Neither is a good deal.
Each model just distributes the risk differently. With a fixed price, the vendor formally carries it, but in reality you pay for it in the premium. With time and materials (T&M), you carry it, but you only pay for work actually done. Combined models share the risk: the vendor is responsible for a stage, and you decide what comes next.
Time works against you: each additional year of duration increases cost overruns by 15% McKinsey and Oxford, 2012. So split the project into smaller stages, roughly up to 3 months each. After each one, decide whether to continue.
Pricing models for software development
Model
When to use
Who carries the risk
Trap
Fixed price and scope
small, short, fully described engagements; migrations, implementation of an off-the-shelf product
formally the vendor, in reality it comes back in the premium
underpriced proposal, disputes over what is “in scope”
For most companies and public authorities, a combined model makes sense: a fixed budget cap, stages that end with a decision on the next steps, and agile development with a backlog within them. Priorities (MoSCoW, chapter 6) decide the content of a stage, and the price stays under control. The Czech adaptation of the 18F handbook recommends “continuous payments for time and costs (with a cap on total spending)” Česko.Digital, 2022.
It works like renovating an apartment with a fixed budget: you know how much you can spend, and after each room you decide whether to continue the same way or differently.
But time and materials without rules is an open budget. Watch four things:
a cap that the vendor will not exceed without your consent,
a monthly overview of budget spend in relation to what has been delivered and accepted,
the right to stop ordering at any time,
a product owner who has time to decide on priorities.
Where you have a clear Definition of Done, you can pay per accepted increment: the vendor invoices only the parts you have tested and accepted. This works only if acceptance on your side does not stall. Otherwise, you delay payments and damage the collaboration.
In the first half of 2026, the median rate per person-day in government contracts ranged from CZK 9,220 for a tester to CZK 13,600 for an architect, excluding VAT MV, overview of ICT rates, July 2026. You will find the table by role in chapter 4. Work with quartiles, not the average, and check whether you are comparing prices including or excluding VAT.
According to Česko.Digital, a team of 5–9 people costs roughly CZK 12–20 million a year, and a single contract should not exceed CZK 40 million a year and 3 years Česko.Digital, 2022. An indicative check: 5 people × 20 PD × CZK 10,500 × 12 months = CZK 12.6 million a year.
Pay only for accepted work
Acceptance is the last moment when you have leverage. So agree on payments only after a stage has been accepted, and retention (retainage) until the end of the warranty, roughly 5–10% of the price. Contractual penalties for missed milestones are typically around 0.05–0.2% of the stage price per day, always with a cap (rule of thumb). Chapter 20 describes how to carry out acceptance. Chapter 18 covers changes during a stage.
A framework agreement with several vendors and mini-competitions: according to the knowledge base of the Digital and Information Agency (DIA), for example for 4 years, in practice with 7–15 vendors and a single maximum rate that a vendor can lower in a mini-competition. Preparation takes a long time, drawing on it is then fast, and later changes to the rules are not possible DIA, knowledge base.
11
Chapter 11: The contract: who will own the software
In a nutshell
Software you have paid for does not have to be yours. When a company delivers it, the prevailing interpretation is that you need an explicit license; otherwise, you may only use it and may not have another vendor modify it. The contract should also cover continuous code handover, access to data, an exit plan with a price, and rules for code from AI.
Not legal advice
This chapter is not legal advice. It describes the situation as of October 2026 and the prevailing interpretation, which the courts have not yet clearly confirmed. Always have a lawyer review the development contract and the license terms.
The author is always a person; you get a license
Only a natural person can be the author of a program, and they cannot transfer their copyright Act No. 121/2000 Coll.. A company or a customer can exercise the economic rights or obtain a license to use the work. So do not write “transfer of ownership” in the contract; write a license and its scope. Anglo-American templates such as “work made for hire” may not work under Czech law.
What is protected is the code, not the idea, the algorithm, or the functionality (Section 65 of the Czech Copyright Act). What matters, then, is what you are allowed to do with the specific code.
The § 58(7) trap: a freelancer yes, a company no
The law says that a program created to order is considered an employee work, and the customer is considered the employer. That sounds as if the customer automatically exercises the rights. But according to the prevailing interpretation in legal literature, this only applies if you conclude the contract directly with the author, that is, with a natural person epravo.cz, 2009. When a company delivers, it exercises the rights, and you need a license or an assignment of the exercise of economic rights.
No case law of the Supreme Court that would settle the question has been found. So do not rely on the interpretation, even with a freelancer, and always agree on a license.
Custom development is usually agreed in a contract for work (smlouva o dílo). On its own, however, it does not give you the right to modifications: without an explicit license, the vendor is deemed to have provided the work for the purpose that follows from the contract § 2634, Civil Code. So you may use the system, but not have another company modify it. This is where most vendor dependency begins (chapter 24).
Paying for development does not by itself make you the owner of the copyright. The text of the license decides: scope, the right to modify, sublicensing, and assignment. A “license to use for your own needs” means that every change must be made by the original vendor at its own price. So never sign license terms without a lawyer’s review.
exclusive, unlimited in territory and time, for all forms of use, even after the contract ends,
with the right to modify and combine with other works, including through another company,
with the right to sublicense and assign, for example to another vendor for further development,
paid for in the contract price, with a statement by the vendor that it has secured the necessary rights from all authors and subcontractors.
An exclusive license usually covers only the parts created for you. For the vendor’s earlier components and third-party parts, you get a non-exclusive license; have a lawyer define the scope of both. Red flag: “the license is governed by our terms and conditions” or “we’ll sort out the license later.” You will find the full list in the checklist at the end of the chapter.
Code, documentation, and data continuously, not at the end
Ask for the code with build scripts and documentation in your repository after every sprint. The test is simple: can another company build, deploy, and change the system from what was delivered? Include documentation in the acceptance conditions. Without it, a delivery is not ready to be invoiced.
Source code escrow suits parts whose code you do not receive directly, typically the vendor’s own components. The code is released upon events defined in the contract, such as insolvency, cessation of business, or long-term non-performance. Deposited code without a license to modify it and without documentation tends to be outdated and unusable.
Ask for free access to the data at any time, in an open and machine-readable format. The Supreme Audit Office (NKÚ) showed the consequences of the opposite approach: a ministry would have had to pay the vendor for its own data from its own system NKÚ, audit conclusion KZ 17/24 (more in chapter 24). The EU Data Act will not protect you with a custom system: its rules on switching providers target cloud services, and some obligations do not apply to services custom-built for a single customer (Article 31).
Agree on the exit plan, acceptance, and penalties at signing
Agree on acceptance in stages, fixed deadlines for both parties, and a classification of defects. Set penalties proportionately and with a cap; a court can reduce a disproportionate penalty (Section 2051 of the Civil Code). Also define your own obligations in the collaboration. If you do not meet them on time, the vendor’s deadline may move too. A one-sided contract does not pay off: the Office for the Protection of Competition (ÚOHS) canceled the tender for the digitalization of building permits partly because of missing acceptance deadlines ÚOHS, S0321/2023(chapter 12).
Code from AI and open-source components
The Municipal Court in Prague stated that an image created by AI is not a copyrighted work, because it is not the result of a person’s creative activity Prague Municipal Court, 10 C 13/2023. The case concerned graphics and the reasoning of a first-instance court. But similar arguments may also apply to code: purely generated code may not be protected, and you have no exclusivity over it. Code that a person creatively modifies can be protected.
So the contract should include rules for AI and an inventory of all components and their licenses (SBOM). Check especially for copyleft (“viral”) licenses, which could oblige you to publish your own code as well.
Checklist
Development contract checklist
Go through the draft contract item by item. Each item says whether it is a mandatory or a recommended safeguard. Mandatory means you should not sign the contract without it; where it is a legal obligation, the item says whom it applies to. Have a lawyer review the final wording.
0 of 31 done
Only this browser remembers what you tick (it is stored locally, like cookies). If you clear cookies and site data, use a private window, or switch devices, you start over.
Your browser does not allow storage right now (for example in a private window), so your ticks last only until you close the page.
You must publish the code created in the project to the extent that it cannot be misused to compromise the system (Section 18(2)(c) of Decree No. 360/2023 Coll., from July 1, 2024) Decree No. 360/2023 Coll.. According to the Digital and Information Agency (DIA), custom software should be open source if its nature allows DIA, Vendor lock-in methodology. Both assume that you have the code and the rights.
The contract is part of the tender documentation, and later changes are subject to Section 222 of the Public Procurement Act (ZZVZ); see chapter 18. Put the reservation for a change of vendor into the tender documentation (Section 100).
Contracts over CZK 50,000 excluding VAT belong in the Register of Contracts. They take effect at the earliest upon publication, and an unpublished contract is canceled from the outset after 3 months Act No. 340/2015 Coll.. You must enforce contractual penalties.
Source code escrow does not solve dependency. If you could have obtained the code and the rights at a reasonable price and did not, the courts will hold the vendor’s exclusivity against you (chapter 12).
This chapter is not legal advice. It describes legislation and case law as of October 2026. Have a lawyer or a public procurement specialist review the tender documentation and the draft contract.
Central government bodies must also inform OHA about ICT expenditure over CZK 20 million under Government Resolution No. 86/2020 DIA, OHA approval. The opinion usually arrives within 30 days, or within 60 days for complex requests, and you must complete and submit the request within 90 days of creating it in ISDŘ, the state register for long-term management of public administration information systemsDIA, ISSS 2026. The most common mistake: requesting the opinion only after the contract has been announced.
A piece of the state puzzle, not a standalone house
OHA assesses consistency with the Information Strategy of the Czech Republic (Informační koncepce ČR) and the national architecture. In practice, this means your system must fit in among the state’s other systems. It should use shared services, such as the registers and electronic identity, instead of creating its own copies. This is exactly what the Supreme Audit Office (NKÚ) criticized: 2,923 of 5,118 line-of-business systems create local copies of data from the basic registersNKÚ, audit conclusion KZ 23/05. Involve your authority’s architect in the brief from day one.
Plan the budget for the system’s entire lifetime, including operations. This is required by the 3E principle, from January 1, 2027, in Act No. 231/2025 Coll. Act No. 231/2025 Coll.(chapter 5).
The type of procedure depends on the threshold and the clarity of the requirements
The threshold determines how strict a procedure you must use. Depending on how clear the requirements are, you then choose a suitable procedure from those the law allows:
You can award discovery separately as a small contract and use the results in the next tender. But watch out: the Public Procurement Act (ZZVZ) bans splitting a contract (Section 35).
Thresholds for public supply and service contracts in 2026 (excluding VAT)
The small-scale threshold for construction works is CZK 9 million; the above-threshold limit for construction works is CZK 134,764,000 for all contracting authorities. The current wording of ZZVZ applies until December 31, 2026; from January 1, 2027, the part of Act No. 469/2024 Coll. on reserved contracts for social enterprises takes effect, which in practice does not change IT contracts.
Likewise, extreme urgency that the contracting authority caused itself does not hold up. How do you prevent this? Secure the rights and the code already in the first contract (chapter 11). For a legacy system, document the steps toward ending the dependency and prepare the tender in time.
Case
Digitalization of building permits before ÚOHS (MMR, 2023–2026)
In September 2023, ÚOHS canceled the open procedure: the draft contract contained no deadlines for acceptance, and it made the use of standard software subject to the ministry’s consent without stating within what time limit the ministry would decide ÚOHS, S0321/2023. The courts confirmed this in 2025.
In November 2023, the Ministry of Regional Development (MMR) then concluded a contract in a JŘBU, citing extreme urgency. ÚOHS prohibited performance of the contract because the ministry had caused the urgency itself ÚOHS, S0788/2023. The Supreme Administrative Court (NSS) returned the judgment confirming the ban for reconsideration NSS, 3 As 58/2025, and in June 2026 the regional court confirmed the ban again ČTK, June 2026. MMR received a fine of about CZK 1 million for the unlawful JŘBU. In July 2026, the court annulled only its amount, because ÚOHS had wrongly taken an aggravating circumstance into account when setting it. The breach of the law stands, and ÚOHS will impose the fine again ČTK, July 22, 2026.
The lesson: inaction during preparation cannot be made up for with a negotiated procedure.Chapter 20 describes how the system’s launch turned out.
Unclear or impossible conditions can lead to objections and subsequently to proceedings before ÚOHS. A vendor can file objections against the tender conditions until the end of the deadline for bids (Section 242 of ZZVZ), and until you decide on them, you may not conclude the contract (Section 246). After the objections are rejected, the vendor has 10 days to file a petition with ÚOHS (Section 251).
What information about the data do you need for your bid?
Tip
What a company can take from this
Even without a legal obligation, companies benefit from adopting three practices from public procurement: ask the market before you request proposals, evaluate quality against levels described in advance, and have the rights and the code from the first contract.
13
Chapter 13: The most common selection mistakes
In a nutshell
Most expensive mistakes happen before the vendor writes the first line of code. In this chapter, you will find them ordered by project step: the decision, the budget, the brief, the selection, and the contract. Czech cases show that ministries make the same mistakes too.
Twelve mistakes that keep recurring
This chapter summarizes the first two parts of the guide. For each mistake, you will learn how to recognize it and how to fix it. The details are in the chapter the last column links to.
Not all mistakes cost the same. The ones in the contract are the hardest to fix, because after signing you have a weaker negotiating position. Mistakes in the decision and the budget, on the other hand, stay hidden the longest: the project proceeds according to plan, but the plan itself rests on wrong assumptions. It is like following a navigation system with the wrong destination entered. You drive smoothly and on schedule, and you only find out at the end of the trip that you are somewhere other than where you wanted to be.
The 12 most common mistakes in vendor selection
Mistake
How to recognize it
What to do
Decision
1. You custom-build a standard business function
you want your own accounting, HR, or CRM because “licenses are expensive”
calculate both options over 5 years; custom-develop only the part that sets you apart (ch. 2)
2. A project without an owner and a measurable goal
the “owner” is a committee; the goal is “to make things more efficient”
appoint an owner with a mandate and time, 2–4 measurable goals (ch. 5)
Budget
3. A budget for development only
the business case lacks operations, maintenance, further development, and your people’s time
If you checked several items in the self-test, do not simply go through them in order. Start with the ones that are hardest to fix after the contract is signed:
The contract (mistakes 10–12). Secure the license, code handover, access to data, and the exit plan before signing. After that, your position is weaker and every change costs money.
The product owner (mistake 2). Without a person who makes decisions, even a project with an excellent vendor grinds to a halt.
The pricing model and the data (mistakes 4 and 6). Both determine whether the proposals can be compared at all.
Selection mistakes (7–9) can still be mitigated along the way, for example with a paid trial sprint or by replacing key personnel. And if it turned out that you are building a standard business function (mistake 1), stop completely: the cheapest project is the one you do not have to do.
Ministries make the same mistakes
Companies do not publish their failed projects, but for the state, audit results are available. Audit conclusions of the Supreme Audit Office (NKÚ) and decisions of the Office for the Protection of Competition (ÚOHS) are therefore the best public textbook: even an institution with a legal department and a budget of hundreds of millions can make the mistakes in the table. The table draws mainly on audit conclusions and decisions. Two good examples rely on secondary sources (an article by the vendor association and a legal analysis). The chapters in the last column discuss the cases in detail.
How to do it rightAn exclusive license with the right to have another company make modifications, code on an ongoing basis, an exit plan.
How it goes wrongData “somewhere at the vendor’s.”
How to do it rightFree export in an open format at any time.
For public authorities
For a public authority, the same mistakes can also have legal consequences: cancellation of the tender, a fine from ÚOHS, an NKÚ finding, or a breach of budgetary discipline.
The public-sector versions of these mistakes: asking for an opinion of the Office of the Chief Architect of eGovernment (OHA) only after the contract has been advertised, criteria copied from the last tender, an unrealistic schedule patched up with amendments, and JŘBU because of a dependency the authority created itself.
Chapter 12 describes step by step how to prevent them.
Part III Development: keeping the project on track
What is expected of you, what to check, how to manage changes, and how to accept the finished work.
14
Chapter 14: Analysis: what exactly the software must do
In a nutshell
What is not written down will not be delivered, and whatever is written in on top, you pay for. Every requirement must be verifiable: set acceptance criteria for user stories, and replace general words such as “fast and secure” with specific values and requirements. Just as important is a signed list of what will not be delivered, and one person on your side who approves the specification.
First the problem and the users, then the features
The brief for vendor selection (chapter 6) describes what you need and why. Analysis with the selected vendor turns it into a specification: who will use the system, in what situations, and how you will tell that it works. The UK and Australian governments call this discovery, and the New South Wales government usually sets aside 4–8 weeks for it NSW Government, 2026. For a smaller, clearer system, a shorter discovery is enough, which is why chapter 8 gives a range of 2–8 weeks. The result can even be a decision that developing a new system makes no sense.
The most common mistake is to turn a paper form into a screen 1:1. The Supreme Audit Office (NKÚ) criticizes the state for “digitalization at the level of forms”: after investments of more than CZK 50 billion in 2020–2024, only 18% of services were fully digital NKÚ, 2026. Simplify the process first, then digitalize it.
Talk to the people who will use the system every day, not just to management. In the digital building permit system project, according to the technical audit, the requirements were drawn up without involving the key future users DSŘ audit, technical part, 2025 (chapter 20 describes how the launch went).
The cheapest test is a clickable prototype. For a first check, try it out with 5–8 people who do the day-to-day work. That way you can find most process errors before the first line of code is written. Rewriting a screen in a prototype takes hours; in a finished system, it takes weeks.
Every requirement must be verifiable
According to a PMI survey from 2014, 47% of unsuccessful projects failed to meet their goals because of poor requirements management PMI, 2014. This is a share of projects, not of organizations as with the 37% in chapter 6. The basic unit of a specification is therefore the user story: As a [role], I want [what] so that [why]. It comes with acceptance criteria in the form Given / When / Then. The vendor prepares tests based on them. At acceptance, instead of arguing about impressions, you then verify whether the system meets the criteria. Do not let a user story without criteria into development.
Unverifiable requirement
Specific and verifiable requirement
Unverifiable requirement“The system will allow applications to be recorded.”
Specific and verifiable requirement“As a case officer, I want to see new applications sorted by submission date so that I can process them within the deadline.” Given: 3 new applications from different days. When: I open the overview. Then: I see them from the oldest, with the number of days left until the deadline, and an application past the deadline is marked “Overdue” in red.
Unverifiable requirement“The system will be fast.”
Specific and verifiable requirement“95% of responses within 2 s, 99% within 5 s with 200 concurrent users; verified by a performance test in an environment similar to production before acceptance.”
Unverifiable requirement“The system will be secure and compliant with legislation.”
Specific and verifiable requirement“Meets OWASP ASVS 5.0 level 2, demonstrated by independent verification with a list of the requirements checked; before launch, a penetration test with no critical or high findings; access logs make it possible to file an initial incident report within 24 h.”
Unverifiable requirement“It will be possible to export the data.”
Specific and verifiable requirement“The administrator can export all data at any time to CSV or JSON with a documented data model, without the vendor’s cooperation and free of charge.”
Template for a user story and acceptance criteriaOne user story = one need of one type of user. The checklist at the end determines when the user story is ready for development.
USER STORY
Title: [short title]
As a [user role]
I want [what I need to do]
so that [what benefit it brings].
ACCEPTANCE CRITERIA (at least 2)
1. Given [initial state], when [action], then [expected result].
2. Given …, when …, then …
Example:
As a case officer, I want to see a list of new applications sorted by submission date
so that I can process them within the statutory deadline.
1. Given: 3 new applications from different days. When: I open the overview.
Then: I see them from the oldest, each with the number of days left until the deadline.
2. Given: an application past the deadline. When: I open the overview. Then: it is marked "Overdue" in red.
Link to non-functional requirements: [performance, security, accessibility…]
Priority (MoSCoW): Must / Should / Could / Won't
Out of scope for this story: […]
Approved by: [product owner], date, version
READY FOR DEVELOPMENT WHEN IT
[ ] has a role and a benefit
[ ] has at least 2 Given / When / Then acceptance criteria
[ ] states its link to non-functional requirements
[ ] has a priority
[ ] has been approved by the product owner
“Fast and secure” gets translated into numbers
Non-functional requirements say how well the system must work. You will find it hard to verify and enforce general words such as “fast” or “reliable.” Specific values and standards make it possible. The specification should cover at least these areas:
The values are examples. Chapter 15 explains the security level and the WCAG version; chapter 21 covers availability and outages.
An MVP is the smallest useful version, not half of everything
An MVP is the smallest version that real users will actually use. Only requirements with Must priority belong in the MVP (chapter 6). Plan the stages according to when they will deliver value: a pilot at one site, an expansion, full deployment. Short stages are the best insurance against cost overruns, because overruns grow with every year a project lasts (chapter 10).
It is just as important to write down what will not be delivered. The out-of-scope list is a separate part of the specification and is signed together with it. For example:
a mobile app (a website that also works on a phone is enough),
an English version.
A specification works like an order at a building supply store: what is not on it will not be delivered, and what you add at the checkout you pay for separately. Anything left unclear will later turn into a dispute over additional work (chapter 18).
Who approves the specification?
Your product owner is responsible for the specification. The vendor helps them formulate and verify it. Each party approves its own part:
What do you propose to leave out of the MVP scope, and why?
For public authorities
Have the analysis finished before the tender, ideally as a separate small contract (watch out for the ban on splitting contracts, chapter 12). Then include the prototype and the initial list of requirements in the tender documentation.
You do not have to understand code, but you do have to watch five things that decide whether the system can be fixed and handed over to another vendor in five years. Dependency comes not from the programming language but from the contract and the documentation. Choose widely used technologies and a simple architecture, and describe your requirements for security, accessibility, and AI using specific standards and rules.
Five things you must watch
Transferability. The code, the build procedure, the documentation, and the rights to make modifications are with you on an ongoing basis, not “when the cooperation ends” (chapter 11).
Widely used technology with a support period. A common language and framework, with an end-of-life date for every key component.
A simple modular architecture. Modules with documented interfaces (APIs) and open data formats.
Hosting with a way out. Accounts, domains, and the cloud in your name, and an exit plan with a cost estimate.
Measurable security and accessibility. Specific standards, an independent test, and for AI, a classification under the AI Act.
Transferability is mainly a matter for the contract; the rest of the chapter covers points 2–5.
Boring technology is an advantage
In proposals, you will most often see these widely used technologies: the languages Java (with Spring Boot), C# (.NET), Python, PHP, and JavaScript or TypeScript with the React or Next.jsframeworks, the PostgreSQL database, Docker and Kubernetescontainers, and the Azure, AWS, or Google Cloud public clouds. Do not take this as a recommendation, only as a point of reference. Wide use is an advantage: you will find developers more easily, the technologies have long support, and hundreds of companies can take over a system built on them. An exotic technology that only one person at the vendor knows will tie you to that vendor. There is no data on the number of developers by language in the Czech Republic, so ask the vendor which other Czech companies use the technology.
For every component, ask for the version and the end-of-life date. After that date, the maker stops releasing fixes, and an expensive migration awaits you (chapter 23).
“We build on our own platform; it’s our know-how.” This is the strongest red flag for dependency. Only the author of the platform can then develop the system further, and at its prices. Accept it only with the platform’s source code, documentation, and the right to hand both over to another vendor. Otherwise, ask for a common public framework.
Architecture: a house with rooms, not a housing development
Microservices are fashionable, but for a typical business system with one team they are more of a burden. They shift part of the complexity from development to operations and make a takeover by another vendor more expensive. From 2015 to 2018, the consultancy Thoughtworks placed “microservice envy” in the Hold category, meaning do not use Thoughtworks, 2018, and it recommends starting with a well-structured monolithThoughtworks, 2023.
The recommendations for choosing an architecture are indicative.
Ask for an architecture document describing the modules, interfaces documented in the OpenAPI standard, and short records of technical decisions (ADRs). With these, a new vendor can find their way around in weeks, not months.
For a mobile app, first ask whether you need one at all:
The comparison is indicative. For native and cross-platform apps, plan for annual costs of keeping up with new versions of iOS and Android.
The App Store and Google Play accounts and the app signing keys should be in your name.
Hosting: the way out matters, not the cloud brand
There is no independent comparison of cloud and on-premises server costs in CZK. As a rough guide, the cloud pays off with fluctuating load and a small IT team, while running your own servers pays off with stable load and an existing team. The way out matters more than the choice: applications in containers, a standard database, proprietary cloud services only after considering the consequences, accounts and domains in your name, and an exit plan with a price.
Security and accessibility by the standards
Security can be specified as precisely as the dimensions of a kitchen unit. The OWASP ASVS 5.0 standard has 345 verifiable requirements at three levels OWASP ASVS 5.0, 2025. For a typical business system, level 2 is usually required. Have compliance with it verified independently; a penetration test alone will not prove it. But also require a penetration test as a condition of acceptance, together with a list of all components (SBOM) for every release. Software supply chain failures, such as a vulnerability in a third-party library, rank 3rd in the OWASP Top 10:2025 OWASP Top 10:2025.
The Cybersecurity Act (Act No. 264/2025 Coll.) has applied since November 1, 2025. Regulated entities must carry the security requirements over into their contracts with vendors. The system must log events so that you can meet the statutory deadlines for reporting incidents: an initial report within 24 h, a notification within 72 h, and a final report within 30 daysAct No. 264/2025 Coll.. Check with your cybersecurity manager which incidents you report and under which regime. By February 2026, 4,825 organizations had reported providing a regulated serviceNÚKIB, 2026. Check whether the obligations also apply to your organization.
The EU Cyber Resilience Act (CRA) does not explicitly exclude custom software. Whether it applies to your project depends, among other things, on whether the software is “made available on the market” Regulation (EU) 2024/2847. Leave the conclusion for a specific project to a lawyer (chapter 11).
Companies have had to meet it since June 28, 2025, for listed consumer services such as online stores, banking, or transport (Act No. 424/2023 Coll.) Act No. 424/2023 Coll..
The new standardEN 301 549 V4.1.1 adopts WCAG 2.2 and was published on September 2, 2026. It is still awaiting publication in the Official Journal of the EU EN 301 549 V4.1.1, 2026.
So write WCAG 2.2 AA into the briefW3C, WCAG 2.2; that way you meet both the current and the expected state. A plugin that promises “100% accessibility” with a single script is not enough. The condition for acceptance should be an audit that includes manual testing with a screen reader.
AI in the application: classification and replaceability
If the system is to include artificial intelligence, decide three things in the brief:
where exactly the AI is and which risk category it falls into under the AI Act,
how you will replace the model provider (your own abstraction layer and a test suite for comparison),
that the provider must not train on your data.
As of October 2026, following the amendment by Regulation 2026/1744, the transparency obligations have applied to new systems since August 2, 2026. They include, for example, informing people that they are talking to a machine. AI that makes decisions about people in recruitment, assessment, or access to services and loans is high-risk, and its obligations apply from December 2, 2027 Regulation (EU) 2026/1744. The deadlines have already shifted once, so check them before you sign the contract.
How it goes wrong
How to do it right
How it goes wrong“The platform is our know-how; we’ll hand over the code when the cooperation ends.”
How to do it rightCode and documentation in your repository on an ongoing basis; another company tries to build the system.
How it goes wrongTechnology chosen by fashion, or by what one person knows.
How to do it rightWidely used technology with documented support and an overview of end-of-life dates.
How it goes wrongMicroservices “like Netflix” for a system with one team.
How to do it rightA modular monolith with documented interfaces that can be split up later.
How it goes wrongA system tied to one cloud’s services, accounts in the vendor’s name.
How to do it rightStandard building blocks, accounts in your name, an exit plan with a price.
How it goes wrong“It will be secure”; a penetration test only after launch.
How to do it rightASVS 5.0 level 2, SBOM, and an independent test as a condition of acceptance.
How it goes wrongCalls to one AI provider’s services scattered throughout the code.
How to do it rightAn abstraction layer for replacing the model and an AI Act classification in the documentation.
Questions
Questions about the technology
Why this technology and architecture? What alternatives did you consider? Explain it in one sentence.
Until when are the versions used supported, and who will pay for the migration to a new version?
Do you use your own framework or non-public libraries? Will we get their code and the right to hand it over to another vendor?
Could another company take over further development within three months with only what you hand over to us?
Which cloud services are proprietary, and how much would it cost to move elsewhere?
Which OWASP ASVS 5.0 level do you guarantee, will you deliver an SBOM with every release, and who will do an independent penetration test?
Which version of WCAG will you build to, and who will carry out the accessibility audit?
A public authority’s mobile app should use shared government components, above all login through the citizen’s electronic identity.
16
Chapter 16: How development works and what is expected of you
In a nutshell
The most common brake on a project is a customer who has no time: nobody else can work out what your software should do. For most companies and public authorities, a hybrid works: a fixed budget cap, stages that end with a “continue or not” decision, and agile development within them. On your side, there must be a product owner with a real mandate and time, in practice full-time for larger teams.
The difference is when you hear the bad news
With the waterfall approach, the whole system is first described, then developed, and finally handed over. You are most involved at the beginning and at the end, and a problem often only shows up at acceptance. The UK government’s guidance warns that this way you can spend 18 months building a service that no longer matches policy, technology, or user needs GDS, agile development.
With agile development, you see a piece of working software after every short cycle, roughly every 1–4 weeks. You uncover risks early, but you have to make decisions and try out the software on an ongoing basis.
A sprint is a short development cycle, usually two weeks long, that ends with a demo of the finished work. The backlog is an ordered list of everything that needs to be done; your product owner decides the order. The Definition of Done is a shared agreement on when a task is really finished: tested, documented, and deployable.
Watch out for an agile label on a waterfall
The most common trap is “agile development” with a fixed two-hundred-page brief and a fixed price. Or an agile contract without a product owner on the customer’s side. The Czech adaptation of the guide by 18F, the US federal government’s digital team, says that when a vendor claims an agile approach but handles every change with an additional order, “a red light should go on in your head” Česko.Digital, 2022.
Agile development can be reconciled with a fixed contractual framework in four ways:
fixed budget and deadline, variable scope,
payment for time worked, with a cap,
a fixed price for the MVP, further stages as options,
Chapter 10 discusses which approach suits your project and how to set the price.
How much of your time it will take
The product owner should be your employee, not someone from the vendorČesko.Digital, 2022. They decide on priorities, answer questions, and accept finished parts. They are like a homeowner who visits the building site every day: when they are missing, the builders either wait or build as they see fit. Decision-making by committee and a product owner working “10% alongside their regular job” are typical brakes. A fixed price does not replace your own management: in the digital building permit system project, the contract had a fixed price and deadline, and yet, according to the legal part of the audit, the projects did not have some of the roles required by the ministry’s methodology filled DSŘ audit, legal part, 2025 (more in chapter 20).
Appoint the product owner before you sign the contract, confirm in writing how much of their time you will free up from other work for the project, and give them a mandate: what they decide on their own and what they must submit to the steering committee. Choose key users from the people who actually do the work, not from those who happen to have time.
How many hours a week people on your side need during development (rule of thumb)
Product owner20–40 hFor a team of 5–9 people, in practice full-time. During testing and launch, 40 h.
Key user (each of 3–8 people)2–4 hDuring analysis, 8–12 h; during testing and launch, 12–20 h.
IT and architect4–8 hDuring analysis, around 8 h; during testing and launch, 12–20 h.
Security and data protectionaround 2 hDuring analysis, around 4 h; during testing, around 8 h.
Sponsor from senior managementa few hours a monthSteering committee once a month, more often around launch.
Lawyeras neededAt signing, for changes, and at acceptance.
The hours given are rough estimates based on a 40-hour week, not measurement results. For key users, they are per person, so the total load is several times higher.
Cooperation is an obligation, not goodwill. Write the roles, hours, and deadlines for your answers into the contract, and ask the vendor to keep a record of what it is waiting for from you. Also watch the stability of priorities: when they change every week, team productivity drops and the risk of burnout rises DORA, 2024.
acceptance of finished work, or a clear “not like this” with a reason,
data, access, and people from other departments when the team needs them.
Larger projects are also divided into phases. The UK government calls them discovery, alpha, beta, and live: exploring the problem, testing the solution on prototypes, development for a limited and later a wider group of users, and finally productionGDS, agile development. At the end of each phase, there is a decision on whether to continue. These are exactly the gates of the hybrid model.
How it goes wrong
How to do it right
How it goes wrongA product owner working “10% alongside their regular job,” or one from the vendor.
How to do it rightYour employee with a mandate, in practice full-time for a team of 5–9 people.
How it goes wrongA committee decides; questions wait for weeks.
How to do it rightThe product owner decides within the limits of their mandate; the steering committee handles decisions beyond that.
How it goes wrong“Agile” with a fixed two-hundred-page brief and a fixed price.
How to do it rightHybrid: a budget cap, stages with a decision on whether to continue, variable scope.
How will you compare budget spending with delivered and accepted work?
What happens if we do not want to continue after a stage?
For public authorities
You must choose the agile approach already in the procurement procedure. A company can stop ordering whenever it wants; a public authority is bound by the tender conditions.
An external project manager does not replace a product owner from among the authority’s employees. Also involve the authorities responsible for the relevant legislation, because a change in the law changes the scope.
17
Chapter 17: Meetings and oversight: what the vendor should show you
In a nutshell
Trust working software, not presentations. Every two weeks, ask for a demo of the running system in your test environment, and from day one, have access to the repository, the task tracker, and the test version. Watch a few numbers: what share of the budget you have spent, what share of the work you have accepted, and how many defects remain open.
Agree on the meeting rhythm at signing
The meeting calendar belongs in the contract or in the project plan you sign. An indicative plan for two-week sprints:
The frequency and length of the meetings are indicative.
Holding meetings is not enough on its own. The participants must work with data and make decisions. In the digital building permit system project, the steering committees met, but according to the audit, nobody responded effectively to the warnings from independent technical oversight, and regular status reporting was missing DSŘ audit, technical part, 2025 (more in chapter 20).
A demo means running software, not a presentation
The demo runs in your test environment, not on a developer’s laptop or in PowerPoint. The product owner, key users, and IT attend it, not just the project managers. A canceled or “local” demo is a red flag.
Prepare your own review plan. The 18F guide recommends checking quality indicators at every demo, usually every two weeks, as part of accepting the work 18F, 2024. One page is enough:
The Czech adaptation of 18F puts it directly: all outputs, from software to graphic designs, belong to the contracting authority and are handed over at the end of every sprintČesko.Digital, 2022. The answer “you don’t have access to the code for security reasons” means that you have no control.
A few numbers every manager understands
Value: how many user stories you have accepted compared with the plan. A chart where the line of finished work rises toward the scope line is called a burn-up chart.
Money: X% of the budget spent against Y% of the MVP accepted. If the share of the budget spent exceeds the share of scope accepted by 15–20 percentage points, it is time to intervene. This is an indicative threshold.
Quality: open defects by severity and their trend.
Forecast: the MVP date calculated from the team’s actual velocity.
The technical team can also track the five DORA metrics: how often the team deploys, how long it takes for a change to reach production, how often deployments fail, how quickly the team restores service, and what share of deployments are unplanned fixes DORA, metrics. You do not need to understand them in detail; it is enough to ask to see them and watch whether they improve.
The “90% done” syndrome
When a vendor reports 90% for several months in a row, it is a red flag, not evidence of progress. The last 10% usually contains integrations, data migration, performance, and security, which is the hardest part. It is like a painter who has finished all the walls, and only the ceiling, the windows, and the cleanup are missing. So measure accepted scope, not percentages estimated by the vendor. An indicative threshold for escalation: 4–6 weeks without a new result that could be deployed (chapter 19).
The project is on track: deadline, budget, and scope are holding, and no serious problem is open.
Amber
The goal is achievable, but the project has serious problems that need management’s attention and decisions.
Red
In its current form, the project will most likely fail. It will not work without major intervention (scope, budget, deadline, or stopping the project).
The report is green on the outside and red on the inside. Nobody wants to be the one who brings bad news, so the status light stays green until the last moment. What helps against this is numbers instead of colors, and a management team that says thank you for bad news.
Scope grows on every project. The problem arises when it grows through small verbal agreements, without the costs being quantified. Every change therefore needs a written request, a quantification of its impact on price and schedule, and a decision by a person with a mandate, ideally following the rule “something in, something out.”
Not legal advice
This chapter is not legal advice. It describes the state of legislation as of October 2026; Section 222 of the Public Procurement Act (ZZVZ) does not change even with the amendment effective from January 1, 2027. Have a lawyer check the contract, the change control process, and every amendment in a public contract.
an unfinished analysis and unclear scope boundaries,
several people with different requirements on the customer’s side and no product owner,
a change in legislation during the project,
shifting management priorities. DORA research has shown that unstable priorities reduce team productivity and increase the risk of burnout DORA, 2024.
Changes in themselves are not a mistake. Something new always comes up during development. The mistake is uncontrolled changes: agreed in the hallway, not priced, and not written down anywhere. Each one on its own is a trifle; together they add up to a stage that nobody ordered. You can prevent most of the causes with an analysis that includes a list of what is out of scope (chapter 14) and with a single product owner (chapter 16).
Change control: five steps instead of “just add that in too”
Change control sounds bureaucratic, but it is just a procedure agreed in advance. It applies to companies and public authorities alike, and it fits on one page of the contract.
Anyone can submit a change request: a user, the product owner, or the vendor. In writing, with a description, a reason, and the author’s name.
Pricing
Within 5 business days (rule of thumb), the vendor estimates the price, the impact on the schedule, the risks, and the effect on other features. At the same time, it proposes what to remove from the backlog or postpone.
Decision
The product owner decides within the limits of their mandate, for example up to 5% of the stage budget (a suggestion; set the limit yourself). Above the limit, the steering committee decides.
Record
An approved change is recorded in a change order signed by both parties and reflected in the backlog and the plan. A public authority also classifies it legally under Section 222 of ZZVZ and publishes it.
Review
Once a month, the steering committee receives a summary of all changes and of the contingency used. That way, even ten small changes that would not alarm anyone individually become visible.
Follow two more rules. First, a defect fix is not a change: the vendor fixes a defect free of charge under warranty, but charges for a change, and the contract must clearly separate the two (chapter 11). Second, additional work without a signed change order is not paid for. Agree on this in the contract; then approval by email or “verbally at the demo” is not enough.
The process pays off with every pricing model (chapter 10). With a fixed price, it protects the budget from additional work. With payment for time worked, a change is not invoiced separately, but it draws on the agreed budget cap and pushes back the deadline, so the same person should decide on it with the same information. Be alert when:
nobody can say how much of the contingency is left.
Template
Sample change requestOne page per change. The vendor fills in its own part; the decision is signed by a person with a mandate.
CHANGE REQUEST No.: CR-___ Date: ____
Requested by (name, department): ____
Description of the change (what the system should do differently): ____
Reason (why, what happens if we don't do it): ____
Type: [ ] new feature [ ] feature modification [ ] change in legislation [ ] defect fix (not a change!)
Priority (MoSCoW): ____
--- completed by the vendor (within 5 business days) ---
Effort estimate (PD) and price (CZK excl. VAT): ____
Impact on the schedule (stage, milestone): ____
Impact on other features and risks: ____
Proposal for what to remove from the backlog or postpone: ____
--- decision ---
[ ] approved [ ] rejected [ ] postponed to the backlog
Decided by (product owner / steering committee), signature, date: ____
Contingency used after this change (CZK and %): ____
--- public authorities only ---
Classification under Section 222(__) of ZZVZ, justification: ____
Publication (Register of Contracts / buyer profile), date: ____
Something in, something out
With a fixed budget, the main tool is trading requirements. For every change request, ask what will drop out of the backlog so that the new item fits. It works like a suitcase for a flight: if you pack extra shoes, something else stays at home.
How do you say no? The product owner needs a mandate and a criterion for making decisions: the project goal and the scope of the MVP. They do not reject what does not belong in the MVP forever, but postpone it to the backlog for the next stage. Be alert when the vendor itself pushes to expand the scope before the MVP is finished. More work for the vendor does not necessarily mean more value for you.
A contingency is necessary; short stages are stronger
A contingency is not an admission of incompetence, but insurance. As a rough guide, plan for these values:
a well-prepared project: 10–15% of the budget and 15–20% of the time,
a new system with unclear integrations with other systems: 20–30% of the budget.
The customer holds the contingency, not the vendor, and decides on every use of it the same way as on a change. For a multi-year project, even a large contingency may not be enough. Large IT projects exceed their budget by 45% on average, and each additional year of duration increases the cost overrun by 15% McKinsey and Oxford, 2012. Short stages, after which you can adjust the plan or end the project, are therefore stronger insurance. A public authority must also think about the contractual possibility of using the contingency: it must reserve it as an option or a change in the tender documentation.
The system for the electronic Collection of Laws (e-Sbírka) was supposed to be built in 3 years. In the end, implementation dragged on for 9 years, the budget rose from CZK 482.1 million to CZK 903.2 million, and the project went through 22 change requestsNKÚ, audit conclusion KZ 24/04.
The lesson: an amendment without a basis in Section 222 of ZZVZ is the most expensive way to make a change. An audit then calls into question the payments for the whole contract, not just for the change.
Every change to a contract after signing is a contract modification. You must not make a substantial modification, meaning one that would have allowed other vendors to participate or affected the selection, would shift the economic balance in favor of the vendor, or would significantly expand the scope, without a new procurement procedure, unless a statutory exception applies to it § 222 ZZVZ.
The main tool for agile contracts is changes reserved in the tender documentation (subsection 2 and Section 100(1)): options for further stages, rules for backlog changes, and shifting milestones when legislation changes. What you do not reserve, you will have a hard time defending later (chapter 12).
A minor modification (subsection 4) must be below the EU threshold and at the same time below 10% of the original value for services and supplies; what counts is the sum of all such modifications. For additional deliveries and unforeseeable circumstances (subsections 5 and 6), the net price increase, meaning after deducting the work that will not be carried out because of the change, must not exceed 30% of the original value in total (subsection 9). A change of vendor is a substantial modification; the only exceptions are a reserved change of vendor (Section 100(2)) and legal succession (subsection 10).
For every amendment, justify in writing which subsection of Section 222 it is based on, and publish it. A contract in the Register of Contracts takes effect no earlier than its publication Act No. 340/2015 Coll..
19
Chapter 19: When a project starts going wrong
In a nutshell
A project rarely starts going wrong overnight. It is preceded by signals you can recognize even without knowing the code. Respond to a red signal within 2 weeks: stop expanding the scope, commission an independent audit, and decide whether to continue with a smaller scope or stop. To end the project or switch vendors, you need the code, the documentation, and the relevant rights. So prepare for that possibility in the contract.
You can read the red flags without knowing the code
The signals fall into four areas: time, budget, quality, and team. A single amber signal does not yet mean a crisis, but it is a reason to ask the vendor a question. A red one calls for action. Four signals tend to have the most expensive consequences: the vendor refuses access to the code or an audit, you keep hearing “90% done,” you see nothing new to deploy for 4–6 weeks, and the share of the budget spent exceeds the share of scope accepted by more than 15–20 percentage points (an indicative threshold).
Why not wait? Cost overruns grow with every year a project lasts (chapter 18). So respond to a red signal within 2 weeks (rule of thumb), not “when we see how it goes.” It is like the oil warning light in a car: you can keep driving, but the repair gets more expensive with every kilometer.
The escalation ladder: from braking to switching vendors
Respond to a problem according to how serious it is. Each further level of intervention costs more, so start with the first one unless the situation calls for a more drastic step.
Within 4–6 weeks (rule of thumb), someone with no ties to the vendor reviews the code, architecture, tests, backlog, and contract. The sponsor or the steering committee commissions it; access to the code is a prerequisite.
Re-planning
A new, realistic plan with a smaller scope and checkpoints, signed by both parties. The steering committee approves it.
Contractual tools
A written notice to remedy, contractual penalties, withholding payments for stages not accepted. You can only use what is in the contract.
Stop the stage or the project
The sponsor decides based on the criteria agreed at the start. This requires a contract in stages with the option not to order the next one.
Re-planning does not just mean a new deadline. It is a new plan built on the team’s actual velocity, with a smaller scope, checkpoints, and the signatures of both parties. If the team misses the next checkpoint too, do not move the plan again. Move on to the next level of intervention.
An independent audit is cheap insurance against an expensive decision made blind. Commission it from someone with no ties to the vendor and present the result to the steering committee with a clear choice: continue with a smaller scope, or stop. In the digitalization of building permits, the government decided in October 2024 not to develop the existing systems any further and to prepare a new tender Government, October 16, 2024. The forensic audit came only afterward, the legal part in April 2025 DSŘ audit, legal part, 2025 and the technical part in August 2025 DSŘ audit, technical part, 2025, and it served to establish accountability. The better order is the reverse: first the audit, then the decision. Chapter 20 describes how the launch itself turned out.
When to stop a project
Stopping a project is a legitimate decision, not a failure. In January 2025, Miloslav Kala, President of the Supreme Audit Office (NKÚ), said on television about the digitalization of building permits: “Knowing how it ended, it would probably have been better to stop it. But at the moment the decision was being made, it wasn’t that simple.” Aktuálně.cz (ČTK), 2025
The second sentence is the important one. Decisions are hard to make in a crisis: every day has already cost something, the deadline is pressing, and nobody wants to admit the money is lost. So agree on stop criteria in advance, at the start of the project, and write them into the plan or the contract. In a crisis, you then check whether any of them has been met.
STOP CRITERIA FOR THE PROJECT (agreed at the start)
Project: ____ Approved by (sponsor, steering committee), date: ____
We will stop the project, or fundamentally re-plan it, if at least one of the following occurs:
1. ___ weeks without a deployable increment (default suggestion: 6).
2. Budget spending is more than ___ percentage points ahead of the accepted scope (default suggestion: 20).
3. The estimated cost to completion exceeds ___% of the approved budget (fill in yourself).
4. The vendor refuses an independent audit or access to the code.
5. The business case no longer holds (goal, benefit, legislation, management priority).
Who evaluates the criteria and how often: ____
Who decides on stopping: ____
What happens on stopping (handover of code, documentation, access; payments): ____
The default values are indicative. Adjust them to the size of the project.
Case
Information system for gambling supervision (MF, NKÚ 2026)
The Ministry of Finance (MF) had been preparing an information system for the supervision of gambling since 2014. In August 2020, it ended its development: the money had run out and only two of the three modules were fully functional NKÚ, 2026.
The lesson: without stages and ongoing decisions, the money gets spent before a usable whole exists. A contract in stages and stop criteria let you stop earlier and for less.
Without the code in your repository, documentation, access, and a license for modifications, a new vendor has to start from scratch, or cannot take over the work at all. So the contract should include stages with the option not to order the next one, an exit plan, and a mandatory duty to cooperate during the handover (chapter 11). Chapter 24 describes the system handover in detail.
Do not forget penalties either. A contractual penalty that you never enforce stops working: the vendor starts treating it as a formality. Enforce it, or justify in writing why not. An excessive penalty does not help either: a court can reduce a disproportionately high contractual penalty (Section 2051 of the Civil Code), so agree on a reasonable one with a cap. Also keep a record of your own delays in cooperation, because they push back the vendor’s deadline.
“We have already put so much into this, we can’t throw it away now.” But the money spent will not come back, whether you finish the project or not. Decide based on how much finishing will still cost and what it will bring. Even experienced managers fall into this trap, which is why stop criteria agreed in advance help.
For projects funded from EU funds, the grant may be cut. In the case of the eISIR Insolvency Register, the managing authority of the Integrated Regional Operational Programme (IROP) withdrew almost half of the originally allocated money NKÚ, 2026..
With acceptance, you take over the work. Invoicing, the start of the warranty, and the shift in liability for defects are all tied to it. It is the last moment when you have leverage, so do not accept anything under time pressure, without verification on real data, or without the code or documentation. Launch based on readiness, not on a date, and expect several weeks of increased support after launch.
There are many kinds of tests, and you personally do only one
Each kind of test checks something different. Most are carried out by the vendor or a specialist. Ask for their results. But you do the user acceptance testing yourself: with key users, on real scenarios and anonymized real data. Made-up data will not reveal all the problems of real operation.
Is the data transferred correctly, and can the original state be restored?
vendor and your IT
reconciled counts and totals
Based on common practice; specific testing requirements belong in the contract and the acceptance criteria.
Commission the penetration test from a third party, not the software vendor. Nobody should test locks they installed themselves. Fixed findings from the test belong among the conditions of acceptance.
Acceptance has three possible outcomes
The vendor hands over a stage with a report on its own tests. You test within the agreed time limit. As a rough guide, plan for 10–15 business days for a stage and 3–5 days for a sprint. You record every defect you find and assign it to a category. The outcome is one of three:
accepted,
accepted with reservations: only minor defects remain, or a limited number of serious ones with a fix date,
not accepted: the vendor fixes the defects and acceptance is repeated.
Signing the acceptance has major consequences. The vendor can invoice, the warranty starts to run (as a rule of thumb, 12–24 months), and from that moment defects are handled as warranty claims, not as unfinished work. So keep part of the price, roughly 5–10%, as retention (retainage) until the end of the warranty or hypercare.
Put the defect categories and their limits in the contract in advance. Otherwise, you will be arguing about whether a defect is “critical” at the moment when the vendor is pushing for a signature and you are pushing for the deadline.
The overview is based on common practice; fix times are indicative. Agree on the limit of B defects for acceptance with reservations in the contract.
Watch out
Do not accept the work without the code and documentation
By signing the acceptance, you lose your leverage. Before that, ask for the handover package: the code in your repository with its history and build procedure, a license for modifications, including by another company, a list of third-party components (SBOM), documentation, access in your name, and the test results. The test is simple: “Show us that we can build and deploy the system without you.”
Whatever you do not receive at acceptance will cost you for years.ADIS, the Czech tax administration’s information system, shows where this leads: dependence on the vendor stemming from a 1992 contract ended in fines from the Office for the Protection of Competition (ÚOHS); see chapter 24.
Checklist
Acceptance checklist
Go through the list before signing the acceptance certificate. The time limits and numbers are indicative; the specific values belong in the contract.
0 of 17 done
Only this browser remembers what you tick (it is stored locally, like cookies). If you clear cookies and site data, use a private window, or switch devices, you start over.
Your browser does not allow storage right now (for example in a private window), so your ticks last only until you close the page.
Launch based on readiness, not on a date
Go/no-go is a decision shortly before launch: is the system ready? Approve the launch only when all of the following conditions are met:
no open A defects, and B defects below the agreed limit,
approved security and, for a public authority, statutory obligations met.
Record the decision, including who made it. Launch gradually: first a pilot with one department or branch, then expansion. The UK Government Digital Service (GDS) first releases new services to a limited group of users, then to everyone in beta, and makes them live only after an assessment GDS, beta phase. A gradual launch limits risks that would otherwise affect all users at once.
Migrating data from the old system is a separate part of the delivery with its own acceptance: a trial migration on a copy of the production data, reconciled counts and checksums, and a tested rollback (see the checklist).
Case
Digitalization of building permits: the launch (MMR, 2024)
The system went into production nationwide on July 1, 2024, because the law set that date. Acceptance took place on June 20, 2024, before user testing ended on June 28. The building permit information system was tested by 4 users, representatives of key users were not involved in acceptance, and all deliverables were accepted without reservations. Penetration tests covered only some of the systems DSŘ audit, technical part, 2025.
The lesson: a statutory date does not replace a go/no-go decision. If a deadline is at risk, negotiate a transition period or a fallback solution in time. Chapter 19 discusses the options for stopping a project. Chapter 12 describes the dispute over the tender before ÚOHS.
After launch: people and a period of increased support
A system is finished only when people know how to work in it. Run role-based training shortly before launch, not three months in advance, when people will forget much of it by launch day. Super users, a training environment, and short how-to guides help in the workplace. Expect a temporary drop in productivity, and make sure the old procedure really ends. In 2026, the Supreme Audit Office (NKÚ) pointed out that digitalizing forms has not yet sped up the work of public authority staff, because the internal processes remained manual NKÚ, 2026.
For the first 4–12 weeks after launch (rule of thumb), you need hypercare: a reinforced vendor team, shorter response times, and a short daily meeting on problems. The end of hypercare is determined by criteria set in advance, such as 2 weeks without an A defect, not by a date. Hypercare belongs in the development contract; regular operations then belong in the support contract (chapter 21).
How it goes wrong
How to do it right
How it goes wrongAcceptance “on paper” under time pressure.
How to do it rightAcceptance based on criteria and time limits agreed in advance.
An SLA is a promise in numbers: how quickly the vendor will help you when the system does not work, and what it will pay if it does not make it in time. What matters are three different time limits, the support hours during which they are counted, and a precise definition of availability. Pay for round-the-clock support only where you really need it, and ask for a report every month.
A response is not a resolution
The most common trick is an SLA that covers only response time. The vendor “responds” within 15 minutes, confirms that it has received the ticket, but takes a week to deal with the bug itself. And it has not breached the contract. So for each priority, ask for three separate time limits:
response: the vendor confirms the ticket and starts working on it,
restoration: the system works again, possibly with a temporary workaround,
resolution: the bug is fixed permanently.
The vendor does not set the priority according to its current workload. Impact and urgency decide, based on the definitions in an annex to the contract. Any dispute is resolved by an escalation procedure agreed in advance. Also distinguish between an incident, where operation needs to be restored, a problem, where you look for the cause of repeated incidents, and a change request. Each is handled differently. New features do not belong in the fixed monthly fee for support; they go through change control and the budget for further development (chapter 22).
Sample incident priority table (illustrative time limits)
The time limits are an indicative suggestion, not a norm or a market standard. Set them according to how much an hour of outage costs you. The time limits run only within support hours.
Time limits run only within support hours
8×5 support covers 40 hours a week; round-the-clock 24×7 support covers all 168 hours, which is 4.2× more time. If you report an incident on Friday at 4 p.m., a 4-hour time limit under 8×5 support with business hours of 9 a.m.–5 p.m. ends at noon on Monday. The weekend does not count.
services for the public, online stores, shift-based production
There is no public data on support prices in CZK. The only certainty is the arithmetic of the hours covered; have the price itemized in the proposal.
A common compromise is 24×7 only for P1 and 8×5 for everything else. Base the support hours on when people actually use the system, and include the option of tightening them later in the contract. Needs change: the basic registers were created for the office hours of public authorities, but the digitalization of services for citizens requires round-the-clock operation, and even more than 4 years after the deadline at the end of 2019, it had still not been ensured NKÚ, audit conclusion KZ 23/05 (chapter 23).
Convert availability percentages into hours
99% sounds great, but it allows up to 87.6 hours of outage a year. At 99.9%, it is about 8 hours and 46 minutes. Try it yourself:
The same percentage can mean a completely different promise. Ask:
What is an outage? Only a complete failure, or also a response time longer than a few seconds?
When is it measured? If availability is counted only within 8×5support hours, a nighttime outage of any length does not breach the contract.
How often? Monthly evaluation places stricter demands on the vendor than annual evaluation. That way, one long outage does not get “diluted” in the annual average.
What is excluded from the measurement?Planned downtime, outages of subcontractors or the network.
Who measures it? Ask for the methodology in the contract and access to the monitoring data.
Watch out for chaining, too. In the basic registers, the individual parts contractually have 99.9% or more, but taken together, the guarantee comes to only 99.68%, which means up to 28 hours a year that the contracts do not cover NKÚ, audit conclusion KZ 23/05. And availability that nobody measures is just a wish: the Ministry of Finance (MF) set it as a parameter of two projects and then was unable to evaluate it NKÚ, audit conclusion KZ 15/31.
Penalties that hurt, and a report you read
Token penalties and a missing report are among the most common mistakes. An SLA without them is like a car warranty that nobody enforces. The contract should include:
contractual penalties or discounts on the fixed monthly fee, graduated by priority and repetition, with the right to terminate the contract for repeated breaches,
a monthly report: incidents by priority, compliance with time limits, availability, open problems, hours used, plus a regular meeting,
the customer confirms the closing of an incident, and repeated P1 incidents lead to a root cause analysis.
Whether the servers are run by the vendor, by you, or in the public cloud, admin access, monitoring, and logs should be available to you. Without your own access and data, you remain dependent on the vendor (chapter 24).
Tip
An untested backup is not a backup
Ask when a restore from backup was last tested and how long it took. The contract should include the RPO (how much data you can afford to lose), the RTO (how long recovery may take), and a restore test with a written report at least once a year. A proven rule for backups: 3 copies, 2 types of media, 1 off-site.
Incident reporting has statutory time limits measured in hours Act No. 264/2025 Coll. (chapter 15). So the contract must require the vendor to inform you early enough for you to meet your own time limits.
You must implement the measures within 1 year of receiving the registration decision Act No. 264/2025 Coll.. Support contracts concluded earlier need to be updated.
Software ages even if you do not change anything in it. As a rough guide, plan for 10–20% of the purchase price per year for operations and maintenance. Plan further development separately, based on the roadmap. Make sure that comparable modifications do not gradually get more expensive.
Maintenance is not just fixing bugs
Software is like a car in a garage: even if you do not drive it, the tires age and the inspection certificate expires. The system does not change, but the world around it does. New versions of browsers and operating systems come out, vulnerabilities are discovered in libraries, and legislation changes. For each component, also keep an eye on its end of life, after which it no longer receives security patches.
Update in small steps, every month or quarter. If you put off updates for years, small modifications turn into a separate and expensive project. Ask for a list of components and their versions (SBOM) with end-of-life dates, and agree in the contract on an obligation to keep the system on supported versions.
A warranty does not replace maintenance. It covers defects in the work, not the move to a new version of the platform. And most of the money after launch does not go into fixes: maintenance accounts for 40–80% of the cost of software over its whole lifecycle, and roughly 60% of it is enhancements Glass, 2002. A budget “just for fixes” is therefore not enough. The statistics count enhancements as maintenance; in the budget below, we separate them out as further development.
How much per year, and how to split it
The baseline estimate from chapter 4 applies: 10–20% of the purchase price per year for operations and maintenance, without new features. It is an indicative estimate derived from several audits by the Supreme Audit Office (NKÚ), not from a representative sample. Operating the basic registers comes to about 12% of the purchase price per year NKÚ, audit conclusion KZ 23/05, and support for the new travel document system of the Ministry of Foreign Affairs (MZV) to about 8% NKÚ, audit conclusion KZ 24/26. Further development cannot be estimated as a percentage; calculate it from the roadmap: the number of person-days times the rate.
Keep the money in three separate envelopes: operations and support, maintenance including technical debt, and further development. When everything is in one pot, maintenance always loses out to new features. But a percentage for technical debt alone is not enough; the reserved capacity must go to the parts of the debt that hold the system back the most McKinsey, 2023.
Calculator
How much should you budget for each year after launch?
A summary of common practice. For most systems, a combination works.
To keep the cost of comparable modifications from gradually rising:
fix or index the rates by role,
ask for an effort breakdown by activity and role with every proposal,
track how much comparable changes cost over time,
insist on automated tests, which make every further change cheaper,
compare the total price of a change with the market, not just the rate per person-day.
By comparing unit prices at SZIF, NKÚ found that the fund was paying its main vendor many times more than comparable services from other vendors in the ministry’s sector cost NKÚ, audit conclusion KZ 20/07. Rising effort without an explanation is a measurable symptom of technical debt or vendor dependency (chapter 24).
A system needs an owner and a roadmap
After launch, the project team leaves, and the system often ends up without a clear owner. Appoint a product owner on your side who decides on priorities and is responsible for the system. The owner maintains a roadmap for 12–24 months with priorities based on benefit, not on who pushes their requirements the loudest. Once a year, go through the roadmap, the end-of-life dates of components, licenses, and infrastructure utilization with the vendor.
Think about the end of the old system, too. The MZV case in chapter 4 shows how expensive parallel running is when nobody switches off the old system.
Red flag
The system is quietly aging
It runs on versions past their end of life, and “it works for now.”
The vendor cannot tell you which libraries and versions it uses.
Further development needs a framework agreement or a contract with a volume tendered in advance. Amendments that were not tendered and negotiated procedures for new modules are high risk (chapter 18).
Technical debt arises from shortcuts and postponed modifications to the code. It saves time today, but every further change then takes more work. You can recognize it without reading the code: for example, when comparable changes cost more and more, and parts that used to work fine stop working after deployment. Pay it down continuously, and when the system ages, modernize it piece by piece.
Debt works like a loan
Technical debt is like buying on a credit card. You get the thing right away, but until you pay off the debt, you pay interest. In software, a shortcut might be a missing test, copied code, or a postponed update. The interest is the extra time needed for every further change.
Debt in itself is not a mistake. A deliberate shortcut to meet a deadline is a legitimate decision. The problem is debt that nobody knows about and nobody pays down. McKinsey describes the interest as a complexity tax that every project pays. In a survey, IT leaders of large companies estimated that 10–20% of the budget for new products is consumed by dealing with debt instead, and 60% of them feel that debt has grown over the past 3 years McKinsey, 2020. These are the respondents’ estimates, not direct measurements, but they still point to the scale of the problem.
How to recognize it without reading the code
The best yardstick is in your invoices: how much a comparable change costs today and how much it cost a year ago. Other symptoms are bugs after deployment in unrelated parts, modules that nobody wants to get into, and deployments “over the weekend.” Ask the vendor for DORA metrics DORA, metrics (chapter 17), static code analysis results, test coverage, and the age of components in the regular report. Do not track only the absolute values; also focus on how they develop over time.
Record: the vendor keeps a record of the debt as a list of tasks with an estimate of how much extra work the individual shortcomings cause.
Permanent capacity:devote part of every sprint to paying it down, instead of a one-off cleanup campaign every few years. Concentrate the capacity where the system changes the most.
Boy Scout rule: whoever touches a module leaves it a bit better than they found it.
Contract: “done” also means tests and documentation, and acceptance includes a code quality check (chapter 20).
Budget: paying down debt is an item in the annual maintenance budget (chapter 22).
Refactoring, rewrite, or replacement?
A system becomes obsolete when running and changing it costs disproportionately much, its technology has lost support or you cannot find experts for it, and the system cannot handle new requirements, such as round-the-clock operation or integration through an API. Age alone does not decide. But a platform’s end of life means a mandatory and expensive migration: the State Agricultural Interventional Fund (SZIF) has support for its platform secured only until 2027, and the Supreme Audit Office (NKÚ) has pointed out the risk of further high expenditure NKÚ, audit conclusion KZ 20/07. So for every key component, track its end-of-life date and have a plan for what comes next.
The default choice is refactoring. Even when a rewrite is unavoidable, plan it piece by piece.
Incremental replacement is known in the trade as the strangler fig, after the fig tree that gradually grows around an old tree until it replaces it Fowler, 2004. The new system takes over one function after another until the old system can be switched off. The steps are small and reversible, you see the benefits along the way, and you can change vendors piece by piece. For a while, however, you pay for two systems. A prerequisite is access to the old system, its interfaces, and its data (chapter 24).
A big rewrite all at once is tempting because it promises a clean slate. With large systems, however, the knowledge stored in the old code gets lost, requirements change in the meantime, and the old system has to be developed in parallel. Large-scale modernization takes years: of the 10 critical federal systems that the US Government Accountability Office identified in 2019, three had been modernized by February 2025 GAO, 2025. A switch-off plan and a budget for parallel running therefore belong in the project from the start. The MZV case in chapter 4 shows what happens without them.
The basic registers cost almost CZK 1.8 billion to acquire and another CZK 2.46 billion in 2015–2022, of which CZK 1.76 billion went to operations and CZK 697 million to further development and renewal. The transformation under the ZR 2.0 Concept (Koncept ZR 2.0), with deadlines in 2019–2023, did not materialize, and even expenditure of CZK 67.9 million did not lead to a complete renewal of the infrastructure. Round-the-clock availability had still not been ensured more than 4 years after the deadline, and operation in 2023 matched the parameters of 2012. According to NKÚ, 4 of the 5 registers are dependent on their vendor NKÚ, audit conclusion KZ 23/05. The Ministry of the Interior (MV) disagrees with the conclusions and states that the registers run without downtimeMV, June 10, 2024.
The lesson: without a planned and tendered renewal, a system ages even with hundreds of millions a year spent on operations.
For a public authority, poor-quality and undocumented code also has a legal dimension: it makes it impossible to run a tender for another vendor, and the dependency deepens (chapter 24).
Put the renewal out to tender well in advance. In the case of the basic registers, NKÚ assessed extending contracts with the original vendors without a tender as a risk to economy (value for money) NKÚ, audit conclusion KZ 23/05.
Vendor lock-in is a situation in which you cannot replace the vendor without disproportionate costs. To some extent, it is natural. The goal is to keep it within acceptable limits. Your safeguard is a continuously updated exit package with the rights, code, documentation, data, and access, which you test once a year; source code escrow is only an emergency brake in case the vendor goes bankrupt or fails to perform over a long period.
Vendor dependency is the rule, not the exception
In Czech public procurement, the Datlab Institute found 910 relationships between public authorities and vendors in vendor lock-in, worth roughly CZK 8.5 billion a year. That is about 53% of the analyzed government spending on IT vendors, and the dependency affects 13 of the 15 ministries Datlab Institute, 2021. The Supreme Audit Office (NKÚ) writes that dependency “significantly increases costs” and leads to a decline in IT competence on the government side NKÚ, Annual Report 2021. Companies have the same problem; it is just that nobody measures it.
Lock-in is like a car that only one garage is allowed to service. The garage sets the price, and when you want to go elsewhere, you find out that it also has the keys and the service book. You can recognize it when:
every change is more expensive than the last one, and nobody can say why,
tenders for further development end with a single bid (in government IT contracts, these have accounted for more than 20% of the volume since 2017 Datlab Institute, 2021),
the vendor refuses to hand over the code, access, or documentation,
you do not know the structure of your own data,
nobody knows how much moving elsewhere would cost.
Five kinds of dependency
Kind
How to recognize it
How to prevent it
How to get out of it
Legal
you are not allowed to give the system to another company for modification
a license with the right to modify and to transfer to a third party
a later transfer of rights or a license for modifications
Technical
a closed platform, integrations only through the vendor
widely used technologies, modules, documented APIs
open up the interfaces, replace module by module
Knowledge
only one person knows the system, onboarding takes months
documentation as a condition of acceptance, an annual handover test
workshops and shadowing during a transition period
Go through them once a year as a checklist. Chapter 11 describes how to prevent dependency in the contract, and chapter 15 covers the choice of technologies.
Case
Paying for data from your own system (MMR, NKÚ 2018)
The Ministry of Regional Development (MMR) is the administrator of the Public Procurement Information System (ISVZ), but it had access to the system’s data in aggregated form only for a fee. Since 2002, the system had been modified and operated by the same vendor. When NKÚ needed the data for an audit of centralized procurement, the ministry did not provide it: according to the ministry, it would have had to pay the external vendor about CZK 150,000 for it. NKÚ described this as vendor lock-in, which the ministry had not reduced by the end of the audit NKÚ, audit conclusion KZ 17/24.
The lesson: the right to a free export of your own data in an open format belongs in every contract.
Replacing the vendor completely is the last and most expensive step. Both Datlab and the methodology of the Public Procurement Association (AVZ) recommend starting with the cheapest thing that reduces the dependency AVZ, 2023:
a partial transfer of rights or a license for modifications,
handover of the code and documentation,
transfer of know-how,
opening up the interfaces,
splitting the system into modules and replacing them gradually,
only at the very end, a complete replacement.
When should you act? According to Datlab, when the costs exceed those of comparable services to such an extent that moving to another provider or a new system pays off in the medium term, say within 7 years Datlab Institute, 2021.
You agree on the exit plan in the contract (chapter 11). In practice, you then keep it up to date: update the handover package with every release, and once a year have an independent party test it. An audit at handover primarily verifies whether the system can be built, deployed, and modified from the materials delivered. It also checks whether the code handed over matches the version running in production.
Checklist
Handing the system over to a new vendor
Keep the exit package up to date continuously; use the procedure when you actually switch vendors. You will find what to agree on in the contract in chapter 11.
0 of 22 done
Only this browser remembers what you tick (it is stored locally, like cookies). If you clear cookies and site data, use a private window, or switch devices, you start over.
Your browser does not allow storage right now (for example in a private window), so your ticks last only until you close the page.
Source code escrow is an emergency brake, not a way out
Escrow is a three-party contract: the vendor deposits the code with a third party, which releases it if the vendor goes bankrupt or fails to perform over a long period. It helps if the vendor goes under. If the vendor is just expensive or slow and you want a different one, you usually will not meet the release conditions. Even released code may not be usable if:
the deposited version has not been updated for years and does not match production,
nobody has verified that it can be built,
a license for modifications by a third party, the documentation, and the data are missing.
Also expect vendors to stipulate in the contract that they are not liable for parts that another company has modified. So agree in advance that the warranty remains valid for the untouched parts and that changes are traceable in Git. The main safeguard remains the continuous handover of the code and rights.
Cloud: the Data Act only goes halfway
The EU Data Act has applied since September 12, 2025, and gives you the right to switch to another cloud provider within clear time limits (Article 25): a notice period of no more than 2 months, the switch itself within no more than 30 days, or up to 7 months if it is technically unfeasible, and then at least 30 days to retrieve your data. Until January 12, 2027, switching charges may cover no more than the direct costs. After that, they are to be abolished, including data egress charges Data Act, Art. 29.
There are, however, two important limitations. For services largely custom-built for a single customer, the ban on charges and the obligation of functional equivalence do not apply, but the time limits do (Article 31). So for custom software, the Data Act protects you only partially. It helps most with the standard cloud services the system runs on. And the proprietary services of a particular cloud have to be rewritten when you leave anyway. So build from portable parts (chapter 15) and plan large migrations for after January 12, 2027.
Case
ADIS: thirty years of exclusivity and the question of who is to blame (GFŘ, 1992–2026)
The Court of Justice of the EU (CJEU) then clarified that the contracting authority is responsible for exclusivity even when it maintained it although it had “real and financially reasonable means” to end it CJEU, C-578/23. In February 2025, the Supreme Administrative Court (NSS) set aside both the regional court’s judgment and the ÚOHS decision: the 1992 contract cannot be attributed to GFŘ, and the fact that IBM refused to transfer the rights in 2015 is relevant to the assessment NSS, 8 As 314/2021. ÚOHS reconsidered the case and, in May 2026, imposed final fines on GFŘ totaling CZK 1.45 million for services related to ADIS (CZK 1.95 million including another proceeding concerning the VEMA system) ÚOHS, May 15, 2026.
The lesson: the customer is responsible for the consequences of being passive. If you want to defend a dependency, you must prove that you genuinely tried to end it. It is better to obtain the rights and code, even after the fact.
How to do it rightEscrow only as a rescue in case of bankruptcy or long-term failure to perform, with a verified build; the main safeguard is the handover of code and rights.
How it goes wrongSwitching vendors all at once, without an audit or parallel running.
How to do it rightAn audit, a selection with full documentation, a transition period with parallel support, replacement of all access credentials.
Questions
Questions for the vendor
What rights to the work do we have (use, modification, transfer to a third party), and which parts do these rights not cover?
When and in what format do you hand over the code? Can exactly the version running in production be built from it?
What proprietary components and third-party licenses does the system contain?
How much does an exit cost and how long does it take? Who will provide cooperation during the transition period, and at what price?
Could another vendor take over further development within three months using only what you hand over to us?
In whose name are the cloud, App Store and Google Play accounts, domains, and certificates held?
Which cloud services are proprietary, and what would replace them?
For public authorities
For a public authority, dependency is also a legal problem. A JŘBU justified by exclusive rights holds up only if the exclusivity objectively exists and the contracting authority neither caused it nor could reasonably remove it NSS, 5 Afs 42/2012. After the ADIS case, you must also prove that ending the dependency was not realistic or would have been disproportionately expensive.
Prevention is legitimate, but it must be justified. In 2020, the chair of ÚOHS upheld the Ministry of Transport’s requirement for the economic rights and source code of an HR system ÚOHS, R0215/2019. The Regional Court in Brno set his decision aside on April 25, 2024, and on June 16, 2025, NSS dismissed the cassation complaint: you may require the code, but you must justify that the requirement is proportionate epravo.cz, 2026.
Source code escrow does not solve dependency. If you could have obtained the code and rights at a reasonable price and did not do so, the courts may attribute the vendor’s exclusivity to you.
Projects are rarely killed by technology. They are killed by people who do not want to deliver or hear bad news.
25Bonus · for senior management
Chapter 25: The human factor: ego, fear, and shame
In a nutshell
Large IT projects fail mainly because bad news does not reach the person who can stop the project in time, or that person does not want to hear it. Very capable people fall into these traps too. So besides personal responsibility, watch how information is passed on: will you learn the unvarnished truth before a problem grows into a scandal? You will not recognize a person you can trust with a project by their self-confidence, but by the fact that they speak in ranges, ask for independent oversight themselves, and know how to scale down or stop a project.
It is rarely technology that kills a project; it is silence
This chapter is for those who do not manage a project directly but are accountable for it: company management, board members, deputy ministers, and heads of departments. You do not need to understand code. But you do need to recognize whether the information reaching you is true.
Flyvbjerg and Budzier reviewed 1,471 IT projects: on average, costs exceeded the plan by 27%, but one in six projects was a “black swan” with an average cost overrun of 200% and a schedule overrun of almost 70% Flyvbjerg and Budzier, 2011. It is exactly this kind of extreme case, which disappears in the average, that can threaten a company’s existence.
Such an outcome rarely has a single sudden cause. Research by Mark Keil and colleagues, summarizing 14 studies, describes two phenomena: people withhold, soften, or delay bad news, and those who receive it may refuse to hear it. Willingness to report drops where people are punished for it and grows when the messenger does not have to fear blame Keil et al., 2014. A green report is therefore not proof that everything is fine. It is like a warning light in a car that someone has covered with tape.
Colors in project status reports
Green
The project is going to plan: deadline, budget, and scope are holding, and no serious problem is open.
Amber
The goal is achievable, but the project has serious problems that need attention and a decision by management.
Red
In its current form, the project will most likely not succeed. It will not work without a major intervention (scope, budget, deadline, or stopping it).
An honest picture tends to be amber. Of 227 major government projects in the United Kingdom, as of March 2024 only 11% were rated green, 72% amber, and 12% red IPA, 2024. If all your projects are green, ask why.
Ten traps and how to spot them
These are recurring patterns of behavior that almost anyone can fall into under deadline pressure and worry about their own reputation. So set up project governance in a way that lets you catch them in time.
Psychological traps in IT projects
Trap
How to spot it
What to do
Optimism and underestimation
a single date, “the deadline is fixed”; scope is cut without recalculating the benefits
ask for a range and a comparison with similar projects; send every cut back for approval
unanimity without discussion; disagreement never appears in the committee minutes
appoint a devil’s advocate; the highest authority speaks last
Blind trust in the system
“the system calculated it, so it’s right”; nobody knows the error rate
ask about the measured error rate, human review, and the option to appeal
Shame about admitting ignorance
nobody ever says “I don’t know”; documents are approved without questions
admit what you do not understand yourself; ask who will explain it
“We want our own”
“our situation is unique,” external reviewers “don’t know our environment”
ask for three comparable projects and know how they turned out (chapter 2)
Covering yourself and diluted responsibility
“it was agreed,” the go/no-go is signed by “the committee”; a vendor chosen by name, not by proven results
every key decision has a named owner; assess vendors on evidence
The traps are described by decision-making research (Kahneman and Lovallo, Staw, Janis, Keil, and others); the recommendations summarize the background material for this chapter. A single warning sentence is not enough to draw a conclusion. What matters is repeated behavior.
Who to trust with a project: behavior matters, not self-confidence
A project often goes to whoever is the highest performer, the loudest, or the best technically. That choice has its reasons, but it does not guarantee that the person can openly report bad news too. A study of salesperson promotions in 131 companies showed that companies promote mainly on performance in the current role, and the best salespeople then lead weaker teams on average as managers. The authors link this to the so-called Peter principleBenson, Li, and Shue, 2019. The data comes from sales, not IT, so treat it as an analogy: people are chosen based on results in a different job from the one they will then be doing.
So choose based on proven behavior on past projects: how they reported problems, whether they ever scaled something down or stopped it, how accurate their estimates were. Ask former colleagues and reviewers as well. Also watch what kind of environment they create around them: psychological safety, the feeling that it is safe to say something unpleasant, is linked to how a team learns Edmondson, 1999. A higher number of reported problems therefore does not have to mean a worse project. It may point to more open reporting.
Warning sign
Good sign
Warning signPretends to understand.
Good signAdmits not understanding something and says how they will fill in the information they need.
Warning signHides a mistake or blames it on others.
Good signAdmits the mistake and changes the approach.
Warning signThe report is always green.
Good signReports a problem in time, while it is still “amber.”
Warning signRefuses an audit or picks the reviewers themselves.
Warning signIs the only source of information about the project.
Good signOpens a direct channel for you to the team and the users.
Warning signPunishes the bearer of bad news.
Good signRecognizes the bearer of bad news for their honesty.
Horizon: for twenty years, nobody believed the people who reported errors
One of the worst British IT scandals did not arise because the system had bugs. Every system has bugs. It arose because the institution for years did not believe the people who pointed them out. The British Post Office introduced the Horizon accounting system in its branches, and according to the public inquiry, branch operators began complaining about incorrect data almost immediately after it was introduced. The Post Office demanded that they make good the shortfalls and brought criminal prosecutions. According to the inquiry, hundreds of people were wrongly convicted and thousands more were held liable for losses that never actually occurred Horizon Inquiry, Vol. 1, 2025. In 2019, the court found that the original Horizon “was not remotely robust” Bates (No 6), 2019.
The Horizon case: timeline
1999–2002
The Post Office introduces Horizon
The accounting system from ICL Pathway (later Fujitsu) is rolled out to branches from September 1999 until the turn of 2001 and 2002. Complaints about incorrect data come in almost immediately.
2000–2013
Prosecutions based on system data
In England and Wales, the Post Office prosecutes branch operators and staff over shortfalls shown by Horizon. As late as 2015, it publicly claims that “Horizon is robust.”
2019
The Bates v Post Office litigation
Around 555 claimants. A judgment on contractual issues in March, a settlement of GBP 57.75 million in December.
December 16, 2019
Judgment in Bates v Post Office (No 6)
The court also examined the vendor’s internal records of errors: the original Horizon “was not remotely robust,” and the newer version still had “a significant number of bugs, errors and defects.”
April 23, 2021
The Court of Appeal quashes 39 convictions
The decision in Hamilton and others v Post Office Limited.
May 24, 2024
A law quashes convictions en masse
The Post Office (Horizon System) Offences Act 2024 comes into force in England, Wales, and Northern Ireland; a similar law follows shortly afterward in Scotland. The convictions of hundreds of people are quashed.
July 8, 2025
Public inquiry, Volume 1
Describes the impact on people. At the inquiry’s request, the Post Office named 13 people who, according to their families, took their own lives, and at least 59 people who considered suicide.
2026
Volumes 2–6 not yet published
The rest of the report on causes and responsibility is due in five volumes. As of July 2026, according to the inquiry chair, it was still months from completion.
blind trust in the system: Horizon’s output served as evidence against people,
deafness to warnings: complaints from branches were treated as excuses, not as reports of a possible bug,
information asymmetry: known bugs from the vendor’s internal records did not reach the accused,
institutional ego: the Post Office defended the system and its earlier decisions instead of checking them.
What would the right approach have looked like? A user complaint is treated as grounds for checking, not as a nuisance. Repeated complaints are investigated by someone independent of both the vendor and the department that introduced the system. If the system’s output serves as evidence against people, those affected have access to the logs and to the record of known bugs. In the end, the court did exactly that: it read the records of errors and reached the opposite conclusion to the Post Office.
Case
Phoenix: pay for Canadian federal employees (2016)
The pay system for 290,000 employees from 101 departments was launched in 2016 despite clear warnings. IBM estimated the project at CAD 274 million, CAD 155 million was approved, and instead of increasing the budget, over 100 important functions were postponed. The pilot was canceled so as not to delay the deadline. There were eight oversight committees, but most of them were chaired by people from the project’s management or their direct reports. By June 30, 2017, over CAD 520 million in incorrect payments had been made. The Auditor General called it an “incomprehensible failure of project management and oversight” Auditor General of Canada, 2018.
The lesson: what matters is the independence of oversight, not the number of committees. The alternative was known, too: Gartner had recommended a phased rollout and parallel running with the old system.
Robodebt: automated recovery of welfare payments (Australia)
An automated system determined alleged overpayments of welfare benefits based on the averaged annual income of their recipients. The state then recovered these amounts. In 2023, the Royal Commission described the scheme as a “crude and cruel mechanism, neither fair nor legal” Royal Commission, 2023.
The lesson: for a system that makes decisions about people, verifying that it works technically is not enough. Also track the error rate and make sure there is human review, the option to appeal, and a verified legal basis.
Toeslagenaffaire: childcare benefits (the Netherlands)
While fighting fraud, the tax administration treated errors in many parents’ benefit applications as fraud and clawed the benefits back. In December 2020, a parliamentary committee of inquiry found that fundamental principles of the rule of law had been violated Tweede Kamer, POK, 2020. In January 2021, the government admitted that it had failed to pick up the signals of what was going wrong and only grasped the scale when it spoke with the affected parents and children Dutch government, 2021.
The lesson: signals from below need a way up that does not lead only through those who run the system. Decision-makers should now and then talk directly with the people the system affects.
What works: safeguards that let the truth travel up
Independent reviews at key points. The British Gateway Reviews are short reviews by an independent team that assesses how likely the project is to be completed successfully. They are inexpensive: the NAO estimated the cost of reviews of high-risk projects in 2008–09 at GBP 8.3 million, against GBP 10.5 billion in annual spending on 42 projects NAO, 2010. They only work if they cannot be bypassed and a red rating has consequences.
Estimates based on comparable projects. Instead of estimating only from inside your own plan, look at how similar projects turned out and adjust your estimate accordingly (reference class forecasting) Flyvbjerg, 2006. This also takes into account the extremely bad outcomes mentioned at the beginning.
Psychological safety. It is safe in the team to admit a mistake and say something unpleasant. Psychological safety does not mean low standards. It starts with management that admits its own mistakes and recognizes whoever points out a problem.
Stop criteria agreed in advance. They are set before sunk costs build up, so nobody negotiates over them under pressure. You will find a template in chapter 19.
Separating management from assessment.Whoever runs the project does not assess its status. The assessor reports directly to you and has access to the data.
Whistleblower protection. An internal whistleblowing system under Act No. 171/2023 Coll. protects a person who reports unlawful conduct Act No. 171/2023 Coll.. It is the last safeguard, not the first: for bad project news, you need an ordinary channel that works earlier.
Premortem: imagine the project has already failed
A premortem is a meeting where the team assumes the project has turned out badly and looks for the reasons why Klein, 2007. It also makes room for criticism that nobody would otherwise voice. Hold one before approving the project or a major stage. Plan for 45–60 minutes and 6–12 people: the project manager, key people from the team, a user representative, and the vendor. It is facilitated by someone who did not push for the project. The following steps and times are a suggestion for you to adapt.
The facilitator says: “It is a year after the planned launch, and the project has been a disaster. We are not blaming anyone; we are finding out what happened.” The past tense is essential.
Silent writing (10 min)
Everyone writes down on their own all the reasons why the project failed, including the unpleasant ones: people, politics, the vendor, data, the deadline. No discussion.
Round (15–20 min)
Participants take turns giving one reason each until all of them have been said. The person with the least decision-making authority starts; the project manager and the sponsor speak last. The facilitator writes things down; nobody evaluates.
Selection (10 min)
Group similar reasons and vote to pick the 3–5 most likely or most expensive ones.
Measures and owner (10–15 min)
For each risk, agree on one specific measure, a named owner, and a deadline. For the most serious ones, add a stop criterion too: “if the error rate in the pilot exceeds X%, we do not launch.”
Follow-up
Attach the list to the project plan and go through it at the next steering committee. Repeat the premortem before launch.
Questions
10 questions senior management should ask
Ask them regularly, for example once a month.
What is the biggest risk nobody has told me about yet, and who knows about it?
What is the range for the deadline and costs, and which comparable projects is it based on?
What have we cut or postponed, and how has that changed the expected benefits?
Who, independent of the project’s management, last assessed its status, who did they hand their findings to, and what did they find?
What are the stop criteria agreed in advance for stopping or scaling down the project, and how far are we from them?
What was the last warning we received, and how was it checked?
How do we know the system’s outputs are correct, and what is the measured error rate?
What in the project do you yourself not understand, and who will explain it to you?
What happened to the last person who brought bad news?
Do we have the rights to the data, code, and documentation so we can switch vendors, and what would it cost?
A good answer is specific: a name, a number, a date, a decision. A bad one sounds like “nothing major,” “we’ve already invested too much,” or “the system is robust.” Also ask the vendor how they will report bad news to you and whether they may escalate beyond your project manager.
Test
Is your project under control, or do you just have green reports?
Contracting authorities must have an internal whistleblowing system regardless of their number of employees (except municipalities with fewer than 10,000 inhabitants and small organizations of municipalities and regions); other employers must have one from 50 employees (Section 8). The law prohibits retaliation Act No. 171/2023 Coll.. It applies to unlawful conduct, not to bad project news in general.
Write the stop criteria into the project approval document. Political pressure for a quick launch recurs across these cases, and under it, criteria are hardest to negotiate.
Appendix
Step by step from A to Z
The whole project as a checklist, from the first idea to handover and operations. Check off what you have done.
Checklist
Step by step from A to Z
All the project steps in the order they come. Your browser remembers the items you check off, and each one links to the chapter with details.
0 of 39 done
Only this browser remembers what you tick (it is stored locally, like cookies). If you clear cookies and site data, use a private window, or switch devices, you start over.
Your browser does not allow storage right now (for example in a private window), so your ticks last only until you close the page.
Appendix
Templates
Texts and tables to copy or download and adapt for your organization. Each one is in the chapter that discusses it.
Technical terms from the guide explained without jargon.
18F
The US federal government’s digital team (2014–2025), author of a handbook on de-risking government IT contracts. The guide cites its Czech adaptation.Chapter 16: Process and your role
3E (effectiveness, economy, efficiency)
A principle for public money: it should meet the set goal, at the lowest cost for the given quality, and with the best ratio of results to resources spent.Chapter 05: Will it pay off?
8×5 and 24×7 (support hours)
Support 8 hours a day, 5 working days a week, or around the clock, 24 hours a day, 7 days a week. Nonstop support covers 4.2× more hours and costs considerably more.Chapter 21: Support and SLAs
Abnormally low price
A bid price that is suspiciously low for the subject of the contract. The contracting authority must ask for an explanation and may exclude the vendor.Chapter 09: Vendor selection
Above-threshold contract
A public contract above the EU financial threshold (for services for central government, from CZK 3,491,000 excluding VAT in 2026). It has the strictest rules and is also published EU-wide.Chapter 12: Public procurement
Abstraction layer
Your own piece of code between the system and a third-party service, such as an AI model. When you change provider, only this layer changes, not the whole system.Chapter 15: Technology
Acceptance
Formal acceptance of the work or a stage against criteria agreed in advance. Payment, the warranty, and liability for defects all run from it.Chapter 20: Acceptance and launch
Acceptance criterion
A verifiable condition, agreed in advance, under which a requirement counts as met. Acceptance is decided by it, not by impression.Chapter 14: Analysis and scope
Accessibility
Making a website or app usable by people with disabilities too, e.g., blind people using a screen reader or people who can use only a keyboard.Chapter 15: Technology
Accessibility statement
A mandatory document of a public authority under Act No. 99/2019 Coll. stating to what extent its website or app meets accessibility requirements and what does not yet.Chapter 20: Acceptance and launch
Additional work
Work beyond the agreed scope, paid separately. It should not be paid without a signed change order.Chapter 18: Scope changes
ADIS
The automated tax information system the Czech tax administration uses to administer taxes. IBM supplied it under a contract from 1992.Chapter 24: Vendor lock-in
ADR (Architecture Decision Record)
A short record of a technical decision: what was decided, why, and what the alternatives were. It saves a new vendor weeks of investigation.Chapter 15: Technology
Agile development
Development in short cycles (sprints), each ending with a piece of working software. The requirements are refined continuously based on feedback.Chapter 16: Process and your role
AI Act
EU Regulation 2024/1689 on artificial intelligence. It classifies AI systems by risk and imposes obligations mainly on high-risk ones; deadlines keep shifting.Chapter 15: Technology
AI agent
AI that carries out steps in other systems on its own: sends emails, writes to a database, places orders. The more permissions it has, the greater the risk.Chapter 03: A colleague with AI
AI literacy
An obligation under the AI Act to ensure that people who work with AI understand its capabilities, risks, and limitations.Chapter 03: A colleague with AI
Alpha, beta, and live
Phases of UK government service development: alpha tests solutions on prototypes, beta builds the real service for a limited and then wider group of users, live is full operation.Chapter 16: Process and your role
API (Application Programming Interface)
An interface through which systems communicate and exchange data without human intervention.Chapter 15: Technology
App signing keys
Digital keys used to sign a mobile app. Without them, you cannot release an update, so they should be held in your name.Chapter 15: Technology
Auditor General
The top auditor of the Canadian federal government, the counterpart of the head of the NKÚ. Audits how agencies manage money and reports to parliament.Chapter 25: The human factor
Automated tests
Tests that a computer runs instead of a person after every code change. They quickly reveal that a change broke something that used to work.Chapter 22: Maintenance, enhancements
Availability
The share of time the system works, as a percentage per month or year. Without a definition of an outage and a measurement method, it cannot be enforced.Chapter 21: Support and SLAs
AVZ (Public Procurement Association)
A professional association of contracting authorities and public procurement specialists. It published a methodology on how to prevent vendor lock-in and how to get out of it.Chapter 24: Vendor lock-in
AWS (Amazon Web Services)
Amazon’s public cloud, the largest cloud service provider in the world.Chapter 15: Technology
Azure
Microsoft’s public cloud: servers, databases, and other services rented over the internet.Chapter 15: Technology
Backlog
An ordered list of everything that needs to be done. The product owner decides the order; it also contains technical debt items.Chapter 16: Process and your role
Basic registers
The state’s central registers with basic data on people, companies, addresses, and the powers of authorities. Authorities should take data from them, not keep their own copies.Chapter 12: Public procurement
Best Value
A vendor selection method in which quality (team, risks, approach) carries more weight than price. Price usually gets 30%.Chapter 09: Vendor selection
Black swan
A rare event with an enormous impact. For IT projects, a budget overrun of more than 200%, which can threaten the whole organization.Chapter 01: Why it goes over budget
Body shop (staff augmentation)
Renting developers by the hour or day (staff augmentation). Management and responsibility for the result stay with you.Chapter 07: Vendor types
Boy Scout rule
The principle “leave the code a little better than you found it”: whoever touches a module tidies it up a bit along the way.Chapter 23: Technical debt
Budgetary discipline
The obligation to use public money according to the rules under which it was allocated. Breaches are found by audits and lead to repayment and penalties.Chapter 13: Common mistakes
Build
Assembling a runnable application from the source code using scripts. If only the vendor can do the build, you do not fully control the system.Chapter 20: Acceptance and launch
Burn-up chart
A chart in which the line of completed work rises toward the line of total scope. It shows the pace and whether the scope keeps growing along the way.Chapter 17: Meetings and oversight
Business analysis
A description of the organization’s processes, rules, and needs that the software requirements are based on. An analyst does it together with people from operations.Chapter 06: Brief, people, data
Business case
The basis for a decision: why do the project, what it will bring, how much it will cost, and what the risks are. It compares options, including doing nothing.Chapter 05: Will it pay off?
Business continuity
The ability to maintain or quickly restore important activities in a disaster or when a vendor fails. The Cybersecurity Act requires it in contracts too.Chapter 21: Support and SLAs
Buyer profile
The web address where a contracting authority publishes documents for its public contracts and the contracts concluded.Chapter 12: Public procurement
C# and .NET
Microsoft’s C# programming language and .NET development platform. Widespread in enterprise applications, with plenty of developers on the market.Chapter 15: Technology
Case law
Court decisions that have settled how a law is interpreted. Where it is missing, interpretation rests only on the views of legal literature.Chapter 11: Contract and license
Cassation complaint
An appeal to the Supreme Administrative Court against a regional court judgment in an administrative case, e.g., in a dispute with the ÚOHS.Chapter 24: Vendor lock-in
Category A, B, and C defects
Classifying defects by severity: A is critical (prevents acceptance), B is serious (can be worked around), C is minor. Acceptance limits belong in the contract.Chapter 20: Acceptance and launch
A purchasing approach in which one authority tenders common commodities (paper, energy, IT) for several authorities at once to get better prices.Chapter 02: Buy vs. build
Česko.Digital
A Czech nonprofit and volunteer community that helps the state and the nonprofit sector with digitalization.Chapter 10: Pricing models
Change control
An agreed procedure for how changes are submitted, priced, approved, and recorded. Worth having under every pricing model.Chapter 18: Scope changes
Change order
A document signed by both parties that approves a change, including its price and impact on the schedule. Without it, additional work is not paid.Chapter 18: Scope changes
Change request
A written request to change the scope, with a description, reason, and author. The vendor prices it, and someone with a mandate decides whether to accept it.Chapter 18: Scope changes
Claude Code
An AI tool from Anthropic that writes and edits code directly on the computer based on instructions in plain language.Chapter 03: A colleague with AI
Clickable prototype
A model of the application in which you can click through the screens, but without real logic and data. A cheap way to validate the design with users.Chapter 06: Brief, people, data
Cloud
Computing capacity and services rented over the internet from a provider (Microsoft, Amazon, Google…) instead of your own servers. You pay for what you use.Chapter 15: Technology
Cloud Computing Catalog
A list of cloud services and providers approved by the DIA for public administration. Authorities may use cloud for their systems only from this catalog.Chapter 15: Technology
Code review
A check of the code by another developer before a change is accepted. It catches errors and shortcuts the author does not see.Chapter 03: A colleague with AI
Collection of Deeds
The part of the Commercial Register where companies must file their financial statements and other documents. An unpublished financial statement is a red flag.Chapter 09: Vendor selection
Commercial Register (OR)
A public list of companies with their registered office, statutory representatives, shareholders, and history of changes. Extracts are free at justice.cz.Chapter 09: Vendor selection
Competitive dialogue
A procurement procedure for complex contracts where the authority knows the goal but not the solution: it first works it out with vendors, and only then do they submit bids.Chapter 12: Public procurement
Competitive procedure with negotiation
A procurement procedure in which the authority negotiates with bidders about their bids, and they can improve them. Suitable when the solution cannot be described precisely in advance.Chapter 12: Public procurement
Cone of uncertainty
A chart of how far a cost and time estimate can be off depending on the project phase: up to 4× either way in the idea phase, around 10% after detailed design.Chapter 01: Why it goes over budget
Container
A standard “box” with an application and everything it needs to run. It can run at different providers; the best-known tool is Docker.Chapter 15: Technology
Continuous integration (CI)
A server that builds the application and runs tests and scans on its own after every code change. Errors show up immediately, not at handover.Chapter 17: Meetings and oversight
Contract for work
A contract under which the vendor undertakes to create a work and the customer to pay for it. By itself, it does not include a software license.Chapter 11: Contract and license
Contract modification
In a public contract, any change to the contract after it has been signed. It is governed by Section 222 of ZZVZ; a substantial modification cannot be made without a new procurement procedure.Chapter 18: Scope changes
Contracting authority
The one who awards a public contract: a ministry, region, municipality, state-owned company, or other entity covered by ZZVZ.Chapter 12: Public procurement
Contractual penalty
An amount agreed in advance that a party pays for breaching the contract, e.g., per day of delay. A court can reduce a disproportionately high one.Chapter 19: When it goes wrong
Copyleft license
An open-source license (e.g., GPL) that requires derived software distributed further to be under the same license and with its code published.Chapter 11: Contract and license
Copyright Act
Czech Act No. 121/2000 Coll. It also protects computer programs as copyrighted works and determines who may use the code and how licenses are granted.Chapter 11: Contract and license
Court of Justice of the EU (CJEU)
The court of the European Union in Luxembourg. Its interpretation of EU law, including public procurement rules, is binding on the courts of the member states.Chapter 24: Vendor lock-in
CRA (Cyber Resilience Act)
EU Regulation 2024/2847 on cyber resilience: security requirements for products with digital elements placed on the EU market.Chapter 15: Technology
CRM (Customer Relationship Management)
A system for managing customers, sales opportunities, and communication with them.Chapter 02: Buy vs. build
CSV and JSON
Common open data formats: CSV is a table in a text file (even Excel opens it), JSON is structured data for exchange between systems.Chapter 14: Analysis and scope
Cybersecurity Act
Czech Act No. 264/2025 Coll., in force since November 1, 2025, which transposes the EU NIS2 Directive. It requires regulated organizations to take security measures and report incidents.Chapter 15: Technology
Cybersecurity manager
A role under the Cybersecurity Act responsible for managing security in the organization, including requirements for new systems.Chapter 14: Analysis and scope
Data Act
EU Regulation 2023/2854 on data. Among other things, it gives the right to switch to another cloud provider within set deadlines and abolishes switching fees.Chapter 24: Vendor lock-in
Data anonymization
Modifying data so that it is impossible to tell who it is about. You can safely show an anonymized sample to a vendor or use it for testing.Chapter 06: Brief, people, data
Data migration
Moving data from the old system to the new one, including cleanup and checks. The most commonly underestimated part of a project.Chapter 20: Acceptance and launch
Data model
A description of what data the system stores, how it is organized, and how it relates. Without it, the data is hard to move elsewhere.Chapter 24: Vendor lock-in
Data processing agreement (DPA)
A mandatory contract with a company that handles personal data for you (Article 28 GDPR): what it may do with the data, how it protects it, and when it deletes it.Chapter 07: Vendor types
Data protection officer (DPO)
The person who oversees GDPR compliance in an organization and advises on it. Public authorities and some companies must appoint one.Chapter 14: Analysis and scope
Datlab
Datlab Institute, a Czech analytical organization focused on public procurement. It measured the extent of vendor lock-in in government IT.Chapter 24: Vendor lock-in
Definition of Done
A shared agreement on when a task is really done: tested, documented, and deployable. Without it, “done” is just an opinion.Chapter 16: Process and your role
Delegated access
Access you grant the vendor to an account held in your name, which you can revoke at any time. The account and the data stay yours.Chapter 24: Vendor lock-in
Demo
A demonstration of a finished part of the running software at the end of a sprint, on your test environment, not in a slide deck.Chapter 17: Meetings and oversight
Deployment
Installing a new version of the system into production or a test environment. A well-run team deploys often and in small steps.Chapter 17: Meetings and oversight
Designated information system
A public administration system that uses the basic registers or provides services to them, is linked to them, or serves at least 5,000 users a year with a verified identity.Chapter 12: Public procurement
DIA (Digital and Information Agency)
The central authority for the digitalization of the Czech state. It manages eGovernment, reviews authorities’ IT projects through the OHA, runs the Cloud Computing Catalog, and issues methodologies.Chapter 12: Public procurement
DIA evaluation cards
DIA templates of quality criteria for public IT contracts with described scoring levels, e.g., for the quality of the delivery team.Chapter 09: Vendor selection
Discovery (initial analysis)
A short paid engagement at the start: it maps the problem, users, and risks, and delivers requirements, an estimate, and a prototype. It can also end with a decision not to build.Chapter 08: Approaching the market
Do-nothing option
A comparison scenario of what happens and what it costs if you do not do the project. Without it, every project looks like the only option.Chapter 05: Will it pay off?
Docker
The most widely used container tool: it packages an application with everything it needs so that it runs the same way anywhere.Chapter 15: Technology
DORA (DevOps Research and Assessment)
A long-term research program, now under Google, on what makes software development teams perform well. The metrics of deployment speed and stability are named after it.Chapter 17: Meetings and oversight
Economic rights (copyright)
The rights to use a work and to grant licenses to it. The author cannot transfer them; for an employee work, the employer exercises them, otherwise a license is needed.Chapter 11: Contract and license
Economic rights holder
Someone who exercises the economic rights instead of the author, e.g., the employer for an employee work. May use the work and grant licenses.Chapter 11: Contract and license
Effort breakdown
Breaking a proposal down into individual activities and roles with the number of person-days. It shows what the vendor has accounted for and what it left out.Chapter 08: Approaching the market
eGovernment
Electronic public administration: government services online and interconnected systems, so citizens do not have to carry papers from one office to another.Chapter 01: Why it goes over budget
Employee work
A work an employee creates as part of their job. The employer exercises the economic rights; under Section 58(7) of the Copyright Act, the same applies to a program commissioned directly from its author.Chapter 11: Contract and license
EN 301 549
The European accessibility standard for ICT products and services, which adopts the WCAG rules. Accessibility of public authorities’ websites and apps is assessed against it.Chapter 15: Technology
End of life (end of support)
The date after which the manufacturer stops issuing fixes and patches for a component or platform. Then you need to move to a new version.Chapter 22: Maintenance, enhancements
End-to-end test
A test of a whole process from the user’s point of view across all parts of the system, from input to result.Chapter 20: Acceptance and launch
ERP (Enterprise Resource Planning)
An enterprise system that handles accounting, warehousing, purchasing, production, and HR in one place.Chapter 02: Buy vs. build
Escalation
Passing a problem one level up when it is not resolved at a lower one: from the team to the product owner, to the steering committee, to senior management.Chapter 19: When it goes wrong
Escalation of commitment
The tendency to continue a bad project because a lot of money and reputation have gone into it, instead of deciding based on what it will still cost and bring.Chapter 25: The human factor
Estimated value
An estimate of the price of a public contract excluding VAT, set by the contracting authority in advance (Section 16 of ZZVZ), including options. It determines the threshold and thus the procedure.Chapter 12: Public procurement
Exclusive license
A license that the licensor may not grant to anyone else while it lasts and must itself refrain from using the work, unless agreed otherwise.Chapter 11: Contract and license
Exclusive rights
Rights held by only one vendor (typically copyright), so that no one else can perform. They justify a contract without competition only if the authority did not create them.Chapter 12: Public procurement
Exit package (handover package)
Everything another vendor needs to take over: code, build procedure, documentation, data, access, and licenses. It should be kept up to date and tested once a year.Chapter 24: Vendor lock-in
Exit plan (exit strategy)
An agreed procedure, deadlines, and price for handing the system over to another vendor. It belongs in the contract from the start, not only at the breakup.Chapter 11: Contract and license
Extreme urgency
A ground for a contract without competition when serious harm is imminent and the contracting authority neither caused the situation nor could foresee it. Urgency caused by its own inaction does not count.Chapter 12: Public procurement
Feature freeze
A stop on adding new features so that the team finishes work in progress and stabilizes the system.Chapter 19: When it goes wrong
Fixed monthly fee
A fixed monthly payment for agreed capacity or service, such as a certain number of person-days of support. Unused hours usually expire.Chapter 22: Maintenance, enhancements
Forensic audit
A detailed independent investigation of a project after problems, often as a basis for assigning responsibility.Chapter 19: When it goes wrong
Framework
A ready-made skeleton for building an application (e.g., Spring, .NET, Django, Laravel) that developers build on. It determines who else can develop the system further.Chapter 15: Technology
Framework agreement
A contract with one or more vendors that sets terms and prices for a certain period. Specific contracts are then ordered under it, with several vendors through a mini-competition.Chapter 10: Pricing models
Freelancer
A self-employed developer working alone or with a few colleagues. The entire risk rests on one person.Chapter 07: Vendor types
Gartner
A US research and advisory firm known for its overviews and recommendations for selecting and managing IT.Chapter 02: Buy vs. build
Gateway Review
A UK system of short independent project reviews at key points (Gate 0–5) that assess the level of confidence that the project will succeed.Chapter 25: The human factor
GDPR
The EU General Data Protection Regulation (2016/679). It sets out how companies and authorities may process personal data; violations carry high fines.Chapter 11: Contract and license
GDS (Government Digital Service)
The UK Government Digital Service. It sets standards for government digital services and their phases: discovery, alpha, beta, and live.Chapter 20: Acceptance and launch
GFŘ (General Financial Directorate)
The authority that manages the Czech tax offices and runs the tax information systems, including ADIS.Chapter 24: Vendor lock-in
Git
The most widely used version control system for code. It records every change with its author and date, so you can trace what changed and when.Chapter 24: Vendor lock-in
GitHub Copilot
An AI assistant for developers from GitHub (Microsoft) that completes and generates code as they write.Chapter 03: A colleague with AI
Given / When / Then
A format for an acceptance criterion: the initial state, the user’s action, and the expected result. The vendor can turn it directly into an automated test.Chapter 14: Analysis and scope
Go/no-go
A formal decision at a key point, typically just before launch: is the system ready (go) or not (no-go)? It is made against criteria set in advance.Chapter 20: Acceptance and launch
Google Cloud
Google’s public cloud: servers, databases, AI, and other services rented over the internet.Chapter 15: Technology
Groupthink
A cohesive group with a dominant leader suppresses dissent and reaches unanimity without real discussion.Chapter 25: The human factor
High-risk AI system
An AI Act category for AI that makes decisions about people, e.g., in hiring, education, lending, or access to public services. It carries strict obligations.Chapter 15: Technology
Hosting
Renting servers or space from a provider on which the application runs, including their operation.Chapter 04: True cost (TCO)
Hybrid model
A combination of a fixed framework (budget cap, stages with a decision on whether to continue) and agile development within the stages.Chapter 16: Process and your role
Hypercare
A period of increased support right after launch: a reinforced vendor team, shorter deadlines, and daily meetings on issues. It ends according to criteria set in advance.Chapter 20: Acceptance and launch
ICT
Information and communication technology: computers, software, networks, and telecommunications.Chapter 04: True cost (TCO)
Incident
An outage or error that keeps the system from working as it should. The goal is to restore operation as soon as possible, even with a temporary workaround.Chapter 21: Support and SLAs
Independent review
A critical, independent assessment of a plan or project by someone with no stake in its approval, with the aim of finding weak spots.Chapter 25: The human factor
Independent technical oversight
An independent expert or firm that continuously checks the technical quality and risks of the project on the customer’s behalf.Chapter 17: Meetings and oversight
Information asymmetry
A situation in which one party knows considerably more than the other, typically the vendor knowing more about the system’s flaws than the customer.Chapter 25: The human factor
Information strategy
A document in which a public authority sets out the goals and development plan for its information systems over several years (Decree No. 360/2023 Coll.). The Czech Republic has a national one too.Chapter 12: Public procurement
A public list of insolvency proceedings. It shows whether anyone has filed an insolvency petition against a company or its statutory representatives.Chapter 09: Vendor selection
IROP
Integrated Regional Operational Programme: an EU funding program managed by the MMR, which also finances the digitalization of public administration.Chapter 19: When it goes wrong
ISDŘ
The state register for long-term management of public administration information systems. Authorities record their systems in it and apply for OHA opinions.Chapter 12: Public procurement
ISO 27001 and ISO 9001
International standards: ISO/IEC 27001 for information security management, ISO 9001 for quality management. A certificate only makes sense if its scope covers development.Chapter 09: Vendor selection
ISVS (public administration information system)
An information system a public authority uses to carry out its agenda. Act No. 365/2000 Coll. sets obligations for it, e.g., cloud only from the catalog.Chapter 12: Public procurement
ISVZ (Public Procurement Information System)
The state system in which public contracts and their results are published, including the Public Procurement Journal. It is run by the MMR.Chapter 24: Vendor lock-in
Java
A widespread programming language for enterprise, banking, and government systems. There are many developers on the market.Chapter 15: Technology
JavaScript
The programming language of web browsers. It runs in every web application and, through Node.js, on servers too.Chapter 15: Technology
JŘBU (negotiated procedure without prior publication)
A contract without public competition: the authority approaches only a selected vendor. The law allows it only exceptionally, e.g., because of exclusive rights or extreme urgency.Chapter 12: Public procurement
Key person
A vendor person without whom the project cannot proceed, such as the architect or team lead. Named in the contract, replaceable only with your consent.Chapter 07: Vendor types
Key user
A person from operations who will use the system every day. Helps with the requirements, attends demos, and tests.Chapter 16: Process and your role
Kubernetes
A system for running and automatically managing many containers across multiple servers. For smaller systems it tends to be unnecessarily complex.Chapter 15: Technology
Legal succession
The transfer of a vendor’s rights and obligations to another company, e.g., in a merger or sale of the business. In a public contract, it is not a substantial modification.Chapter 18: Scope changes
Library (software)
A ready-made piece of someone else’s code that developers use instead of writing it themselves. It ages and needs updates like the rest of the system.Chapter 22: Maintenance, enhancements
License
Permission to use software to the agreed extent. It is not ownership: what you may do (modify it, hand it to another company, how long you may use it) is set by the license terms.Chapter 11: Contract and license
License assignment
Transferring a license or the exercise of economic rights to another person, for example when switching vendors. The license terms must allow it.Chapter 11: Contract and license
Licensee
The party that has received a license from the author or the rights holder, i.e., permission to use the work to the agreed extent.Chapter 11: Contract and license
Lifecycle
The whole period from acquisition through operation and further development to switching the system off. Costs should be assessed over this entire period.Chapter 04: True cost (TCO)
Line-of-business system
An information system in which a public authority runs a specific agenda (e.g., drivers or buildings) and which should take data from the basic registers.Chapter 12: Public procurement
Linear price scoring
Scoring the price with a simple formula based on its ratio to the other bids. According to the DIA, it leads to extreme bids winning.Chapter 09: Vendor selection
List of assumptions
What the vendor took for granted when calculating the price, for example that the data is clean. If an assumption does not hold, the price changes.Chapter 08: Approaching the market
Logs (event logs)
Records of who logged in when, what they changed, and what errors occurred. Without them, you cannot investigate an incident or prove what happened.Chapter 21: Support and SLAs
Low-code
A platform where applications are assembled from ready-made blocks with little programming. It is fast, but the application runs only on that platform and the license is paid continuously.Chapter 02: Buy vs. build
Lower and higher obligations regimes (cybersecurity)
Two levels of obligations under the Cybersecurity Act. The higher regime, e.g., for critical services, has stricter measures and stricter requirements for vendors.Chapter 21: Support and SLAs
Measure of a general nature
An act of a public authority that applies not to one person but to an indefinite group of addressees. NÚKIB can use it to restrict or ban supplies from certain vendors.Chapter 07: Vendor types
Median
The middle value: half of the values are lower, half higher. Unlike the average, a few extremes do not distort it.Chapter 04: True cost (TCO)
METR
A US nonprofit research organization that measures the capabilities of AI models and their impact on work, including developer speed.Chapter 03: A colleague with AI
MF (Ministry of Finance)
The Czech Ministry of Finance. It manages the state budget and the methodologies for financial control and public purchasing, and oversees the tax administration.Chapter 05: Will it pay off?
Microservices
An architecture in which the system consists of many small independent services communicating over a network. Suitable for many teams, but complex to operate.Chapter 15: Technology
Milestone
An agreed point in the schedule by which a certain part should be done. A payment or a contractual penalty is often tied to it.Chapter 10: Pricing models
Mini-competition
A quick competition among the vendors of a framework agreement for a specific contract. The DIA knowledge base calls it a “minitrh”.Chapter 10: Pricing models
The Czech Ministry of Regional Development. Responsible for the public procurement methodology and its information system, building permits, and the IROP funding program.Chapter 12: Public procurement
Modular monolith
A single application internally divided into modules with clear interfaces. Simple to operate, and it can be split later.Chapter 15: Technology
Monitoring
Automated checks of whether the system is running, how fast it responds, and whether it is running out of space or capacity, with alerts when there is a problem.Chapter 21: Support and SLAs
Monolith
An application as a single unit that is developed and deployed all at once. The simplest for smaller systems, but hard to change without internal structure.Chapter 15: Technology
MoSCoW
Sorting requirements by priority: Must (must have), Should (should have), Could (could have), and Won’t (not this time).Chapter 06: Brief, people, data
MPSV (Ministry of Labour and Social Affairs)
The Czech Ministry of Labour and Social Affairs; among other things, responsible for the systems that pay out social benefits.Chapter 13: Common mistakes
MV (Ministry of the Interior)
The Czech Ministry of the Interior. Among other things, it publishes the overview of typical ICT rates and is responsible for some state systems, e.g., the basic registers.Chapter 04: True cost (TCO)
MV overview of typical ICT rates
A regular analysis by the Ministry of the Interior of what public authorities pay for IT work by role under their contracts. Published twice a year.Chapter 04: True cost (TCO)
MVP (Minimum Viable Product)
The smallest version of the system that real users will actually use. It contains only the essential features; the rest comes in later stages.Chapter 14: Analysis and scope
The National Architecture Framework and Plan: rules on how state systems should fit together and share services. The OHA assesses whether a project complies with them.Chapter 12: Public procurement
Native app
A mobile app written separately for iOS and separately for Android. It can use all phone features, but means two codebases and double the cost.Chapter 15: Technology
Development in another country for lower rates: nearshore is close by (e.g., elsewhere in Europe), offshore is far away (e.g., in Asia). Saves on rates, adds management and communication.Chapter 07: Vendor types
Next.js
A framework built on React for websites and web applications that also handles the server side, fast loading, and search engines.Chapter 15: Technology
NFC (Near Field Communication)
Contactless transfer over a few centimeters that a phone uses, for example, to pay or to read the chip in an ID card.Chapter 15: Technology
NKÚ (Supreme Audit Office)
An independent constitutional body that audits how the Czech state manages money and property. It publishes its findings in audit conclusions.Chapter 13: Common mistakes
NKÚ audit conclusion (KZ)
A public NKÚ report on the result of an audit, labeled with the audit number, e.g., KZ 17/24.Chapter 13: Common mistakes
Non-functional requirements
How well the system should work: speed, availability, security, accessibility, backups. They should be stated in numbers and standards, not adjectives.Chapter 14: Analysis and scope
NSS (Supreme Administrative Court)
The highest court in administrative matters. Among other things, it decides cassation complaints in public procurement disputes with the ÚOHS.Chapter 24: Vendor lock-in
NÚKIB (National Cyber and Information Security Agency)
The Czech National Cyber and Information Security Agency. It supervises compliance with the Cybersecurity Act, issues warnings, and can restrict high-risk vendors.Chapter 07: Vendor types
Objections
A vendor’s formal challenge to the contracting authority’s procedure. Filed before a petition to the ÚOHS; until the authority decides on it, it may not sign the contract.Chapter 12: Public procurement
Off-the-shelf software (COTS)
A ready-made product that you buy and configure, the same for all customers (COTS). The opposite of custom development.Chapter 02: Buy vs. build
OHA (Office of the Chief Architect)
The Office of the Chief Architect of eGovernment at the DIA. It issues opinions on authorities’ IT projects and assesses their compliance with the national architecture.Chapter 12: Public procurement
Open data format
A publicly documented format (e.g., CSV, JSON, XML) that common tools can read without the original vendor’s software.Chapter 11: Contract and license
Open procedure
The most common type of procurement procedure: the contract is published and anyone can submit a bid. There is no negotiation on the bids.Chapter 12: Public procurement
Open source
Software with published source code that you may use, modify, and distribute free of charge under its license. The licenses do have conditions that must be followed.Chapter 11: Contract and license
Open standard
A publicly available specification of a format, protocol, or interface that anyone can use, so the solution cannot be locked to one manufacturer.Chapter 15: Technology
Open-weight model
An AI language model whose maker has published the trained parameters (weights). A company can run it on its own server. It is not necessarily open source; the license may have restrictions.Chapter 03: A colleague with AI
OpenAPI
A standard for describing APIs that any vendor and tool can work with. A documented interface shortens onboarding of a new team.Chapter 15: Technology
Operations documentation
A description of how to run the system: installation, backups, recovery, monitoring, contacts. For a designated information system, the administrator submits it to the DIA before launch.Chapter 20: Acceptance and launch
Option
A reserved right to order further deliveries, such as another stage. In a public contract, it must be in the tender documentation (Section 100 of ZZVZ) and in the estimated value.Chapter 10: Pricing models
Out of scope
An explicit list of what the project will not deliver. It is signed together with the specification and protects against disputes over additional work.Chapter 14: Analysis and scope
OutSystems and Mendix
Commercial low-code platforms for business applications. Their price lists are not public.Chapter 02: Buy vs. build
OWASP ASVS
Application Security Verification Standard: a catalog of verifiable security requirements for applications at three levels. It fits directly into a contract.Chapter 15: Technology
OWASP Top 10
A ranking of the ten most common security risks of web applications by the nonprofit OWASP; the latest edition is from 2025.Chapter 15: Technology
P1–P4 (incident priorities)
Incident severity levels from critical (P1, the system is down) to low (P4, cosmetic issue or question). The SLA deadlines follow the priority.Chapter 21: Support and SLAs
Parallel running
A period when both the old and the new system run and are paid for at the same time. Without a date for switching off the old one, it becomes a hidden permanent cost.Chapter 04: True cost (TCO)
Payment per accepted increment
The vendor invoices only finished parts (increments) that you have tested and accepted according to the agreed Definition of Done.Chapter 10: Pricing models
Penetration test (pentest)
A controlled attempt by experts to break into the system like an attacker, so holes are found before a real attack. It should be done by a third party, not the system’s author.Chapter 20: Acceptance and launch
Percentage point
The difference between two percentages: going from 30% to 50% is an increase of 20 percentage points, but of 67%.Chapter 17: Meetings and oversight
Performance test
Verifying that the system can handle the planned number of users and responds fast enough. A load test looks for where it breaks.Chapter 20: Acceptance and launch
Person-day
One day of work by one person, usually 8 hours. The basic unit of estimates and prices in IT.Chapter 04: True cost (TCO)
Peter principle
People tend to be promoted based on their performance in their current role until they reach a role they cannot handle well.Chapter 25: The human factor
PHP
A programming language for web applications and online stores. A large share of websites run on it, e.g., the WordPress content management system.Chapter 15: Technology
Pilot
A live rollout on a limited sample, such as one workplace, before everyone gets the system. Errors show up with little impact.Chapter 20: Acceptance and launch
Planned downtime
A shutdown of the system announced in advance for maintenance. The contract should say whether it counts toward availability.Chapter 21: Support and SLAs
PMI (Project Management Institute)
An international professional organization of project managers. It publishes project management standards and surveys of project success.Chapter 14: Analysis and scope
PostgreSQL
A widespread open-source database for business systems, with no license fees and a large community.Chapter 15: Technology
Power Apps
Microsoft’s low-code tool connected to Microsoft 365. The Premium license is paid per user per month.Chapter 02: Buy vs. build
Preliminary market consultation (PTK)
Non-binding consultation of the market before a public contract (Section 33 of ZZVZ) so the authority can better set the requirements, qualification, and schedule. It must report the results in the documentation.Chapter 12: Public procurement
Premortem
A meeting at which the team imagines the project has already failed and writes down why. Risks get named before they happen.Chapter 25: The human factor
Procurement procedure
The formal procedure under ZZVZ by which a public authority selects a vendor: from launch through submission and evaluation of bids to signing the contract.Chapter 12: Public procurement
Product owner
Your person with the mandate to decide priorities, answer questions, and accept finished parts. The most common brake on a project is when they do not have time for it.Chapter 16: Process and your role
Production (live operation)
The system on which the company’s or authority’s work actually runs, with real data and users. The opposite of a test environment.Chapter 03: A colleague with AI
Project sponsor
A senior manager who pushed the project through, holds its budget, and is accountable for its benefits. Usually chairs the steering committee.Chapter 05: Will it pay off?
Prompt injection
An attack in which someone slips the AI their own instructions, e.g., hidden in a document or email, to make it do something it should not.Chapter 03: A colleague with AI
Proprietary
Closed and owned by a single manufacturer, without public code or a standard. Proprietary services and components are hard to take over or replace.Chapter 24: Vendor lock-in
Pseudonymization
Replacing names and other identifiers with codes that can be traced back using additional information. Unlike anonymization, under GDPR this is still personal data.Chapter 03: A colleague with AI
Psychological safety
A shared belief that in the team it is safe to admit a mistake, ask a question, or say something unpleasant without punishment.Chapter 25: The human factor
PWA (Progressive Web App)
A website that behaves like an app on a phone (icon, notifications, offline work) but does not need an app store.Chapter 15: Technology
Python
A widespread programming language, popular for data analysis, AI, automation, and web applications.Chapter 15: Technology
Qualification requirements (public procurement)
Conditions a vendor must meet to take part in a public contract: experience, turnover, experts. They must be proportionate to the subject of the contract.Chapter 07: Vendor types
Quartile
The value below which a quarter of the values lie (lower quartile), or three quarters (upper quartile). Between them lies the “typical” half of the market.Chapter 04: True cost (TCO)
Randomized controlled trial
An experiment in which chance decides how participants are assigned to groups (e.g., with AI and without AI). The results are therefore less distorted by the choice of people.Chapter 03: A colleague with AI
React
A library from Meta for building the user interface of web applications, now one of the most widely used.Chapter 15: Technology
Records management system
A system for registering, routing, and archiving documents. Public authorities must have one under the Czech Archives and Records Management Act.Chapter 02: Buy vs. build
Refactoring
Changing the internal structure of code without changing its behavior, so that it is easier and cheaper to work with.Chapter 23: Technical debt
Reference class forecasting
Estimating based on a group of comparable completed projects: you adjust your own plan according to how similar projects turned out, not according to your own optimism.Chapter 25: The human factor
Register of beneficial owners
A register of the people who actually own or control a company. Since December 17, 2025, it has not been publicly accessible; ask the vendor for an extract.Chapter 09: Vendor selection
Register of Contracts
The public register of public sector contracts (Act No. 340/2015 Coll.). A contract over CZK 50,000 excluding VAT takes effect only once published; otherwise it is canceled after 3 months.Chapter 11: Contract and license
Regulated entity
A company or public authority that provides a regulated service and must comply with the Cybersecurity Act, under the lower or higher regime.Chapter 15: Technology
Regulated service
A service that brings an organization under the Cybersecurity Act. The criteria are set by an implementing decree.Chapter 07: Vendor types
Repository
Storage for source code with the complete history of changes: who changed what and when. Usually runs on Git.Chapter 17: Meetings and oversight
Reserved change (review clause)
A contract change that the authority described clearly in advance in the tender documentation (Section 100 of ZZVZ), so it may later use it without a new tender.Chapter 18: Scope changes
Response time
How long it takes the vendor to acknowledge a ticket and start working on it. It says nothing about when the system will work again.Chapter 21: Support and SLAs
Responsible authority
The authority or unit responsible for a particular area, such as the law the system is supposed to implement.Chapter 16: Process and your role
Retention
Part of the price that the customer withholds until the end of the warranty or another period as security that the vendor will fix defects.Chapter 20: Acceptance and launch
RFI (Request for Information)
A request for information: you ask the market, without obligation, how it would solve your problem, what ready-made options exist, and roughly what it would cost.Chapter 08: Approaching the market
A list of project risks with probability, impact, mitigation, and owner. It should be reviewed regularly by the steering committee.Chapter 17: Meetings and oversight
Roadmap
A plan for the system’s further development over 12–24 months: which features and changes will come and in what order, based on their benefit.Chapter 22: Maintenance, enhancements
Rollback
Returning the system to its previous working state when a deployment or migration fails. It should be prepared and tested in advance.Chapter 20: Acceptance and launch
RPO (Recovery Point Objective)
How much data you can afford to lose in a disaster, expressed in time, e.g., the last hour of work. It determines how often backups must run.Chapter 21: Support and SLAs
Software as a service: you rent the application over the internet, the manufacturer runs and updates it, and you pay a subscription.Chapter 02: Buy vs. build
SAP
A German maker of enterprise systems (ERP) for accounting, logistics, production, and HR, one of the largest in the world.Chapter 02: Buy vs. build
SBOM (Software Bill of Materials)
A list of all components of the system, their versions, and licenses. It helps track vulnerabilities, end-of-life dates, and license risks.Chapter 15: Technology
Scope creep
Gradual, creeping growth of scope: requirements are added bit by bit, verbally and without a price, until there is a whole stage nobody ordered.Chapter 18: Scope changes
Screen reader
A program that reads the screen content aloud to blind users or converts it to Braille.Chapter 15: Technology
An automated check of the code, the libraries used, and the running application for known vulnerabilities. It typically runs with every build.Chapter 20: Acceptance and launch
Seniority
A developer’s level of experience (junior, mid-level, senior). A senior with a higher rate often costs less overall, needing less time and making fewer mistakes.Chapter 04: True cost (TCO)
Shadowing
A way of handing over knowledge: the new team works alongside the original one and watches how it runs and changes the system before taking over responsibility.Chapter 24: Vendor lock-in
Significant supplier
Under the Cybersecurity Act, a vendor whose performance affects the security of a regulated service. The contract with it has mandatory content.Chapter 07: Vendor types
Simplified below-threshold procedure
A simpler type of procurement procedure for contracts between the small-scale limit and the above-threshold limit, with shorter deadlines.Chapter 12: Public procurement
SLA (Service Level Agreement)
An agreement on service levels: it states in numbers how quickly and how well the vendor will help, and what it will pay if it does not deliver in time.Chapter 21: Support and SLAs
Sound financial management
A principle of Act No. 231/2025 Coll., on Management and Control of Public Finances (from January 1, 2027): handle public money effectively, economically, and efficiently.Chapter 05: Will it pay off?
Source code
A program in readable form, as developers write it. Only with it can the system be modified and rebuilt.Chapter 11: Contract and license
Source code escrow
Depositing the source code with a third party that releases it if the vendor goes bankrupt or fails to perform for a long time. It does not solve vendor dependency by itself.Chapter 24: Vendor lock-in
Spring Boot
A widespread framework for the Java language used to build the server side of enterprise applications.Chapter 15: Technology
The last test environment, as close to production as possible, where a new version is verified just before deployment.Chapter 17: Meetings and oversight
State organizational unit
A ministry or other state authority without its own legal personality that manages assets on behalf of the state (Act No. 219/2000 Coll.).Chapter 19: When it goes wrong
Static code analysis
An automated check of code without running it: it looks for complexity, duplication, suspicious spots, and rule violations.Chapter 23: Technical debt
Statutory representative
A person on a company’s statutory body, e.g., a managing director or board member, who acts and signs on its behalf.Chapter 09: Vendor selection
Steering committee
A regular meeting of the customer’s and vendor’s management. It decides on the budget, changes, escalations, and whether the project continues.Chapter 17: Meetings and oversight
Stop criteria
Conditions agreed in advance under which the project is stopped, scaled down, or sent back for approval. They are written at the start, not in a crisis.Chapter 19: When it goes wrong
Strangler fig (incremental replacement)
Gradual replacement of an old system: the new one takes over function by function until the old one can be switched off. Named after the fig that gradually overgrows a tree.Chapter 23: Technical debt
Sub-processor
A company to which your personal data processor passes part of the work with the data, e.g., cloud or hosting. It may be engaged only with your consent.Chapter 11: Contract and license
Sublicense
The licensee’s right to pass the authorization on, for example to another vendor that will develop the system further. Without an explicit clause, you do not have it.Chapter 11: Contract and license
Sunk costs
Money already spent that will not come back, whether or not you finish the project. It should play no role in deciding whether to continue.Chapter 25: The human factor
Super user
A trained colleague at the workplace who helps others with the system and collects their problems for the vendor.Chapter 20: Acceptance and launch
Support hours
The hours during which the vendor accepts and handles tickets. SLA deadlines run only within them; time outside them does not count.Chapter 21: Support and SLAs
Systems integrator
A large IT company that delivers extensive systems and connects them to others, often using its own and third-party products.Chapter 07: Vendor types
Total cost of ownership: everything you pay for a system over its entire life, not just the development price.Chapter 04: True cost (TCO)
Team velocity
How much work the team actually completes per sprint. Deadline estimates should be based on it, not on the original plan.Chapter 17: Meetings and oversight
Technical debt
Shortcuts and postponed cleanup in the code that save time today but make every further change more expensive, like interest on a loan.Chapter 23: Technical debt
Tender documentation
The set of conditions of a public contract: requirements, qualification, evaluation criteria, and the draft contract. What is missing from it is hard to add later.Chapter 12: Public procurement
Test coverage
What share of the code actually runs and is verified by automated tests. It does not guarantee quality by itself, but its trend is worth tracking.Chapter 23: Technical debt
Test environment
A separate copy of the system outside production where a new version is shown and tested without risk to real data.Chapter 17: Meetings and oversight
Thoughtworks
An international software and consulting company that regularly publishes the Technology Radar with recommendations on which technologies to use and which to avoid.Chapter 15: Technology
Time and materials (T&M)
Payment for the time actually worked at agreed rates. The customer bears most of the risk, so agree on it with a cap and a monthly report of hours used.Chapter 10: Pricing models
Trial sprint
A short paid engagement (1–2 weeks) in which the finalists of a selection show their work on your real requirements.Chapter 09: Vendor selection
Two-envelope method
An evaluation in which quality is scored first and the price proposals are opened only afterward, so they do not influence the evaluators.Chapter 09: Vendor selection
TypeScript
Microsoft’s extension of JavaScript with data types that help catch errors earlier. Common in larger web applications.Chapter 15: Technology
UAT (user acceptance testing)
User acceptance testing: your key users verify on real scenarios and data that the system can actually be used for work.Chapter 20: Acceptance and launch
Unit and integration tests
Developers’ automated tests: unit tests check small pieces of code, integration tests check how they work together and connect to the database or other systems.Chapter 20: Acceptance and launch
ÚOHS (Office for the Protection of Competition)
Supervises public procurement: decides on vendors’ petitions, can cancel a tender, prohibit performance of a contract, and impose a fine.Chapter 12: Public procurement
User story
A short description of a need in the form “As a [role], I want [what] so that [why].” The basic unit of requirements in agile development.Chapter 14: Analysis and scope
Utilities contracting entity
A contracting entity operating in sectors such as energy, water, or transport. It has higher financial thresholds for its contracts.Chapter 12: Public procurement
Vendor lock-in
Dependency on a single vendor that you cannot leave without disproportionate cost. It arises mainly in the contract, license, documentation, and data.Chapter 24: Vendor lock-in
Verified electronic identity
A verified electronic identity of a person (e.g., an electronic ID card, bank identity, or mobile key) used to log in to online government services.Chapter 12: Public procurement
Vibe coding
Building an application by describing to an AI in plain language what you want while it writes the code. Possible even without programming skills, but a layperson will not spot an error in the code.Chapter 03: A colleague with AI
A contract for supplies and services up to CZK 3 million excluding VAT. It need not go through a procurement procedure under ZZVZ, but the principles of transparency and equal treatment apply.Chapter 12: Public procurement
Warranty
The vendor’s promise that the work will be free of defects for a certain period; defects during it are fixed free of charge. It does not cover new features or upgrades to new platform versions.Chapter 20: Acceptance and launch
Waterfall
An approach in which everything is first specified, then built, and finally handed over. Problems often surface only at acceptance.Chapter 16: Process and your role
Watermelon report
A report that is green on the outside and red inside: the traffic light says everything is fine even though the project has serious problems.Chapter 17: Meetings and oversight
WCAG (Web Content Accessibility Guidelines)
International web accessibility guidelines. The common requirement is level AA; the current version is 2.2.Chapter 15: Technology
Whistleblower protection
Act No. 171/2023 Coll. protects people who report wrongdoing in a company or public authority from retaliation. Organizations must have an internal reporting system.Chapter 25: The human factor
Work made for hire
A concept of US copyright law: a commissioned work or one created by an employee belongs directly to the commissioning party. Czech law does not work this way; a license must be agreed.Chapter 11: Contract and license
ZZVZ (Public Procurement Act)
Czech Act No. 134/2016 Coll. It sets out how public authorities and other contracting authorities must tender for vendors; the ÚOHS supervises it.Chapter 12: Public procurement
No such term in the glossary yet.
Appendix
Frequently asked questions
How much does custom software development cost?
The contract price is only part of the cost. Calculate the total cost of ownership over 5 years: development, data migration, licenses, hosting, your people’s time, and operations. As a rule of thumb, plan 10–20% of the purchase price per year for operations and maintenance, with further development budgeted separately. Median rates in government contracts in 2026 are around CZK 9,000–14,000 per person-day excluding VAT. Details in chapter 4.
How long does it take to develop an application?
It depends on the scope, but as a rule of thumb, just approaching the market takes a company 2.5–6 months, and a public contract takes months to a year. Split a large project into stages of up to about 3 months, each with a go/no-go decision: each additional year of duration increases cost overruns on large IT projects by 15%. Details in chapters 8, 10, and 12.
Who owns the source code when I have software developed?
Software you paid for is not automatically yours. When a company delivers it, the prevailing interpretation is that you need an explicit license, ideally an exclusive one, with the right to have it modified by another company, to sublicense, and to assign the license. Ask for the code in your own repository after every sprint, and have an exit plan with a price in the contract. Details in chapter 11.
Fixed price or time and materials?
A fixed price suits small, well-described contracts; with an unclear brief, you pay for it through a markup or additional work. Time and materials without a cap is an open-ended budget. For a new system, a combination works well: a fixed cap, short stages with a go/no-go decision, and within them payment for time worked or per accepted increment. Details in chapter 10.
What is an SLA and what should it include?
An SLA is a service level agreement: it states in numbers how quickly the vendor will help when the system does not work, and what they will pay if they do not make it in time. For each priority, ask for three time limits (response, restoration, resolution), the support hours, a precise definition and measurement of availability, tiered penalties, and a monthly report. Details in chapter 21.
How do you choose a software vendor?
Quality should carry at least 50–70% of the weight in the evaluation, and you should evaluate the team that will actually do the work, not the salespeople. Check references yourself by phone, check the company in public registers, and try a paid trial sprint with the finalists. Choose the type of vendor based on how much management you can handle yourself. Details in chapters 7 and 9.
Is it better to buy off-the-shelf software or have your own developed?
Do not build accounting, payroll, or a standard CRM: off-the-shelf is cheaper, and the vendor keeps track of legislation and security for you. Custom development makes sense where the process is your competitive advantage or where nothing off the shelf exists. Compare the total cost over 5 years, not the license against the contract price. Details in chapter 2.
What should you do when the vendor is falling behind?
React within 2 weeks to a red flag, such as a repeated “90% done” or 4–6 weeks with nothing new to deploy. Escalate step by step: stop expanding the scope, commission an independent audit, re-plan with a smaller scope, and only then turn to contractual penalties, stopping the project, or switching vendors. Details in chapter 19.
Do I need an OHA opinion?
Yes, if a public authority is acquiring a designated information system or making architectural changes to one, regardless of the contract price. A system is designated if it uses the basic registers or provides services to them, is linked to them, or serves at least 5,000 users a year with a verified electronic identity. Submit the request before the contract is announced; the opinion usually comes within 30 days. Details in chapter 12.
How do you avoid dependency on a single vendor (vendor lock-in)?
Dependency arises mainly in the contract, not in the technology. Ask for a license with the right to have the software modified by another company, the code and documentation in your own repository on an ongoing basis, free data export in an open format, and accounts held in your name. Test the exit package once a year; source code escrow is only insurance against the vendor’s insolvency. Details in chapter 24.
How much does software maintenance cost per year?
As a rule of thumb, plan 10–20% of the purchase price per year for operations and maintenance, and that is without new features. Maintenance accounts for 40–80% of all costs over the software’s lifecycle, and most of it is enhancements, not fixes. A support proposal well below 10% that does not describe what it includes is probably leaving something out. Details in chapter 22.
Appendix
Sources
The figures and cases in the guide have sources. Here they all are in one place, with links to the originals.
GDS, beta phaseHow the beta phase works (opens in a new window)Government Digital Service, UK government, 2026beta has two stages, private and public; a service moves to public beta and to live only after an assessment
Keil et al., 2014The Pitfalls of Project Status Reporting (opens in a new window)MIT Sloan Management Review (M. Keil, H. J. Smith, C. L. Iacovou, R. L. Thompson), 2014summary of 14 studies on withholding bad news (the mum effect) and refusing to hear it (the deaf effect)