Do you believe you and your team could release new features to production 2 times a day with no bugs discovered in production over a year and a half? In this talk I will tell you my team and I formed the important habits that took us from hundreds of bugs in production, to zero known bugs and highly effective habits for creating products in an agile way. “Is it cohesive?”, “Is it loosely coupled?” we expect our teams to always ask these questions between tasks and refactor regularly to make sure that the decisions do not land us in a bad situation. With that said, it must be very safe to make changes and have confidence that the change will not break existing functionality. We also should be able to say with confidence that we are using tools for the job that are adequate. It is not necessary to have the perfect choices, only to be able to say we are not using the wrong tools for the desired functionality.
Finally, I believe it is important to have dedicated learning time scheduled for developers. For example, we have 7 hours a week dedicated to learning time in which the developers are able to find new technologies and hone their skills in existing technologies. When architecture changes regularly, there needs to be slack in the system for all developers involved to keep their skills sharp in each new paradigm they must work in. How do we ensure these effective technical habits are consistently acted on?
Over the last 10 years of mob programming, I have learned that the collectively developed habits are hard to forget when you have 3 other people to remember along with you. The greatest change and consistency in technical habits I have seen has been during mobbing.