The Acceptance Criteria (s) is (are) The Most Important part of Software Development. They are the core to all sides and all participants in the process.
The consumers of a software will be happy with high quality software that does what is intended. It will display in a friendly manner all that it does – when it executes something and will not do anything else.
The client (payer)
The one that gives the money will know exactly what to expect and will receive. Any missing acceptance criteria from the end product may result in less payment or in more work for the creating party. Missing acceptance criteria during the product initialization may result in higher price and more time of development. Most of the time the case is the second. The client does not know what he wants or he decides to want more after he gets a version of the product.
Business (analyzers / builders)
When the business logic is clear it is easier to be packaged and sold. And for the analyzers – it just straightforward to write down what the software must do.
Software development team
Clear, detailed and concrete Action Items are almost like pseudo code for a software developer. The thing is how technically aware the business analyzer is & how deep are the requirements acquisition?
- Does the negotiating parties handle offline and online mode
- third party service availability or not,
- different system failures and exceptions like
- low memory
- low storage
- different asynchronous & synchronization scenarios especially when the service is consumed from multiple devices.
Testers & QAs
When the acceptance criteria are clear the work of the quality assurance engineers are just going through a well-defined path. In the same time – it is impractical to handle all the edge cases in the ACs, and that is one of the powers of the testers – to experiment and find bugs…
When the acceptance criteria to-dos are clear they are measured accordingly in the progress on the software development could be visualized very accurately. The mangers will know when a project drifts away from the expected or moves better than planned and there is a time for high quality refinement or for early delivery and presenting to the client as high quality partner.