An Agile software development process always starts by defining the users and documenting a vision statement on a scope of problems, opportunities, and values to be addressed.
The product owner captures this vision and works with a multidisciplinary team (or teams) to deliver on this vision. There are several roles in that process.
Agile software development processes always begin with the user or customer in mind. Today, we often define them with user personas to illustrate different roles in a workflow the software is supporting or different types of customer needs and behaviors.
The Agile software development process itself begins with someone who is required to be the voice of the customer, including any internal stakeholders. That person distills all the insights, ideas, and feedback to create a product vision.
These product visions are often short and straightforward, but they nonetheless paint a picture of who the customer is, what values are being addressed, and a strategy on how to address them.
The product owner’s responsibility is to define this vision and then work with a development team to make it real.
To work with the development team, the product owner breaks down the product vision into a series of user stories that spell out in more detail who the target user is, what problem is being solved for them, why the solution is important for them, and what constraints and acceptance criteria define the solution.
These user stories are prioritized by the product owner, reviewed by the team to ensure they have a shared understanding on what is being asked of them.
Then there’s the Agile software development team where its members’ responsibilities differ from those in traditional software development.
In Agile, teams are multidisciplinary, composed of a diverse group of people with the skills to get the job done. Because the focus is on delivering working software, the team has to complete end-to-end functioning applications.
The database, business logic, and user interface of part of the application is developed and then demoed—not the whole application. To do this, the team members have to collaborate.
Want to learn more? Tonex offers Agile Software Development Training, a 4-day course that covers the shift in the way organizations think. It covers the impacts at all stages of the software development lifecycle (SDLC). The training covers the effect on all the stakeholders within that lifecycle, from business analysts to developers to testers.
This course emphasizes the rapid realization of system value through disciplined, iterative and incremental software development techniques, and elimination of wasteful practices.
Attendees will learn the full spectrum of Agile Methods, including Scrum, Extreme Programming, Lean, Crystal Methods, Dynamic Systems Development Method, and Feature-driven Development.
For more information, questions, comments, contact us.