A fundamental problem with software development is that the actual requirements for systems are, in the general instance, unclear and that worse that they change (for any number of reasons). There are cases where this is not true but they are the exception not the rule.
People don't know what they want (though they usually understand what problem they're trying to address/solve) and everyone often only learns about the gap between what they want and what they ask for when the product is delivered.
"Agile" approaches to software development aim to shorten the feedback loop by delivering little and often in order to be able to learn from the feedback and adapt the requirements to match. A lot of discussions in this area are around delivering value.
So agile is not really about the technology (the same is true of "Lean" manufacturing processes which have a lot in common). That said there are any number of technical practices that facilitate being agile regardless of methodology - things that make change manageable, that make it easy to deliver at a high cadence, and so on - so it is reasonable to want to talk about technical issues in an agile context.
One last thing that arises from aiming to be agile (or lean) is the value of communication and of developing people - scrum (for example) is, or at least can be, a means to facilitate communication between engineers and, done right, to expose issues that get in the way of delivery