<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Release-Management on Corebaseit — Design System Engineering · POS · Payments · Security</title><link>https://corebaseit.com/tags/release-management/</link><description>Recent content in Release-Management on Corebaseit — Design System Engineering · POS · Payments · Security</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><managingEditor>contact@corebaseit.com (Vincent Bevia)</managingEditor><webMaster>contact@corebaseit.com (Vincent Bevia)</webMaster><lastBuildDate>Fri, 28 Aug 2026 00:00:00 +0200</lastBuildDate><atom:link href="https://corebaseit.com/tags/release-management/index.xml" rel="self" type="application/rss+xml"/><item><title>The MVP That Never Ships: When the Finish Line Keeps Moving</title><link>https://corebaseit.com/corebaseit_posts/mvp-that-never-ships/</link><pubDate>Fri, 28 Aug 2026 00:00:00 +0200</pubDate><author>contact@corebaseit.com (Vincent Bevia)</author><guid>https://corebaseit.com/corebaseit_posts/mvp-that-never-ships/</guid><description>&lt;img src="https://corebaseit.com/diagrams/Mastering_Release-Boundary_Governance.png" alt="Featured image of post The MVP That Never Ships: When the Finish Line Keeps Moving" />&lt;p>An MVP that absorbs every new request stops being a learning instrument and becomes an unbounded delivery programme. The core journey may already work. Pilot users may already be generating feedback. The label “MVP” can still survive for months because each discovery is treated as a prerequisite for finishing rather than as input to the next increment.&lt;/p>
&lt;p>This is usually not a failure of engineering craft. It is a failure of &lt;strong>release-boundary governance&lt;/strong>: the team never separates &lt;em>what must be true to exit the MVP&lt;/em> from &lt;em>what is valuable enough to put on the roadmap&lt;/em>.&lt;/p>
&lt;p>This post defines MVP as a learning boundary, shows how pilot findings get misclassified, explains why late scope hits architecture harder than the calendar suggests, and outlines two practical controls — an &lt;strong>exit gate&lt;/strong> and a &lt;strong>change gate&lt;/strong> — that let product evolve without moving the finish line.&lt;/p>
&lt;h2 id="mvp-is-a-learning-boundary-not-a-miniature-finished-product">MVP is a learning boundary, not a miniature finished product
&lt;/h2>&lt;p>Teams often treat MVP as “the first production version of the complete product.” That definition has no end state. There will always be another merchant, market, integration, edge case, regulatory ask, or operational improvement.&lt;/p>
&lt;p>A workable definition:&lt;/p>
&lt;blockquote>
&lt;p>The smallest version of a product that can test the important assumptions with real users under realistic conditions.&lt;/p>&lt;/blockquote>
&lt;p>An MVP is therefore not only a feature list. It is a &lt;strong>learning boundary&lt;/strong>: state a hypothesis, build enough to test it, expose the system to reality, measure, then decide.&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp1.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp1.png" alt="From MVP to Launch 1" style="max-width: 50%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>The decision after &lt;strong>Measure &amp;amp; Learn&lt;/strong> is the boundary that matters. Without it, every discovery can be rewritten as “still required for MVP,” and the MVP never ends.&lt;/p>
&lt;p>In payment and POS programmes the same pattern shows up around pilot merchants, SoftPOS or SmartPOS certification paths, and scheme or acquirer checklists: each new “must have before go-live” can be real, but not all of them belong inside the same exit criteria.&lt;/p>
&lt;h2 id="the-moving-finish-line">The moving finish line
&lt;/h2>&lt;p>An initial MVP might look like this:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp_old_scope.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp_old_scope.png" alt="mvp old scope" style="max-width: 50%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>After pilot feedback, the same programme often becomes:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp_original_scope.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp_original_scope.png" alt="mvp original scope" style="max-width: 50%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>Requirements &lt;em>should&lt;/em> change. Pilots exist to surface unknowns. The failure mode is absorbing every discovery &lt;strong>inside the same delivery boundary&lt;/strong>, with no accepted phrase for:&lt;/p>
&lt;blockquote>
&lt;p>Important. Not part of this increment.&lt;/p>&lt;/blockquote>
&lt;h2 id="pilot-feedback-is-not-automatic-proof-that-the-mvp-is-unfinished">Pilot feedback is not automatic proof that the MVP is unfinished
&lt;/h2>&lt;p>Real users will find gaps. That is the point. Classify the finding before expanding scope:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Finding&lt;/th>
&lt;th>Typical treatment&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>Critical defect, security issue, compliance blocker, data integrity failure&lt;/td>
&lt;td>Fix in current release&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Agreed MVP acceptance criterion not met&lt;/td>
&lt;td>Fix in current release&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Operational blocker&lt;/td>
&lt;td>Evaluate; usually fix if it prevents safe pilot operation&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>New customer request, additional integration, market expansion&lt;/td>
&lt;td>Next increment / backlog&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>UX improvement / nice-to-have&lt;/td>
&lt;td>Prioritize on the roadmap&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Not everything discovered during an MVP belongs &lt;em>to&lt;/em> the MVP. Defects against agreed behaviour usually do. New capabilities usually do not — unless they were already written into the exit criteria.&lt;/p>
&lt;h2 id="late-scope-has-disproportionate-system-cost">Late scope has disproportionate system cost
&lt;/h2>&lt;p>Continuous finish-line moves are not only schedule problems. They rewind parts of the delivery lifecycle:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/rewind_scope.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/rewind_scope.png" alt="rewind scope" style="max-width: 90%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>A two-day code change near a release boundary can become a two-week system change. Architecture absorbs that cost quietly: temporary MVP compromises (manual ops, limited config, simpler integrations, thinner recovery) remain in place while product expectations keep rising. Temporary architecture becomes permanent architecture under production-scale demand. That is how architectural debt accumulates without a dramatic incident.&lt;/p>
&lt;h2 id="freeze-the-release-boundary-not-the-product">Freeze the release boundary, not the product
&lt;/h2>&lt;p>Do not stop accepting requirements. Freeze &lt;strong>which release owns them&lt;/strong>.&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp2.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp2.png" alt="From MVP to Launch 2" style="max-width: 90%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>The governance question is not “Is this valuable?” It is:&lt;/p>
&lt;blockquote>
&lt;p>Is this required to satisfy the agreed MVP acceptance criteria, or does it enter the next product increment?&lt;/p>&lt;/blockquote>
&lt;p>Value and release criticality are different axes. Teams need both.&lt;/p>
&lt;h3 id="define-an-mvp-exit-gate-before-build">Define an MVP exit gate before build
&lt;/h3>&lt;p>Write exit criteria before development starts. Example shape:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>MVP Exit Criteria
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Core journey works end-to-end
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Security / compliance requirements for this pilot satisfied
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Required operational monitoring and support path exist
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ No critical production defects against agreed behaviour
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Pilot users can complete the target workflow
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Reliability within agreed thresholds
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>✓ Key product hypothesis can be evaluated with the evidence collected
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>When those conditions are met, MVP is complete — not “complete unless someone invents another feature.” Who signs the gate (product, engineering, compliance, operations) should be named; an unsigned checklist is theatre.&lt;/p>
&lt;h3 id="use-a-change-gate-during-pilot">Use a change gate during pilot
&lt;/h3>&lt;p>Once pilot validation starts, route new asks through a binary test:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp3.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp3.png" alt="From MVP to Launch 3" style="max-width: 60%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>“Blocks MVP success” must be concrete: core workflow cannot complete; unacceptable financial or data risk; missing regulatory requirement for this release; unsafe to operate; agreed hypothesis cannot be tested. It must not mean only “this is important.”&lt;/p>
&lt;h2 id="mvp--product-is-a-state-transition">MVP → product is a state transition
&lt;/h2>&lt;p>Treat the programme as a state machine:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp4.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp4.png" alt="From MVP to Launch 4" style="max-width: 90%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>The anti-pattern is a self-loop named MVP:&lt;/p>
&lt;p style="text-align: center;">
&lt;a href="https://corebaseit.com/diagrams/mvp5.png" target="_blank" rel="noopener">
&lt;img src="https://corebaseit.com/diagrams/mvp5.png" alt="From MVP to Launch 5" style="max-width: 40%; width: 100%; height: auto;" />
&lt;/a>
&lt;/p>
&lt;p>There is no transition. “MVP” has become the name of the entire product-development programme.&lt;/p>
&lt;p>This is not Product versus Engineering. Product surfaces opportunity. Business brings customer pressure. Pilots expose gaps. Engineering surfaces technical risk. The missing shared mechanism is &lt;strong>which release owns which requirement&lt;/strong>. A healthy organisation can say both “this is valuable” and “it does not belong in this release” in the same conversation.&lt;/p>
&lt;h2 id="what-an-mvp-is-for">What an MVP is for
&lt;/h2>&lt;p>An MVP exists to reduce uncertainty:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-text" data-lang="text">&lt;span style="display:flex;">&lt;span>Assumptions → MVP → real-world evidence → learning → product decisions
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Once it has produced enough evidence for those decisions, it has done its job. The product should keep evolving. The MVP should not. If every new requirement moves the finish line, the team is not iterating quickly — it is failing to finish an iteration.&lt;/p>
&lt;h2 id="references">References
&lt;/h2>&lt;ol>
&lt;li>Ries, E. (2011). &lt;em>The Lean Startup&lt;/em>. Crown Business.&lt;/li>
&lt;li>Schwaber, K., &amp;amp; Sutherland, J. (2020). &lt;em>The Scrum Guide&lt;/em>.&lt;/li>
&lt;li>West, D. (2020). “Scrum Guide 2020 Update — Introducing the Product Goal.” Scrum.org.&lt;/li>
&lt;li>Abramovici, A. (2000). “Controlling Scope Creep.” &lt;em>PM Network&lt;/em>, PMI.&lt;/li>
&lt;li>Project Management Institute — scope change control practice (programme / project governance).&lt;/li>
&lt;li>Bevia, V. — &lt;em>Point-of-Sale Systems Architecture&lt;/em>, Chapter 6 (boundaries, modularity, deliberate architectural trade-offs): &lt;a class="link" href="https://corebaseit.com/my-books/" target="_blank" rel="noopener"
>https://corebaseit.com/my-books/&lt;/a>&lt;/li>
&lt;li>Related: &lt;a class="link" href="https://corebaseit.com/corebaseit_posts/spike-first-adr-second/" >Spike first, ADR second&lt;/a> — evidence and release decisions under uncertainty.&lt;/li>
&lt;/ol></description></item></channel></rss>