The Order Book builds for .NET 10, it starts, and one test is red. Does that mean it is “on .NET 10”? In many projects this is the point where people say “done” because the program runs, and three weeks later someone reports that the customer list looks different. This lesson closes module 2 properly: with a list of what “done” means, with a decision about the red test, with a comparison of the old and the new version, with shipping, and with a way back.

When is it done?

Criterion How you check it Met when
It builds dotnet build, read the exit code exit code 0, no new warnings that you can't explain
The tests are green dotnet test, read the exit code exit code 0; every deviation is decided and documented
It runs start the program, open all forms nothing crashes, exports and printing work
It looks right the checklist, by hand size, font, customer card and print preview are right
It is no worse measure startup and loading, old against new within the limit you set beforehand
It can be shipped publishing on a clean machine the program starts there
There is a way back fallback practiced once the old version runs again within minutes

A criterion counts only if you can check it. “Feels fast” is not one.