The last few days I wrote about continuous integration without a branching model. I told you who coined the term and who wrote the book about it.
I don't know about you, but upon hearing of this model, I was reminded of Subversion. If you are doing software development longer than I am, perhaps you even used CVS (Concurrent Versions System). Both systems have the notion of branches. As both systems are centralized version control systems, every commit you check in automatically is available for every other user to use. You don't commit locally and then push your changes once you're happy.
As you see, this goes into the direction I sketched out.
I believe that no one of you will try out the XP model of working (without branches, committing onto master branch).
What I would ask you to do, is to create smaller and then even smaller changes that you commit. Try to do that for a day. Try to find out how it changes your thinking. If you commit every single change into a single commit and try to give it a name, something will change for you. I've noticed it for myself.
Tell me what you've found, will you please?