The title of this post is not a command to readers but more of a request to myself. I believe strongly in starting any project, any feature, with a simple approach. Correction, the simplest approach. I write code to satisfy requirements. I know my first attempt is not the final solution. I promise myself, with every line I write, I will improve this code when I have more time. The time stipulation is the kiss of death. Improving your code should be a personal priority. Time constraints can be overcome with discipline.
Help Yourself, Help Your Team
Start your sprints with code, start your sprints with tests. You cannot refactor code that does not exist. Write code! It will probably be bad; even the gurus write bad code. This is why alphas and betas are so prevalent in the industry. No one gets it right the first time and if they did--we wouldn’t need refactoring or TDD. Developers need to combat writers block like a traditional novelist (keep coding). Strive for improvement, ask your team to review your code. It’s okay.
Experienced programmers should encourage their inexperienced counterparts to code. Let them drive when pair programming. Resist the urge to interrupt the linear learning process. Programmers tend to be hard on themselves and even harder on their peers. This is an extremely anti-agile practice. Agile programmers succeed together and fail together. That is the precious gem that makes ‘Agile’ more than just a buzz word.
Tags: agile, refactor