Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Fostering an Experimentation Culture in Software Development

Fostering an Experimentation Culture in Software Development

This item in japanese

An experimental culture is a way of thinking; it is about trying new things and learning together, solving complex software problems, and creating value together. According to Terhi Aho, an experimental culture in software organizations requires strong management support and psychological safety.

Terhi Aho gave a talk about the culture of experimentation at work at ScanAgile 2023.

The culture of experimentation prevails in software organizations if an experimental approach is constantly applied, as Aho explained:

The fact that a unit in an organization carries out one or a few pilots a year does not mean there’s a culture of experimentation yet. But of course, each pilot helps to build that culture.

Doing it together, with a partner, in a small group or in a larger group also brings a kind of security. However, it is good to be aware that the size of the group involved in the experiment can affect the speed at which the experiment can be carried out, Aho mentioned. The implementation requires that everyone has an understanding of what is being done. The larger the group, the more time is needed for discussion, she said.

Experimenting and learning together requires dialogue, Aho mentioned:

First, the challenges that need to be addressed are highlighted. Together we can come up with ideas on how to address these challenges. When a way is found that seems possible, a decision is made together to try to solve it.

A timetable is set and after the experiment, the result or impact is assessed, Aho said. The decision to experiment and then assess whether it is worth continuing removes the need for the experiment to succeed. If the idea does not work, it is not a shame for anyone, but merely a learning experience, Aho mentioned.

Aho mentioned that management support ensures that experimentation is encouraged in the face of uncertainty and that the necessary investment decisions are made to ensure that time, money and skills are available. Management can also provide justification when work is questioned and remove barriers to experimentation, she said. Possible barriers in software organizations may include current processes and policies, lack of decision-making power, and opposition from individuals in leadership positions.

Psychological safety is about people daring to think out loud, brainstorm, ask for help and challenge, experiment, celebrate successes, and share failures, Aho argued. Psychological safety is built through actions; it is not enough to say, "We allow experimentation." What matters is how experimentation is encouraged in everyday life in software development and how the results of experimentation are perceived, as Aho explained:

In particular, what to do when the results of an experiment do not meet expectations? Is there a genuine willingness to learn, or is there an expectation that all experiments should be successful?

A better understanding of the user case and user preferences will help focus development efforts on the most relevant features, Aho said. With experimentation, development is done in small batches and tested with customers, and the need for recoding is reduced.

Rapid trial cycles allow the testing of completely new solutions. Developers have the opportunity to build something that has never been seen before and act as pioneers, Aho concluded.

InfoQ interviewed Terhi Aho about experimentation in software development.

InfoQ: What role does psychological safety play in fostering experimentation in software organizations?

Terhi Aho: In a climate of psychological safety, people are actively experimenting and brainstorming. New solutions and innovations emerge.

If there is no psychological safety in everyday life, people will try to ensure that the outcome of the experiment meets expectations. In this case, they actually plan the implementation of the experiment so thoroughly that it is no longer an experiment, but a planned project. The end result may not be the best possible, but it is in line with expectations and therefore safe.

InfoQ: Why should we be prepared for an experiment to fail?

Aho: It is dangerous if, at the start of a trial, plans are already in place for further development and perhaps the launch of the software service being trialed. In this case, it is assumed that the idea being tested will definitely work and investments are already being made for the future.

If it turns out that the idea does not work, the up-front planning and preparation for the future will incur costs in any case. This will increase the overall cost of the experiment and reduce the willingness to decide to stop the experiment.

InfoQ: What have you learned from doing experiments?

Aho: Experimentation can be applied to any kind of organization, not only software ones. I feel like I learn something new every day through experimentation. Over the years, I have learned to constantly experiment in small ways. Experimenting has become a kind of routine. As I’ve gotten into the habit, my attitude towards failing and messing up in general has changed. I can genuinely relate to them as learning situations.

When I make a mistake, it can be annoying at first, but the feeling quickly passes and I can focus on the lessons learned. This has helped me to focus on moving forward, learn a lot about myself and my ways of doing things, and share the lessons I have learned with others. I claim to be easily adaptable and resilient thanks to the trial and error routine.

About the Author

Rate this Article