---
title: "Software development guide"
canonical: https://wavect.io/software-development-guide/
language: en
description: "This guide answers the questions founders actually ask before they build: what to build, what it costs, who should build it, and what tends to go wrong. It is …"
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

Software build guide

# The software build decision, end to end

This guide answers the questions founders actually ask before they build: what to build, what it costs, who should build it, and what tends to go wrong. It is written by the people who ship the code, not a marketing team. The goal is fewer expensive surprises and less agency theatre.

11 guides

56 questions answered

4 languages

> “Honest buyer guides, not landing pages dressed as advice.”

// 01

## What this guide is for

Building software is a series of decisions, and the costly mistakes happen early, before a line of code exists. These guides walk each decision in plain English: budget, build model, stack, process, and handover. No fluff, no listicles, just how we would think it through if it were our money.

Need to choose a delivery model before opening a guide? [Compare software development options](/software-development-options/).

// 02

## Eleven guides, grouped by what you are deciding

### [Software development cost in Austria](/software-development-guide/software-development-cost-austria/)

What custom software really costs in Austria and where the budget actually goes.

### [How to choose a software agency](/software-development-guide/how-to-choose-a-software-agency/)

How to tell a delivery partner from a sales operation before you sign.

### [Freelancer vs agency vs in-house](/software-development-guide/freelancer-vs-agency-vs-in-house/)

Which build model fits your stage, budget, and risk, and which one to avoid.

### [Fixed price vs time and materials](/software-development-guide/fixed-price-vs-time-and-materials/)

When a fixed-price Werkvertrag wins and when a weekly retainer serves you better.

### [Choosing a tech stack for an MVP](/software-development-guide/how-to-choose-a-tech-stack-for-mvp/)

Why boring, hireable tech beats novelty for almost every MVP build.

### [Custom software vs off-the-shelf](/software-development-guide/custom-software-vs-off-the-shelf/)

Why most companies should buy, and the decision math for when building is worth it.

### [What is a Discovery phase](/software-development-guide/what-is-a-discovery-phase/)

What a Discovery phase delivers and why it saves money before the build starts.

### [Software handover checklist](/software-development-guide/software-handover-checklist/)

What a clean handover includes so you are never locked to one vendor.

### [QA checklist before launch](/software-development-guide/software-qa-checklist-before-launch/)

The checks that separate a production-ready product from a demo that breaks.

### [Vibe-coded prototype to production](/software-development-guide/vibe-coded-prototype-to-production/)

How to harden an AI-generated prototype for real users without starting over.

### [The software development process](/software-development-guide/software-development-process/)

What happens week by week from the first call to a complete handover.

// 03

## What these guides are not

- Not lead-gen fluff dressed up as advice. We tell you when we are not the right fit.
- Not generic listicles scraped from the web. These come from 75+ shipped products.
- Not written by a marketing team. The people who ship the code wrote them.
- Not a sales funnel. If a guide says do not build it yet, that is the honest answer.

// 04

## FAQs

### Who is this software build guide for?

Founders and operators deciding whether to build, what it will cost, and who should build it. It assumes you want straight answers, not a sales pitch. If you already have a mature engineering team and a clear plan, you probably do not need it.

### Is this guide selling me something?

We are a software agency, so yes, we do this work. But the guides are written to help you decide well even if that decision is not to hire us. Each one is honest about when Wavect is the wrong fit.

### How current and trustworthy is this?

Each guide is reviewed and dated, and the facts come from products we have actually shipped from Tyrol, Austria, since 2018. Where a number is not something we can stand behind, we leave it out rather than invent it.

### Where should I start?

If you do not know the scope yet, start with the Discovery phase guide. If you know what you want but not how to build it, start with the build-model and cost guides. A short Discovery sprint, from EUR 3,500, settles most of it fast.

## Still deciding how to build?

The cheapest way to avoid an expensive build mistake is a few weeks of clear thinking before you commit. That is what a Discovery phase is for.

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/software-development-guide/#webpage",
      "@type": [
        "WebPage",
        "CollectionPage"
      ],
      "about": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "author": {
        "@id": "https://wavect.io/team/kevin-riedl/#person",
        "@type": "Person",
        "name": "Kevin Riedl",
        "url": "https://wavect.io/team/kevin-riedl/"
      },
      "dateModified": "2026-06-26",
      "description": "This guide answers the questions founders actually ask before they build: what to build, what it costs, who should build it, and what tends to go wrong. It is written by the people who ship the code, not a marketing team. The goal is fewer expensive surprises and less agency theatre.",
      "hasPart": [
        {
          "@id": "https://wavect.io/software-development-guide/software-development-cost-austria/#webpage",
          "@type": "WebPage",
          "headline": "How much does custom software cost in Austria?",
          "name": "How much does custom software cost in Austria?",
          "url": "https://wavect.io/software-development-guide/software-development-cost-austria/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/how-to-choose-a-software-agency/#webpage",
          "@type": "WebPage",
          "headline": "How to choose a software development agency",
          "name": "How to choose a software development agency",
          "url": "https://wavect.io/software-development-guide/how-to-choose-a-software-agency/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/freelancer-vs-agency-vs-in-house/#webpage",
          "@type": "WebPage",
          "headline": "Freelancer vs agency vs in-house developer: which should you choose?",
          "name": "Freelancer vs agency vs in-house developer: which should you choose?",
          "url": "https://wavect.io/software-development-guide/freelancer-vs-agency-vs-in-house/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/fixed-price-vs-time-and-materials/#webpage",
          "@type": "WebPage",
          "headline": "Fixed price vs time and materials: which contract fits your software project?",
          "name": "Fixed price vs time and materials: which contract fits your software project?",
          "url": "https://wavect.io/software-development-guide/fixed-price-vs-time-and-materials/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/how-to-choose-a-tech-stack-for-mvp/#webpage",
          "@type": "WebPage",
          "headline": "How to choose a tech stack for an MVP",
          "name": "How to choose a tech stack for an MVP",
          "url": "https://wavect.io/software-development-guide/how-to-choose-a-tech-stack-for-mvp/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/what-is-a-discovery-phase/#webpage",
          "@type": "WebPage",
          "headline": "What is a software discovery phase and why does it come before code?",
          "name": "What is a software discovery phase and why does it come before code?",
          "url": "https://wavect.io/software-development-guide/what-is-a-discovery-phase/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/software-handover-checklist/#webpage",
          "@type": "WebPage",
          "headline": "Software handover checklist: what you should receive when a build ends",
          "name": "Software handover checklist: what you should receive when a build ends",
          "url": "https://wavect.io/software-development-guide/software-handover-checklist/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/software-qa-checklist-before-launch/#webpage",
          "@type": "WebPage",
          "headline": "Software QA checklist before launch",
          "name": "Software QA checklist before launch",
          "url": "https://wavect.io/software-development-guide/software-qa-checklist-before-launch/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/vibe-coded-prototype-to-production/#webpage",
          "@type": "WebPage",
          "headline": "How to take a vibe-coded prototype to production",
          "name": "How to take a vibe-coded prototype to production",
          "url": "https://wavect.io/software-development-guide/vibe-coded-prototype-to-production/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/custom-software-vs-off-the-shelf/#webpage",
          "@type": "WebPage",
          "headline": "Custom software vs off-the-shelf: should you build or buy?",
          "name": "Custom software vs off-the-shelf: should you build or buy?",
          "url": "https://wavect.io/software-development-guide/custom-software-vs-off-the-shelf/"
        },
        {
          "@id": "https://wavect.io/software-development-guide/software-development-process/#webpage",
          "@type": "WebPage",
          "headline": "The software development process, week by week",
          "name": "The software development process, week by week",
          "url": "https://wavect.io/software-development-guide/software-development-process/"
        }
      ],
      "headline": "The software build decision, end to end",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-06-26",
      "name": "The software build decision, end to end",
      "reviewedBy": {
        "@id": "https://wavect.io/team/christof-jori/#person",
        "@type": "Person",
        "name": "Christof Jori",
        "url": "https://wavect.io/team/christof-jori/"
      },
      "speakable": {
        "@type": "SpeakableSpecification",
        "cssSelector": [
          ".cmp-hero__headline",
          ".cmp-hero__lead"
        ]
      },
      "url": "https://wavect.io/software-development-guide/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/software-development-guide/",
          "name": "Software development guide",
          "position": 2
        }
      ]
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Founders and operators deciding whether to build, what it will cost, and who should build it. It assumes you want straight answers, not a sales pitch. If you already have a mature engineering team and a clear plan, you probably do not need it."
      },
      "name": "Who is this software build guide for?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "We are a software agency, so yes, we do this work. But the guides are written to help you decide well even if that decision is not to hire us. Each one is honest about when Wavect is the wrong fit."
      },
      "name": "Is this guide selling me something?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Each guide is reviewed and dated, and the facts come from products we have actually shipped from Tyrol, Austria, since 2018. Where a number is not something we can stand behind, we leave it out rather than invent it."
      },
      "name": "How current and trustworthy is this?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "If you do not know the scope yet, start with the Discovery phase guide. If you know what you want but not how to build it, start with the build-model and cost guides. A short Discovery sprint, from EUR 3,500, settles most of it fast."
      },
      "name": "Where should I start?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
