We need to be both specialist and generalist
Dynamic is one of the nature of Agile - priority varies as needed, team member can take up different kind of tasks as the project sees fit. And to achieve this, everyone should possess a wide range of skills so that they are able to cover up one another.
For instance, during the initial stage where most of the time are spent on design, env setup, etc. This demand the team to functions like an architectural and engineering team.
When the foundation is up, dev begins and the team is becoming a development factory. Coding becomes the number one thing.
When it is approaching launch date, everyone is focusing more on polishing the deliverable - intense testing, user training are the job of focus.
I agree that in each sprint, these tasks should all be covered. We need to design stuff before we can code and test but what I am trying to say is. The proportion of such work shall never be constant. It's natural to spend more time on design initially instead of towards the launch day.
And by doing so, this brings benefits to the next activities - debug and support.
In the old days, when team are focused in a single area and communicate with others through API. When things went wrong, the issue will need to pass from one team to the other. What makes it worst is, each team member will focus on a particular part of the system and not knowing the rest. Identifying the right person to ask and awaiting the reply becomes a challenge. It us not surprising when this has to be repeated for a number of times before the cause is found.
But in the agile team, if everyone is able to do go through the system and perform initial inspection. This enable a much better response time.
Also, by knowing how the system works, this enable the team to think through while they code. They can identify what is possible to happen more easily.
Sounds too good to be true. The drawback of this is the difficulty in finding the right person and the cost of hiring them. But if u have a team like that, you can move on and endeavor much flexibly.