Agile 12 Step - Step Eight - Enhance Programming Practices
Enhance Programming Practices, what on Earth does that even mean? Well, it starts with a very basic principle, unit testing. When code is written, this is the way that the development team insures that the code is intact and meets a specific set of coding and documentation guidelines. Many developers give me pushback, but this is one where I do insist, Unit Testing = 100%! I want people to take the code that they are producing as their own and have true ownership and stewardship over what they have built.
Ken Schwaber once said that not a single line of code should be pushed to the public without at least two sets of eyes having a chance to review it. This means, Code Review = 100%! One tip here is to allow developers and tester to blur their responsibilities and become able to do a peer code review for each other. I would even go as far as to say that it is a great idea at some point to pair a developer and a tester together. This allows for testers to become better at writing test automation and helps developers learn how to better build in quality up front.
Old code should be addressed if it is not functioning to a designated standard. We need to take a closer look at things that become unwieldy to support or are just not functioning as designed. While I am whole-heartedly against reinventing the wheel when it comes to solving every issue, I am a firm believer that once you get it write, you should make every effort to duplicate that effort. Refactoring poorly designed code = 100%
This all stems from having a solid coding standard in place. A coding standard means that if I jump in anywhere in the code, based on the way it is constructed, I should be easily be able to identify how things are functioning with minimal documenting support. Coding Standard = In Place. This is the bread & butter when building software, (or anything else for that matter).
The real proof of forward progress rests in a demo of working results.Do not be afraid to push for better coding standards. This will help the overall quality of the product or service that you are building to improve.