So what is it we do:
We spend most of our time in a state of discovery, this happens through conversations with each other, stakeholders and users, but most of our discovery happens, if we let it, from the build and delivery.
We do it early because it’s an important part of discovery and enables us to deliver. Building something useful is our purpose but we build in such a way that we can adapt our design as we discover better ways of doing it.
If we are free to build rapidly we need a clean environment to build on. Cleaning activities include refactoring, automation and general removal of problems: day-to-day, social or systematic.
We deliver often because the feedback leads to discovery.
If we discover the right thing to build and our code and environment are clean there isn’t much to fix
So. What’s changed? A mindset that values discovery, brought about by the realisation that we cannot know till we try. Discovery happens naturally if you let it, we soon discover that keeping clean is more effective.