title: Leçons apprises > 1. Start small, then extend. > 2. Change one thing at a time. > 3. Add logging and error handling early. > 4. All new lines must be executed at least once. > 5. Test the parts before the whole. > 6. Everything takes longer than you think. > 7. First understand the existing code. > 8. Read and run. > 9. There will always be bugs. > 10. Solve trouble reports. > 11. Reproduce the problem. > 12. Fix the known errors, then see what’s left. > 13. Assume no coincidences. > 14. Correlate with timestamps. > 15. Face to face has the highest bandwidth. > 16. Rubber ducking. > 17. Ask. > 18. Share credit. > 19. Try it. > 20. Sleep on it. > 21. Change. > 22. Keep learning. > > *[Lessons Learned in Software Development](http://henrikwarne.com/2015/04/16/lessons-learned-in-software-development/)* ([cache](/david/cache/69f55dc0fc1958d1c165a75300aef06b/)) Excellente liste à méditer. Dommage qu’il n’y ait aucune notion de plaisir et de motivation dans tout ça. Cela me semble pourtant essentiel dans notre métier.