Sensible Defaults
The idea of best practices can't keep up with the fast-changing industry, and some may even become anti-patterns. However, we still need a set of de facto practices that accommodate nuances and trade-offs with the new context and circumstances in mind. That gives rise to what we call "sensible defaults."
Sensible defaults are a collection of concrete measures, a common language, and a starting point for engineers in any project. They include things like infrastructure as code, TDD, CI/CD, pair programming, etc. They are opinionated yet work well together. For example, to achieve continuous delivery, good quality assurance needs to be in place, and TDD tends to encourage thought and development processes. Pairing is also one of the best ways to break down silos and foster an inclusive and collaborative environment. For that reason, sensible defaults work best on a team level.
Sensible defaults should evolve with changes in our understanding, such as team size, skills, and new ways of thinking and working, and evolve organically with changing circumstances. When challenging existing defaults, we should start from a position of knowledge and experience, understanding how defaults are connected to each other, with a deep understanding of the reasons why and why not. Try not to base things off personal preference, like "I don't like TDD, and I think it's a waste of time, so we won't do it." Unlike best practices, sensible defaults are not intended to be mandates or governance policies. They are a proactive activity, and when sensible defaults are shared with the rest of the organisation, it is up to individual teams to "pull" and decide which defaults work best in their context.
Once sensible defaults are well established, people should get comfortable with them as if they are part of the furniture, and eventually sink into the background. For example, someone starting a new project would not question whether to use version control unless they are new to the project or from a non-tech background.
Comments
Post a Comment