Although the roles are separated, DevOps is a strategy that embeds each just in time and keeps their activity during the whole product growth. Developers & Designers (Devs) build the software logic following user stories, create features that work and prove that via unit tests. Quality engineers (QAs) helps maintain software quality, review the features, write acceptance/end-to-end tests, and approve the software correspondence to the requirements. Product owners (POs) & Business Analysts (BAs) cover the aspect of business value for the end-user, coming up with the user stories. Often, they have to coordinate and analyze the acceptance test results to check their relevance and implement changes in user story when necessary. Operations (Ops) take care of the software released. They make sure it is available for the users. Thus, they work on the code logistics design to move developers` code to a production environment where people access the website/app.
An ideal DevOps cycle would start from:
The Dev writing code
Building & deploying binaries in a QA environment
Executing test cases and finally
Deploying onto Production in one smooth integrated flow.
Obviously, this approach places a great emphasis on automation of Build, Deployment, and Testing. Use of Continuous Integration (CI) tools, Automation Testing tools become a norm in a DevOps cycle.