Don't drop critical thinking and "hammock time" in favor of Agile. Some problems require a bit of personal reflection, without it you can easily end up building something atrocious, even while following all the "best practices". I spend a couple of years at a SCRUM shop and all we did was "finishing stories" without any regard for architecture. The technical debt was truly stunning. These days I easily spend a day just thinking about the problem before writing some code, which then still happens in a REPL-driven style to allow for experimentation and feedback. Best of both worlds I think. Also, most programming is actually fairly easy. Focus on the (business) problem you want to tackle instead of the code. Code is ephemeral, the only thing that matters is the business value and the user experience for getting there.