· Ensure the code is well commented and well documented; this makes changes easier for the developers.
· Use rapid prototyping whenever possible; this will help customers feel sure of their requirements and minimize changes.
· In the project’s initial schedule, allow for some extra time to commensurate with probable changes.
· Move new requirements to a ‘Phase 2′ version of an application and use the original requirements for the ‘Phase 1′ version.
· Negotiate to allow only easily implemented new requirements into the project; move more difficult, new requirements into future versions of the application.
· Ensure customers and management understand scheduling impacts, inherent risks and costs of significant requirements changes. Then let management or the customers decide if the changes are warranted; after all, that’s their job.
· Balance the effort put into setting up automated testing with the expected effort required to redo them to deal with changes.
· Design some flexibility into automated test scripts;
· Focus initial automated testing on application aspects that are most likely to remain unchanged;
· Devote appropriate effort to risk analysis of changes, in order to minimize regression-testing needs;
· Design some flexibility into test cases; this is not easily done; the best bet is to minimize the detail in the test cases, or set up only higher-level generic-type test plans;
· Focus less on detailed test plans and test cases and more on ad-hoc testing with an understanding of the added risk this entails.
No comments:
Post a Comment