The product owner will create and prioritize the stories in the backlog(plan), the team will discuss and break down a story into actionable and weighted tasks(more planning), then they will fit those tasks into the sprint based on their previous performance(even more planning!)
Agile works (when it works) because it treats software as a complex system that is best studied and modified through experimentation after accepting a high initial degree of uncertainty (which is slowly reduced through the creation of knowledge). The only comparable things in business terminology are investment and risk. Each iteration (I hate "sprint") needs to be treated as an investment with some risk percentage of failing completely. Until the money is handled that way, business people will keep expecting to get exactly what they think they're paying for, exactly when they feel they were promised they'd get it.
Me too. It sounds exhausting.
Following the idea of the iron triangle, with Agile we fix budget and time, but we keep the scope flexible, however, we estimate a scope and refine that along the way.
If you follow an iterative Agile approach like Scrum, given you know your velocity and you have a backlog in good shape, you can work from one milestone to the other.
But in a lot of organizations upper management asks middle management when those features will be delivered so they can plan client communications or internal teams around that.
Agile goes wrong when you don’t get and use good feedback.
You do upfront planning and design, but you only do enough to establish your general course of action. Because good feedback requires context about your goals. If you don’t care where you’re going, then any direction will get you there.
It's my understand that would not be considered agile.
If someone tries to get you to believe something and part of that belief is the active suppression of certain types of thought, and those types of thought are what actually make us intelligent. Then in some regards, agile is trying to make us less intelligent. It might be accidental, it might be unintended, but it is there. Agile attempts to create a social norm where certain thoughts are banned. Yet our ability to anticipate and predict the future is one of our largest defining traits.
There are some aspects of agile that have cult like qualities. I think agile has _improved_ many software teams and projects, esp with how those teams approach planning, but it is still important to be cognizant of thoughts that have been removed from view.