{"id":988605,"date":"2026-10-03T14:00:00","date_gmt":"2026-10-03T14:00:00","guid":{"rendered":"https:\/\/croncodestudio.com\/en\/?post_type=croncode_post&#038;p=988605"},"modified":"2026-09-08T22:58:43","modified_gmt":"2026-09-08T22:58:43","slug":"what-a-sprint-demo-should-show-a-client","status":"publish","type":"croncode_post","link":"https:\/\/croncodestudio.com\/en\/journal\/what-a-sprint-demo-should-show-a-client\/","title":{"rendered":"What a Sprint Demo Should Show a Client"},"content":{"rendered":"<div class=\"vgblk-rw-wrapper limit-wrapper\">\n<p>A sprint demo is a shared look at software that exists. If the only artifact is a slide, you had a status meeting. At <a href=\"\/en\/\">Croncode<\/a> we demo a TestFlight (or a staging URL) that a client can tap after the call. The point is not theater. The point is to agree what shipped, what failed, and what stays on the not-now list. Engineering sits in Istanbul. The LLC that can sign sits in Albuquerque.<\/p>\n<blockquote class=\"croncode-kisa-cevap\">\n<p>A sprint demo should show a build the client can hold, the first job completed, one failed path, and what is not in the increment. A deck without a binary is a status meeting.<\/p>\n<\/blockquote>\n<h2>What is the minimum demo script?<\/h2>\n<ol>\n<li>Name the build number and who can install it.<\/li>\n<li>Finish the first job once, live, on a small phone if you can.<\/li>\n<li>Trigger one error or empty state on purpose.<\/li>\n<li>Show the written not-now items you refused this week.<\/li>\n<li>Name the next increment in one sentence.<\/li>\n<\/ol>\n<p>Design QA should already have a pass: <a href=\"\/en\/journal\/design-qa-checklists-for-ios\/\">design QA<\/a>. Process choice lives outside the demo: <a href=\"\/en\/journal\/first-app-store-release-fixed-scope-vs-agile\/\">fixed scope vs agile<\/a>. Sequence: <a href=\"\/en\/journal\/from-idea-to-app-store-realistic-build-sequence\/\">idea to App Store<\/a>.<\/p>\n<h2>Which artifacts waste the hour?<\/h2>\n<table>\n<thead>\n<tr>\n<th>Artifact<\/th>\n<th>Use<\/th>\n<th>Skip<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>TestFlight<\/td>\n<td>Always for iOS<\/td>\n<td>Never if a binary exists<\/td>\n<\/tr>\n<tr>\n<td>Figma<\/td>\n<td>To compare a future increment<\/td>\n<td>As a substitute for the build<\/td>\n<\/tr>\n<tr>\n<td>Burn-down chart<\/td>\n<td>If the contract is agile hours<\/td>\n<td>If it hides a missing job<\/td>\n<\/tr>\n<tr>\n<td>Competitor video<\/td>\n<td>To name a job they fail<\/td>\n<td>As a promise you will copy. <a href=\"\/en\/journal\/competitor-teardowns-without-copying\/\">Teardowns<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>If the increment is a paywall, show StoreKit, not a picture: <a href=\"\/en\/journal\/in-app-paywalls-that-do-not-lie\/\">honest paywalls<\/a>. If it is an AI path, show timeout and retry: <a href=\"\/en\/journal\/how-to-scope-an-ai-feature-that-can-fail-safe\/\">fail-safe AI<\/a>.<\/p>\n<h2>When should the client speak?<\/h2>\n<p>After the job, not during the first tap path. Ask: can a stranger finish this without us on the call. Ask: which not-now item they want to fight for. Do not take a new epic in the last five minutes without writing the cost. Feature creep: <a href=\"\/en\/journal\/the-hidden-cost-of-feature-creep-why-the-best-consumer-apps-say-no-more-than-they-say-yes\/\">feature creep<\/a>.<\/p>\n<p>People on our side of the call: <a href=\"\/en\/team\/goktug-unver\/\">Goktug Unver<\/a>, <a href=\"\/en\/team\/yusufhan-sokur\/\">Yusufhan Sokur<\/a>, <a href=\"\/en\/team\/ozgur-ismet-ozkan\/\">Ozgur Ismet Ozkan<\/a>. Dual-track weeks: <a href=\"\/en\/journal\/building-app-store-products-and-client-software-together\/\">products and client software<\/a>.<\/p>\n<h2>How do consumer apps change the demo?<\/h2>\n<p>Show the job, not a studio reel. Closet: save a garment and build a look. Decision: structure one choice. Case: follow one clue. Journey: confirm one window. Those products: <a href=\"\/en\/app\/yourstyle-ai-stylist-outfit\/\">YourStyle<\/a>, <a href=\"\/en\/app\/numira-navigate-lifes-choices-with-numira\/\">Numira<\/a>, <a href=\"\/en\/app\/spylie-uncover-the-truth-with-spylie\/\">Spylie<\/a>, <a href=\"\/en\/app\/luviport-flawless-journeys-the-premium-experience\/\">Luviport<\/a>. We do not demo fake rankings.<\/p>\n<p>What we build: <a href=\"\/en\/journal\/what-croncode-builds-mobile-ai-human-centered\/\">what Croncode builds<\/a>. How we ship: <a href=\"\/en\/journal\/how-croncode-ships-ai-consumer-apps-from-istanbul\/\">Istanbul shipping<\/a>.<\/p>\n<h2>What mistakes turn demos into theater?<\/h2>\n<ul>\n<li><strong>A recorded video of last week\u2019s build:<\/strong> the live binary may have moved.<\/li>\n<li><strong>No overlap hour:<\/strong> the client watches a ghost. <a href=\"\/en\/journal\/hiring-an-app-team-in-istanbul-what-to-check\/\">Istanbul overlap<\/a>.<\/li>\n<li><strong>Hiding crashes until after the call:<\/strong> <a href=\"\/en\/journal\/crash-free-sessions-what-founders-should-ask\/\">crash questions<\/a>.<\/li>\n<li><strong>Promising Android because the demo felt good:<\/strong> <a href=\"\/en\/journal\/when-to-build-android-after-ios\/\">Android after iOS<\/a>.<\/li>\n<\/ul>\n<p>Quote the demo cadence in the packet: <a href=\"\/en\/journal\/what-to-send-when-requesting-a-software-quote\/\">what to send<\/a>. Commercial shape: <a href=\"\/en\/journal\/fixed-price-vs-retainer-for-app-work\/\">fixed price vs retainer<\/a>. Hire: <a href=\"\/en\/hire-software-studio\/\">hire<\/a>. Custom: <a href=\"\/en\/custom-software\/\">custom software<\/a>. Contact: <a href=\"\/en\/contact-us\/\">contact<\/a>. Journal: <a href=\"\/en\/journel\/\">\/en\/journel\/<\/a>.<\/p>\n<h2>What should happen in the twenty minutes after?<\/h2>\n<p>Send the build number, the not-now list, and the next increment in writing. If a stakeholder missed the call, they watch the binary, not a recap novel. Support and review owners should be named if you are close to store: <a href=\"\/en\/journal\/support-email-as-a-product-surface\/\">support email<\/a>, <a href=\"\/en\/journal\/who-owns-the-app-store-account\/\">store account<\/a>. Security topics stay off the screen share: <a href=\"\/en\/journal\/security-questions-before-you-sign\/\">security questions<\/a>.<\/p>\n<p>If the work is a marketing site increment, demo the deployed URL on the host you will keep: <a href=\"\/en\/journal\/php-cpanel-deploys-for-product-marketing-sites\/\">cPanel deploys<\/a>.<\/p>\n<h2>Frequently asked questions<\/h2>\n<h3>How long should the demo be?<\/h3>\n<p>Thirty to forty-five minutes is enough for one increment. If you need two hours, you are demoing two increments or a missing job.<\/p>\n<h3>Can we demo on the engineer\u2019s phone only?<\/h3>\n<p>The engineer can drive. The client still needs an install or a TestFlight seat. A single hero device hides layout bugs.<\/p>\n<h3>What if the increment is backend only?<\/h3>\n<p>Show a user-visible consequence, even if it is an admin screen the operator will use. Invisible work still needs a proof.<\/p>\n<h3>Do you record every demo?<\/h3>\n<p>Only if the client asks and no secrets are on screen. Default is notes plus a build number.<\/p>\n<h3>Who runs the demo at Croncode?<\/h3>\n<p>The person who owns the increment. Names are public on the team pages. Start with <a href=\"\/en\/team\/goktug-unver\/\">Goktug Unver<\/a> if you are booking the first one.<\/p>\n<\/div>\n<p><!-- .vgblk-rw-wrapper --><\/p>\n","protected":false},"excerpt":{"rendered":"<p>What a sprint demo should show a client: a TestFlight build, the first job, a failed path, and a written not-now list. Slides are optional.<\/p>\n","protected":false},"featured_media":988606,"template":"","croncode_category":[48],"croncode_author":[47],"class_list":["post-988605","croncode_post","type-croncode_post","status-publish","has-post-thumbnail","hentry","croncode_category-studio","croncode_author-yusufhan-sokur"],"_links":{"self":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_post\/988605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_post"}],"about":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/types\/croncode_post"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/media\/988606"}],"wp:attachment":[{"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/media?parent=988605"}],"wp:term":[{"taxonomy":"croncode_category","embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_category?post=988605"},{"taxonomy":"croncode_author","embeddable":true,"href":"https:\/\/croncodestudio.com\/en\/wp-json\/wp\/v2\/croncode_author?post=988605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}