Documentation and leaving the code in such a state that allows for maintenance and easy additions if any new features must be added.