

1. Get involved
You must designate a champion or product owner. If that’s you, I’m sorry. If there is no champion, establish one quickly. This person has the responsibility to push forward.
No one is perfect. Neither is an agency nor a merchant. Accept responsibility for the state of the project and look critically at what happened. More often, merchants trust the agency too much and don’t properly flesh out the project requirements or own this project as their own. As the merchant, you have enough on your plate to hope for a company that autonomously builds the exact solution you want. It doesn’t work like that.
The reality is that the agency gets in too deep, and the merchant comes to the point of thinking, “this isn’t what we need.”


3. Establish regular communication
We have found that face-to-face meetings consistently are critical. Daily. Twice a week. Whatever it is will significantly help to ensure you are in sync concerning priorities.
I believe the most significant cause for frustration is that merchant/agency priorities are out of sync. The agency completes tasks in the order that the merchant is not expecting or wanting. Just because the project started with initial priorities doesn’t mean they remain constant.


Bugs
- Precise details of what happened. A video recording, evidence of problems, etc. The more you provide the less time the developer will have to spend.
- Exactly when this happened. The closer to the accurate timestamp, the easier this is to triangulate in the logs.
New Features
- A straightforward user story: What efficiency are you seeking to gain? What problem are you solving? How will this help you, the customer, or some other system?
- Acceptance criteria: How do you know when this task is complete? What critical tests can your QA complete to verify that this piece is functioning as expected?
- If this involves UI changes, ensure some mockups contain rough diagrams of how the workflow should occur.


7. Push back to ensure the root cause is resolved
This comes back to the game of “whack-a-mole.” When an issue repeatedly arises, you observe a sure sign that the root problem is not dealt with.
Request that your development team looks into the root cause of this problem. Remember that there is nothing random in computer science. There is a reason, and it is up to the developer to identify this problem.