The process before the software
We start by understanding the process, not the software. Most failed systems we are asked to rescue failed because somebody wrote down what the business was supposed to do rather than what it actually does.
We deliver in pieces that work, rather than in one large release at the end. A module that is live and used is worth more than three that are nearly finished.
We write things down. Handover documentation is produced during the build, while the reasons behind a decision are still fresh, not reconstructed afterwards.