A product engineering mindset
Engineering doesn’t mean picking up a ticket and following the acceptance criteria blindly.
Acceptance criteria is defined when we’re yet to see the feature integrated into our system.
It can be defined by stakeholders who don’t have context of the running systems. In many organisations, engineers are on call for these systems. At the end of the day, we have to support it. If the solution defined will negatively impact these sytems, stakeholders must be open to new, viable solutions.
There’s a balance to strike. It can be easy to assume that a lead engineer must define all the work which needs to be completed, or a stakeholder must define every edge case of the problem. It is the responsibility of the engineer picking up the ticket to engage their lead and stakeholders to find the information they need to complete the ticket. This gives engineers room for growth into more senior roles and experience working with other departments of the organisation. Only so much can be known prior to the work starting.
Often we learn what needs to be done through integration. Once the feature is tangible and we can interact with it, that’s when we know whether the implementation was a success or a failure.