So you’ve got a bunch of people together to form a cross-functional team (developers, testers, BAs, etc.), you create you backlog, create a few columns on a wall and throw some cards on it.
Agile complete. Not.
Agile software development is the intersection of people and writing code - I deliberately put people first in that statement.
If only BAs write the user stories, if only testers do manual testing, if only developers write code and automated tests, it’s not agile software development. Testers could have valuable input to the user stories, a BA could pair program with a developer to write unit tests, etc.
I firmly believe that if you don’t care about the quality of the codebase you can’t be truly agile in the long term - I would argue even in the medium or short-term.
Waterfall or agile, the thing that transitions from state A to state B (to provide some value) is the code.
If you can’t easily change the code you can’t be agile - even if you do have an awesome cardwall.