{"id":968,"date":"2026-10-02T14:55:27","date_gmt":"2026-10-02T12:55:27","guid":{"rendered":"https:\/\/yindle.com\/maatwerksoftware-eerste-versie-afbakenen\/"},"modified":"2026-10-02T15:00:13","modified_gmt":"2026-10-02T13:00:13","slug":"maatwerksoftware-eerste-versie-afbakenen","status":"publish","type":"post","link":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/","title":{"rendered":"Building custom software: how to scope a useful first version"},"content":{"rendered":"<p>A dedicated application often starts with a long wish list: planning, customer information, documents, reporting and integrations all need improvement. The list is useful, but it is not yet a development brief. A useful first version covers one complete workflow that someone can actually use. This could be an internal tool, customer workspace, configurator or standalone web application.<\/p>\n<h2>Start with a user and a decision<\/h2>\n<p>Describe who uses the application, what they need to complete and which information they need. \u201cA dashboard\u201d is too broad. \u201cA planner sees which requests are complete and assigns them to an available team member\u201d makes the feature testable. Also specify who may view, change and approve information. A customer workspace needs different access from an internal tool.<\/p>\n<h2>Choose a complete workflow, including exceptions<\/h2>\n<p>Map the workflow from input to outcome. What starts it? Which checks happen? Which system stores the definitive status? Who receives a task when information is missing? A first version does not need to serve every department, but the selected workflow needs a clear end. Building only a form merely moves the work if follow-up remains unclear.<\/p>\n<p>Include the most likely exceptions from the start: a missing document, duplicate request, rejected approval or temporarily unavailable system. Define what the user sees and how processing can continue. Less common variants can wait, provided the team has a clear interim way to handle them.<\/p>\n<h2>Illustrative example: scheduling a request<\/h2>\n<p>Imagine a service company receives requests by email and keeps its schedule in a separate system. A scoped first version could include a request form, a planner overview, checks for missing information and an approved transfer to the scheduling system. Customers see only their own request and status. This is a design example, not a delivered client case or a promise about a particular system.<\/p>\n<p>A mobile app, automated capacity forecasting and extensive management reports remain outside this initial release. Record these decisions alongside the features that will be built. The team can then judge whether the first workflow is useful without every later idea immediately becoming part of the project.<\/p>\n<h2>Check data and integrations before setting the schedule<\/h2>\n<p>Identify where data comes from and who owns it. Are customer identifiers stable? Is the required API available? Can you test without processing real requests? Which permissions and limits apply? If access or documentation is missing, investigating it belongs in the first step. Basing a schedule on an unproven integration creates avoidable uncertainty.<\/p>\n<h2>Make acceptance concrete<\/h2>\n<p>Use scenarios the team can carry out: submit a complete request, correct a missing field, reject an approval and retry a failed transfer. Agree which data and statuses should then be visible. Include access rights, error messages and use on a small screen. \u201cIt works\u201d is meaningful only when you specify for whom, under which conditions and with which outcome.<\/p>\n<h2>Agree maintenance and expansion separately<\/h2>\n<p>Development costs are separate from agreements on hosting, maintenance and support. Specify who detects incidents, performs updates, checks backups and reviews changes. Also agree how code, configuration and documentation can be handed over. After the first release, users can help decide which expansion adds the most value; the original wish list remains a useful reference.<\/p>\n<p><a href=\"\/en\/custom-vs-off-the-shelf-software\/\">Compare custom and standard software first<\/a>, explore our <a href=\"\/en\/custom-software\/\">custom software<\/a> or <a href=\"\/en\/contact\/\">discuss the first application you want to build<\/a>.<\/p>","protected":false},"excerpt":{"rendered":"<p>Define users, workflow, data and acceptance criteria for your first custom application, with a practical example and maintenance agreements.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-968","post","type-post","status-publish","format-standard","hentry","category-maatwerksoftware"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af | Yindle<\/title>\n<meta name=\"description\" content=\"Bepaal gebruikers, proces, gegevens en acceptatiecriteria voor een eerste maatwerkapplicatie. Met een concreet voorbeeld en afspraken over beheer.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af | Yindle\" \/>\n<meta property=\"og:description\" content=\"Bepaal gebruikers, proces, gegevens en acceptatiecriteria voor een eerste maatwerkapplicatie. Met een concreet voorbeeld en afspraken over beheer.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/\" \/>\n<meta property=\"og:site_name\" content=\"Yindle\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-02T12:55:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-02T13:00:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/yindle.com\/wp-content\/themes\/yindle\/assets\/images\/yindle-social-share.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"630\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yindle\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yindle\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/\"},\"author\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"headline\":\"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af\",\"datePublished\":\"2026-10-02T12:55:27+00:00\",\"dateModified\":\"2026-10-02T13:00:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/\"},\"wordCount\":562,\"publisher\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"articleSection\":[\"Maatwerksoftware\"],\"inLanguage\":\"en-GB\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/\",\"name\":\"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af | Yindle\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#website\"},\"datePublished\":\"2026-10-02T12:55:27+00:00\",\"dateModified\":\"2026-10-02T13:00:13+00:00\",\"description\":\"Bepaal gebruikers, proces, gegevens en acceptatiecriteria voor een eerste maatwerkapplicatie. Met een concreet voorbeeld en afspraken over beheer.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/scope-your-first-custom-software-release\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/yindle.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/\",\"name\":\"Yindle\",\"description\":\"Software voor e-commerce en klantprocessen\",\"publisher\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/yindle.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#organization\",\"name\":\"Yindle B.V.\",\"url\":\"https:\\\/\\\/yindle.com\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/yindle.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/yindle-site-icon.png\",\"contentUrl\":\"https:\\\/\\\/yindle.com\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/yindle-site-icon.png\",\"width\":512,\"height\":512,\"caption\":\"Yindle B.V.\"},\"image\":{\"@id\":\"https:\\\/\\\/yindle.com\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"legalName\":\"Yindle B.V.\",\"address\":{\"@type\":\"PostalAddress\",\"streetAddress\":\"Markt 43\",\"postalCode\":\"5554 CA\",\"addressLocality\":\"Valkenswaard\",\"addressCountry\":\"NL\"},\"identifier\":{\"@type\":\"PropertyValue\",\"propertyID\":\"KvK\",\"value\":\"99695367\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Building custom software: how to scope a useful first version | Yindle","description":"Define users, workflow, data and acceptance criteria for your first custom application, with a practical example and maintenance agreements.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/","og_locale":"en_GB","og_type":"article","og_title":"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af | Yindle","og_description":"Bepaal gebruikers, proces, gegevens en acceptatiecriteria voor een eerste maatwerkapplicatie. Met een concreet voorbeeld en afspraken over beheer.","og_url":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/","og_site_name":"Yindle","article_published_time":"2026-10-02T12:55:27+00:00","article_modified_time":"2026-10-02T13:00:13+00:00","og_image":[{"width":1200,"height":630,"url":"https:\/\/yindle.com\/wp-content\/themes\/yindle\/assets\/images\/yindle-social-share.png","type":"image\/png"}],"author":"Yindle","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Yindle","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/#article","isPartOf":{"@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/"},"author":{"@id":"https:\/\/yindle.com\/en\/#organization"},"headline":"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af","datePublished":"2026-10-02T12:55:27+00:00","dateModified":"2026-10-02T13:00:13+00:00","mainEntityOfPage":{"@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/"},"wordCount":562,"publisher":{"@id":"https:\/\/yindle.com\/en\/#organization"},"articleSection":["Maatwerksoftware"],"inLanguage":"en-GB"},{"@type":"WebPage","@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/","url":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/","name":"Building custom software: how to scope a useful first version | Yindle","isPartOf":{"@id":"https:\/\/yindle.com\/en\/#website"},"datePublished":"2026-10-02T12:55:27+00:00","dateModified":"2026-10-02T13:00:13+00:00","description":"Define users, workflow, data and acceptance criteria for your first custom application, with a practical example and maintenance agreements.","breadcrumb":{"@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/yindle.com\/en\/scope-your-first-custom-software-release\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/yindle.com\/en\/"},{"@type":"ListItem","position":2,"name":"Maatwerksoftware bouwen: zo baken je een bruikbare eerste versie af"}]},{"@type":"WebSite","@id":"https:\/\/yindle.com\/en\/#website","url":"https:\/\/yindle.com\/en\/","name":"Yindle","description":"Software for e-commerce and customer processes","publisher":{"@id":"https:\/\/yindle.com\/en\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/yindle.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/yindle.com\/en\/#organization","name":"Yindle B.V.","url":"https:\/\/yindle.com\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/yindle.com\/en\/#\/schema\/logo\/image\/","url":"https:\/\/yindle.com\/wp-content\/uploads\/2026\/09\/yindle-site-icon.png","contentUrl":"https:\/\/yindle.com\/wp-content\/uploads\/2026\/09\/yindle-site-icon.png","width":512,"height":512,"caption":"Yindle B.V."},"image":{"@id":"https:\/\/yindle.com\/en\/#\/schema\/logo\/image\/"},"legalName":"Yindle B.V.","address":{"@type":"PostalAddress","streetAddress":"Markt 43","postalCode":"5554 CA","addressLocality":"Valkenswaard","addressCountry":"NL"},"identifier":{"@type":"PropertyValue","propertyID":"KvK","value":"99695367"}}]}},"_links":{"self":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/968","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/comments?post=968"}],"version-history":[{"count":1,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/968\/revisions"}],"predecessor-version":[{"id":972,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/posts\/968\/revisions\/972"}],"wp:attachment":[{"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/media?parent=968"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/categories?post=968"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yindle.com\/en\/wp-json\/wp\/v2\/tags?post=968"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}