What is the difference between an agile process and a non-agile process?
Both are concerned with delivering value quickly and with high quality. No one can dispute that those are “Good Things”.
Both, in their own ways, have mechanisms for learning how to deliver more value. In iterative and incremental processes, this is done by checking the results against reality and adjusting the work to be done in the next increment. A non-agile process can do this just as easily as an agile process.
The real difference is in learning at the process level. A non-agile process doesn’t change. An agile process starts with certain artifacts, meetings, steps, roles, and those all are up for discussion and change based on learning about the work. You can’t freeze a definition of an agile process in reality. (It is, of course, possible to define an agile process starting point.)
Any other differences?