Computer programming is iteratively discovering that you should actually be working on some other part of the code first. Agile/Scrum fails because project management is 100x less dynamic about what you need to be working on than a good programmer is.