Software Engineering Blog

Here you will find stuff relating to becoming a better engineer. This covers Software Engineering as a discipline: how people work together, how to make an efficient team, etc.

If you are after the technical blog, please visit the Technical Blog Posts section.

Acceptance Criteria

Ticket Acceptance Criteria

User story:

As an engineering manager I want well written acceptance criteria so that completion for a task is well understood, being met, and providing desirable output. This will save time and money in additional effort being required for additional tasks or fixing undesired behavior. It will lead to happy stakeholders that are having their needs fulfilled.

Acceptance Criteria:

  1. The stakeholders have read and agreed to acceptance criteria to meet the desired outcome.
  2. The acceptance criteria is finite (constrain the story to be specific and measurable) and not open ended
  3. The acceptance criteria will be reconciled with requirements
  4. Any combination of acceptance criteria does not contradict any other combination
  5. The output will match or otherwise denote difference between mock-ups and screen flows that were included at the creation of the task
  6. Demonstration of the acceptance criteria being met will be done as part of completion
  7. The acceptance criteria should define every desired outcome explicitly and eliminate undefined implicit behavior
  8. The acceptance criteria must be able to be used for test plan and creation of acceptance tests (a combination of automated and manual tests) independent of development
  9. The meeting of acceptance criteria does not eliminate the need for code reviews, automate build and test, and other similar processes
  10. The acceptance criteria is quantifiable and measurable. It should be able to be looked at it and verified without doubt of it is actually done.
»

Communication

Communication

When discussing between people, many assumptions are made. It is important to make those assumptions explicit.

For example, let us take a house. Can you picture it? Yes? How do you know that you are picturing the same house as me?

Let me describe you the house I was imagining and you tell me if it was the same:

My house had the following:

  • 243 square meters
  • 4 bedrooms
  • 3 windows
  • a chimney
  • 2 floors

You see the point! At this stage, I am pretty sure that at least one requirement from my house mismatched what you were thinking (or maybe, you had not even thought about it).

»