User stories are written throughout agile project that is used to list out all the requirements of the client what they want and why. They also make sure these stories are short .These stories must be written in business language so that it can be clearly understood by the business and the development team.
These user stories are taken care by the development team to make sure the requirements are satisfied. In few situations development team interact with the clients to get feedback on the developed code. There is no particular person who writes the user stories it’s mostly done by the team or by the team member .This is done under the review of product owner and scrum master.
UAT is nothing but user acceptance testing which is the final phase before the product is released or live in the market .It is done in the presence of the client to make sure all the requirements are satisfied. This is done to validate the business flow.
This is required to be done because developers may work according to their understanding which is not required by the client or if the requirements changes which is not communicated to the developers properly.