Any discussion about Scrum usually focuses on being a ScrumMaster or a product owner. Developers are left far behind, and most of the time they are out of focus. When an organization is transitioning from Waterfall to Scrum, the development team that is going to do the actual work and deliver is not given enough training resources to work as a Scrum team.
For a successful transition to Scrum, the development team must also go through a transition phase in which they have to change the way they write code. Traditionally, developers just write code that works. Testing, quality, optimization, and code readability and maintainability are just other tasks that are performed later when required or demanded. The development team should be motivated and encouraged to learn and implement new things, and change its approach toward writing clean code that considers all factors, including testing, quality, readability, and maintenance. Declaring a day every week or month to be Clean Code Day will help with achieving this objective.
Clean Code Day activities
On Clean Code Day, the development team reviews its code and determines whether the code can be refactored in some way. In addition, the team can perform other activities to learn how to write clean code. These activities include, but are not limited to, the following:
- Look for commented and unused code, and remove it.
- Look for repeated code segments, move them to one or more classes, and reuse.
- Review and change identifiers for variables, methods, and classes to make code more readable.
- Break long pieces of codes into methods and classes — whatever seems necessary.
- Perform code Katas.
- Review and discuss peer-written pieces of code and look for areas of improvement.
- Read and review articles and books on the topic.
- Watch training videos on the topic and discuss with peers
This approach will help the development team change its mindset. The team will start thinking in an Agile way. It will perform as a better Scrum team, thus contributing to a successful Scrum transition and implementation. Soon they will adapt Agile and Scrum practices subconsciously and consequently write better and cleaner code.