June 28, 2023, by Raffaele Colace
The more you experience, the more you realize how many things you still have to learn.
It happens to me and it happens in 20tab, where for years we have been constantly learning many things and then returning them to the ecosystem, continuously disseminating our improvements.
A concept for me known as Continuous Disclosure: a combination used abroad in legal settings with a completely different meaning, which seems to me to best express our process.
I'm not young enough to know everything.
This is a sentence that I always repeat to myself, like some kind of mantra. An awareness that I have embraced after years of work, projects, satisfaction and of course mistakes and failures.
At the beginning of my career as a developer, I dived into projects, almost like a bullfighter facing his antagonist. I went directly to implement the features, to transform the list of requirements into code, without asking myself anything.
No best practices. No testing. No analysis.
Until I realized I was throwing away the most important asset we have: time. And, as a result, I was losing money. Yes, because working like this meant wasting time and money, writing unnecessary lines and lines of code that had to be rewritten shortly after.
After years we have understood that, before diving into projects, it is necessary to have a clear idea of the right process: to produce quality software and to do it without wasting time and money. And perhaps this is where we began to approach that ideal of evolution and growth, which we then translated into the vision of continuous improvement.
We started studying and then applying agile methodologies, reviewing our programming techniques, approaching Continuous Integration and Continuous Delivery, as well as a test-based system. We have improved the process to release working software with high frequency.
But all this was not enough. Because it still happened that some customers, despite having a working software in their hands, were unable to achieve their goals.
I still remember the case of a platform for the organization of sports tournaments: we had an online landing page that anticipated the website release, actually ready in alpha version. Well, that platform never went into production, because the customer was not convinced, although it did work. It was a failure.
And there we understood that technological improvement was essential, but not enough for business growth.
It was at that point that we started asking ourselves a question: what is the clients’ most important goal?
It may seem trivial, but it is making a profit: working software is a means to their ultimate goal, not the goal itself.
We were good developers, sure, and yet we still lacked something. We had begun to integrate comparison and collaboration, to quickly and continuously seek feedback in our work, with less waste of time and money.
But the real challenge was also to involve the other actors within this system, to make them aware of the logic and results of Agile and DevOps: to change their culture and make communication between the parties easier.
When a product is developed, in fact, there are several figures that come into play: the Product Team, with its specific roles, and then a series of stakeholders (CEO, CFO, Account Manager) often also with decision-making power. Here, if the path, the reasons and the choices are not shared, misunderstandings may arise and even the quality of the final product will be in doubt.
At that point, we felt the need to fill that void and create communication and sharing between the two worlds, business and tech.
Giving life to culture and widespread knowledge.
We have started organizing, internally, a new, cyclical and continuous process:
Thus the concept of Continuous Disclosure was born: an integration between Continuous Learning and Continuous Improvement.
How do we actually do it?
We invest time in training: we have created the so-called Friday Learning for the 20tab team, afternoons in which we explore new and useful topics, and we all regularly participate in meetups and conferences, listening to talks and finding new technologies and new approaches.
Everything we learn we try to put into practice, integrating these practices into our reality. We try to improve processes, we are committed to open source development and the creation of tools, we tighten cooperation with other companies, with which we implement real mutual contamination.
Once we feel ready and know enough, we bring those topics out of 20tab. We hold talks in industry meetups, such as PyRoma and AgileTalks, we mentor DjangoGirls, we talk about our latest "discoveries" with Spremute Digitali or Vox Machina. And then we also take them to the most important conferences, such as PyCon, PgDay, EuroPython, Codemotion, DjangoCon, Containerday, IDI.
For instance, we have developed our own Continuous Delivery template that we apply internally, after having thoroughly studied Kubernetes, and now I often talk about it in external events.
Is that enough? Not yet!
In this way we take and give back within the same ecosystem: that of technicians, of professionals, of developers. What about the business world?
We are not solving the initial problem, or at least not completely. Because those outside our circle do not perceive our problems and do not understand our answers.
For this reason, in order to make this Continuous Disclosure possible, we have created #StopCoding.
The community, born a few years ago, has now 800 members between technicians and stakeholders: we organize workshops and webinars designed to create that shared knowledge, to help the tech and business sectors speak the same language.
Lean, Agile, Design Thinking, Growth: the protagonists are those useful and necessary methodologies for all the actors involved in the process, to solve the critical issues of our work and embrace a new mindset.
Thanks to #StopCoding we also took a further step. If what we want is to make our stakeholders understand our work and convince them of the goodness of the process, we are basically putting a correct Product Management approach to the fore: thus combining clients' business goals and technological goals. We want to bring the three areas, Customer, Business and Tech closer together, to make ourselves understood by stakeholders and technicians.
We are doing this, for the digital products we develop and follow as 20tab, through the engagement of the customer during the process. We work with him on the initial discovery phase and bring him into the sprints regularly: this allows us to be transparent, to share decisions and to make the value we are going to create visible.
Bringing the client inside makes him aware of the work and the process to be faced, and at the same time improves the life of the technicians. No anxieties, no misunderstandings, no friction.
This is how a powerful virtuous circle is triggered: a functioning software, a satisfied client and a quality product capable of satisfying end-users.
But not only.
This same approach then led us to create the Product Management Day, the first Italian conference entirely dedicated to Product Management.
Another step in the direction of that widespread and shared culture, an opportunity to bring together all the figures involved in the process, facilitate discussion and, finally, all speak the same language.
Our goal is to bring the dissemination of this mindset, that of continuous improvement, to the stakeholder level. Because only in this way will we be able to improve our industry, work better and deliver high quality products to people.
And I think all of this is perfectly explained by Seth Godin:
Our response to change is often all we have control over. And the way we respond is how we create the next cycle of culture and possibility.
The third edition of Product Management Day will take place on 27th October 2023, at Nana Bianca in Firenze.