I found this article quite interesting. The writer reverse-engineered the whole software life cycle process by writing user guide first and then start designing and building the software. To be honest, when I first read it, I found the whole concept mind-blowing. Writing the user guide before even designing or coding it.
Does it really work?
His philosophy is that if you can write about a user guide that is simple and easy for your user to understand, then the product is easy to use. I am planning to try this design philosophy out for the next feature in our software product and see if it works.