Rewards of "Frequent Check In"
I have worked with many developers and many times, I ran into following conversation. Whenever we are in the middle of development and I ask for checking in the code, one of following reply is heard -
- Umm, lets do check-in towards end-of-the day. We are not yet done with the code.
- Let me clean up these things and make them perfect.
- I don't want to check-in as I have some ongoing changes and I can't checkin partial files.
- Lets checkin tomorrow when we complete major functionality.
- Getting feedback from your application and team.
- Never lose any of your changes and hard work. Machines do crash and when they do, its bad!
- Avoid stepping on each others toes, particularly when team is distributed and code churn is faster.
- Making whole team aware of your approach and remove silo operations. This helps bringing everybody on the same page and triggers conversations whenever required.
- You can't explain in 30 minutes of speech what code explains in 10 minutes. It eliminates confusion.
- Discipline of frequent checkin allows you to make sure, changes are not causing any conflicts.
- Smaller changes, encourages you to refactor and improve code quality.