Use Reasonable Defaults To Build Better Teams

Grey Legos
Photo by Ryan Quintal on Unsplash
Principle: Prefer Reasonable Defaults

Start with the default settings and see if you can live with them and tweak your process to accommodate before going off and making everything custom. The more custom something is, the harder it is to maintain. For example, use Themes in Microsoft Word, use Templates for layouts in PowerPoint, use default workflows in Jira, etc.

As software team managers, we are constantly looking for ways to streamline our processes and maximize our efficiency. Often, we fall into the trap of customizing everything, believing that our unique needs require unique solutions. However, this approach can be counterproductive, as custom solutions can be challenging to maintain. Instead, we should embrace the principle of reasonable defaults, which involves using default settings and workflows whenever possible and only customizing when absolutely necessary. In this article, we explore the benefits of this principle and how it can improve productivity and efficiency in our software development teams.

Note: Without utilizing reasonable defaults, we can let your tech stacks slip. This results in having a pile of poorly integrated, highly-customized, and fragile software.

Reasonable Defaults for Simplicity and Clarity

First and foremost, software development teams who adopt reasonable defaults preserve simplicity and clarity, which customized settings and workflows can easily obscure. Whenever the team chooses a customized solution over a default, they must handle, grasp, and sustain an additional layer of complexity. While it’s easy to assume that making things “fit” perfectly will result in the most streamlined process, custom solutions often become black holes for time and energy.

On the other hand, teams that utilize default settings have an inherent advantage: they spend less time tinkering with configurations and processes and more time focusing on the core mission at hand. There’s no mental overhead in remembering or documenting why a particular customization was put in place or deciphering how it diverges from the standard. It’s akin to a writer using a clean, distraction-free editor versus one cluttered with too many tools and options—clarity of purpose and a clear execution path are key.

Avoiding the Perpetual Motion Machine

Software teams often fall victim to the allure of the “perfect” setup. In their quest for optimization, it’s easy to become caught in a cycle of perpetual tweaking. This behavior can be compared to a “perpetual motion machine” where teams spin their wheels in place instead of gaining momentum and moving forward. The irony is that these continual adjustments, intended to boost productivity, can hinder progress.

Using reasonable defaults short-circuits this trap. Teams can attain a steadier development velocity by resisting the urge to constantly refine and tweak. They don’t halt frequently to re-evaluate their tooling or processes. Instead, they have a consistent, familiar foundation to build and iterate.

Streamlined Onboarding with Reasonable Defaults

A significant yet often overlooked advantage of adhering to reasonable defaults lies in the onboarding process for new team members. Onboarding is a critical phase in an employee’s journey, setting the tone for their integration into the team and influencing their initial productivity levels. A complex, heavily customized environment can act as a barrier, prolonging the time for a newcomer to become fully operational. On the other hand, an environment that sticks closer to default settings offers a smoother ramp-up.

Familiarity Enhances Confidence

Most software developers have been trained on or have experience with tools and platforms in their default states. When new members join and find an environment that mirrors their previous experiences, they can quickly feel at home. This familiarity boosts their confidence, allowing them to contribute more rapidly.

Leveraging External Resources

An environment that aligns with widely accepted defaults is, by definition, more common. This means that new hires can easily turn to external resources, such as Google, Stack Overflow, or official documentation, to seek answers to their questions. In contrast, a customized environment often requires reliance on internal documentation (if it exists) or seeking out colleagues who might hold the necessary “tribal knowledge.” This can slow problem resolution and increase the newcomer’s reliance on others.

Reasonable Defaults Reduce Reliance on Tribal Knowledge

Tribal knowledge refers to the information and processes within a team that isn’t formally documented. In heavily customized environments, much of the operational know-how might exist solely as tribal knowledge. This forces new team members to constantly seek help, which can be both time-consuming and, at times, intimidating. On the other hand, a default-based environment minimizes this reliance, ensuring that most knowledge is universally accessible and not confined to the minds of a few team members

Reasonable Defaults Build Consistency Across Teams

If a company has multiple teams and all adhere to using reasonable defaults, a new member or even a transferring member will find it easier to navigate across teams. This consistency allows individuals to apply their experiences and learnings from one team directly to another, promoting increased mobility and collaboration within the organization.

While customization might seem like a path to optimization, it often comes at the hidden cost of elongated onboarding times and increased complexity for newcomers. By prioritizing reasonable defaults, teams can ensure that their environments are both welcoming and empowering for all members, irrespective of their tenure. This accelerates the onboarding process and lays the foundation for a more cohesive and efficient team dynamic in the long run.

Building Trust in Established Systems

It’s also worth noting that defaults, especially in widely adopted tools and systems, are often the result of extensive research and testing by experts in the field. By trusting these defaults, teams are leaning on the collective wisdom of the larger developer community. This not only saves individual teams the time and effort of figuring things out for themselves but also instills a level of trust in the systems they use. Teams can be confident that the default settings and workflows have been vetted and proven effective in various scenarios, allowing them to channel their energies into their unique product development challenges.

While customization can be tempting, software teams that adopt the principle of using reasonable defaults position themselves for greater focus, efficiency, and speed. By placing trust in established systems and avoiding the quagmire of endless tweaking, these teams can maintain a laser focus on their mission, accelerating their development trajectory and delivering value more consistently.

Conclusion

As software team managers, we should always look for ways to improve productivity and efficiency. The principle of reasonable defaults offers a simple and effective way to achieve this. By starting with default settings and workflows, we can ensure better consistency and reliability, save time and effort, simplify maintenance and updates, and improve collaboration and communication. Of course, there will be times when custom solutions are necessary, but we should always start with defaults and tweak our process to accommodate them before going off and making everything custom.


Discover more from John Farrier

Subscribe to get the latest posts sent to your email.

Discover more from John Farrier

Subscribe now to keep reading and get access to the full archive.

Continue reading