The Three Pillars
The Think-Tank
Section titled “The Think-Tank”Our think-tank is the part of our work concerned with developing and communicating our thoughts and ideas about regenerative software development. This is where we write articles, give talks, produce podcasts, and in other ways share our knowledge and experience with the world. The think-tank is an important part of our work because it allows us to reach a broader audience — both to inspire others and, perhaps even more importantly, to engage in dialogue with the outside world and receive feedback on our ideas. This feedback helps us continuously improve our understanding, smooth the edges of dogmatic thinking, and ensure the greatest possible relevance and impact of our work.
Anyone can contribute to the think-tank, and it naturally invites collaboration with academia, students, and interns.
We encourage everyone to share their thoughts and ideas with us, and to participate in the dialogue around regenerative software development. It is an important part of the regenerative approach that we not only develop software, but actively engage with the world around us.
The Laboratory
Section titled “The Laboratory”The laboratory is where the craftspeople and technicians are at work, where we build software and run experiments every single day, based on the regenerative software development principles and ideas we have either developed ourselves or picked up from the wider world. In this sense, the laboratory may be the most important element of our knowledge generation, because it is here that we translate our thinking into practice and receive feedback from reality — feedback we use to refine our understanding and improve our software.
Work in the Laboratory
Section titled “Work in the Laboratory”Anyone can bring tasks to the laboratory, provided the purpose of the software aligns with our charter and we have capacity. But most importantly, you as a client must be willing to engage on the terms described in “How We Work”.
In principle, there are no restrictions on which tasks we can take on — we cover a broad range and have an established network of partners and experts who think like us and whom we can bring into the process. In practice, however, challenges around capacity, competence, understanding, infrastructure, or other resource constraints may arise. These may take time to identify and resolve, which can mean the process takes longer — patience is part of the regenerative approach.
The Price of Getting Help
Section titled “The Price of Getting Help”In one sense, the laboratory resembles a consultancy: the client purchases development and expertise from an external team. On the surface, it works exactly like that, but in the details much is different — and it is important to understand and accept these differences to get the most out of the collaboration.
Payment for help in our laboratory is not based on an hourly rate guaranteed to generate a margin for us, multiplied by time spent regardless of outcome, or invoiced continuously until a given goal is reached. That is how a psychologist, bicycle mechanic, lawyer, accountant, couples therapist, or a classic consultancy selling “time-and-materials” would typically price their services.
Nor do we offer a “fixed price” for a given task — priced with a comfortable risk premium to cover uncertainty, then managed throughout the project to ensure that premium doesn’t come into play, but instead becomes extra profit when the project is declared complete, ideally as early as possible. That is how a building contractor or a software house selling projects typically operates.
In the laboratory, we succeed together. Our agreements are based on the client buying into a given capacity in our laboratory — a workload we agree per month, over a number of months in advance — and the client pays what it costs the foundation to maintain that agreed capacity. Because the foundation has other costs beyond the laboratory, the price for that capacity will differ between members and non-members, since members already contribute to the foundation’s other activities through their membership.
Managing Uncertainty
Section titled “Managing Uncertainty”There is always some degree of uncertainty involved in estimating the cost of developing software. It is impossible to predict precisely how long a given task will take or how many resources will be needed to solve it. We already cited Fred Brooks in the opening of our manifesto — the originator of Brooks’ Law (“Adding people to a late software project makes it later”). In his anniversary essay “No Silver Bullet,” written on the 40th anniversary of “The Mythical Man-Month,” he writes:
Like complexity in nature
Complexity in software isn’t built — it’s grown
Fred Brooks
It is part of the regenerative approach that we do not try to eliminate uncertainty, but instead embrace it and work with it in a way that is transparent and fair to all parties. We have a number of mechanisms in place to manage this uncertainty and ensure that both the client and the laboratory have a clear understanding of what needs to be delivered and how we will work together to reach that goal. These are described under “How We Work”.
Overall, our fair and transparent pricing, combined with our lean approach to continuously improving processes and our participatory design focus, will enable us to deliver high-quality software that precisely meets end-user needs — built on regenerative development principles — while maintaining a sustainable non-profit business and a healthy working environment for our team.
We can guarantee that in the long term it will be less expensive for the client to work with our laboratory than to engage any other external team or form of outsourcing, and that it will even in the long term be cheaper than building and maintaining an internal development department.
But it is important to understand that it will not necessarily be cheaper in the short term, and that it requires a high degree of trust and commitment from both sides to get the most out of the collaboration.