In Agile, the goal is lean design and “just-in-time” planning, i.e., do just enough front end thinking to get some project action going… then, after the results of the action are reviewed… do a bit more thinking… but not too much! In a nutshell: Thinking without acting is as bad as acting without thinking. A seminal Agile text by Highsmith uses the phrase “barely sufficient” to convey this:
“I use the term ‘Agile Software Development Ecosystem’ to describe a holistic environment that includes three interwoven components – a ‘chaordic’ perspective, collaborative values and principles, and a barely sufficient methodology…” (Highsmith, 2002)
Agile is largely a “consensual” endeavor.. i.e., no single developer has the whole picture… so the team must think together and coordinate in a very collaborative manner.. which is the goal of the Agile scrum.
A knowledge exchange is a great vehicle for agile, just in time shared thinking because it simulates many of the collaborative features of the agile scrum.