- It’s not enough to just code, test and say it’s done. Our goal is to deliver value to the business in a timely manner.
It is helpful to have a “Fit and Finish” checklist. Sometimes fit and finish items aren’t ready to be included in the product until close to the end. It may be necessary to rebuild parts of the product to include items such as new artwork, license or legal arrangements, digital signatures for executables, copyright dates, trademarks and logos.
It is helpful to assemble these during the last full development iteration and incorporate then into the product while continuous integration build cycles are running so that extra builds are not needed later.
- Agile testers can serve as a conduit or facilitator when it comes to physical delivery of the software.
- Most teams accumulate some technical debt, despite the best intentions, especially if they’re working with legacy code. To maintain velocity, your team may need to plan a refactoring iteration at regular intervals to add tests, upgrade tools and reduce technical debt.
- Some teams resort to ‘hardening’ iterations, where they spend time only finding and fixing bugs, and they don’t introduce any new functionality. This is a last resort for keeping he application and its infrastructure solid. New teams may need an extra iteration to complete testing tasks, and if so, they budget time for that in the release plan.
I, too, have worked with Hardening Iterations and here is the article I wrote a while back about it https://testwithnishi.com/2018/10/08/optimize-your-hardening-sprint-for-a-quality-advantage/
It is the time when the team applies the finishing touches to the product.
It is not meant to be a bug-fix cycle, because you shouldn’t have any outstanding bugs by then, but that doesn’t mean you might not have one or two to fix.
- Use the end game to do some final exploratory testing. Step back and look at the whole system and do some end-to-end scenarios.
- As a part of the end game, your application should be deployed to staging just like you would deploy it to production.
- Staging environments can also be used for load and performance testing, mock deploys, fail-over testing, and manual regression tests and exploratory functional testing.
- Automating data migrations enhances your ability to test them and reduces the chance for human error.
- Last minute disasters can happen. The team should cut the release scope if the delivery date is fixed and in jeopardy.
- Work to prevent a “no go” situation with good planning, close collaboration, driving coding with tests, and testing as you code.
- As a tester, it is important to understand how customers view the product, because it may affect how you test. Alpha and Beta testing may be the only time you get to interact with end users, so take advantage of the chance to learn how well the product meets their needs.
Learn from each release and take actions to make the next one to go more smoothly.