I just finished Implementing lean software development: From Concept to Cash. In chapter 8: Quality (page 192) We find the 5S’s for Java find below my interpretation for .NET.
- Sort (Seiri): Reduce the size of the code base. Throw away everything that is not needed. Remove:
- Dead Code
- Unused using statements
- Unused references
- Unused variables
- Unused Methods
- Unused Classes
- Refactor redundant/duplicate code
- Delete code in comments
- Delete or fix Ignored Unit Tests
- Systematize (Seiton): Organize projects and packages. Have a place for everything and everything in its place
- Resolve package dependency cycles
- Minimize dependencies
- Shine (Seiso): Clean up. Problems are more visible when everything is neat and clean.
- Resolve unit test failures (Pass rate should be 100%)
- Improve unit test coverage (> 80%)
- Improve Unit test performance
- Check duration to run all tests
- Resolve compiler warnings
- Resolve TODO’s
- Resolve FxCop Warnings
- Refactor methods that are too long
- Refactor methods where Cyclomatic Complexity > 10
- Standardize (Seiketsu): Once you get a clean slate, keep it that way. Reduce complexity over time to improve ease of maintenance.
- Sustain (Shitsuke): Use and follow standard procedures
- Integrate FxCop in daily build
- Fail Continuous integration build on unit test failure (Gated Check ins)
These criteria can easily be found using ndepend which is word its price in gold
No comments:
Post a Comment