Skip to main navigation Skip to main content Skip to page footer

Product Development as a Strategic Pillar - Scaling beyond hourly rates

#02 – Transcript

Back to the landingpage

[00:00] Myrna Gönnemann: Hello and welcome to a new episode of the Business Insights podcast. In this podcast, we from the TYPO3 team talk with exciting guests from the community, agencies, partner companies, and projects about topics that move us as an open-source system and as a community. My name is Myrna Gönnemann and I work in Success Management at TYPO3 GmbH. In this episode, we look at the question of how to move away from selling hours toward building scalable products. And for that, I invited a guest who has helped shape this process in his agency: Florian Keitgen from our partner agency b13.

[00:35] Myrna Gönnemann: Florian Keitgen has been with b13 for more than 12 years, first as a project manager and for about a year now in a very exciting new role as Head of Product Development. I talked with him about why some features developed in agencies are offered as free downloads while others come with a price tag, how you restructure an agency so product support doesn’t get lost in day-to-day business, and how you actually find fair product pricing. Look forward to an honest conversation about the courage to experiment and why products could change the agency model of tomorrow. Enjoy listening!

[01:09] Myrna Gönnemann: Hi Florian!

[01:10] Florian Keitgen: Hi Myrna.

[01:11] Myrna Gönnemann: Thanks for joining us today. It’s great to have you here.

[01:13] Florian Keitgen: Thanks a lot for having me. My very first time!

[01:15] Myrna Gönnemann: Really? Your first podcast?

[01:16] Florian Keitgen: Not my first podcast, but my first time at TYPO3 GmbH. I’ve actually never been here before. The door was opened for me with: “You know your way around.” But no, I’d actually never been here.

[01:27] Myrna Gönnemann: Nice! And that actually brings us right to the topic. As b13, you’re very deeply rooted in TYPO3 core development and the TYPO3 community. Today we’re talking about product development as a second pillar and about your decision to build your own products. How did that come about? Did you feel that certain standard solutions were missing in the core, or was it the wish for more scalability beyond agency services?

[01:57] Florian Keitgen: I think the basic idea why we at b13 said — besides project business and TYPO3 core work. Internally we split things into three areas: classic project business, then a lot of TYPO3 core work with Benni, Olli, and others who contribute to the core. And this third area, products, came up because we had several ideas and realized that getting them into the core would be complicated. The ideas themselves were good, and we were convinced they would benefit the overall TYPO3 product, because they improve something the CMS is currently missing from our perspective.

[02:49] Florian Keitgen: It’s already quite complicated to get things into the core because there are many dependencies, a roadmap, and a general direction. So we decided: let’s develop products that build on TYPO3 — the CMS we feel most connected to. In fact, it’s the only system we build projects with. When we come up with solutions that improve TYPO3, we develop them as products, hoping that they might eventually become a standard. But also with the goal of saying: we see something the system is missing, and it would be great if it eventually made its way into the core.

[03:36] Myrna Gönnemann: And how do you distinguish between a “cool feature” that solves a specific customer case and a real market need that other companies are willing to invest money in?

[03:52] Florian Keitgen: We’ve only been doing this for about a year, so we’re still learning. There were some products where it was clear that more than one of our customers had the same use case. In those situations, it makes sense to offer that feature as a product to others as well. Some products also originate from a specific development for a client. You build something for one client and then realize that this is not the only one facing that problem.

[04:21] Florian Keitgen: If I look at the Managing Editor, for example: the use case became clear in several projects. There are editors-in-chief or managing editors who don’t get admin accounts because of company policies — the IT department says: “Admin accounts are only for us.” In one project I received 35 tickets within a year asking: “Can you create a new user for me?” That made us think: there should be a middle ground where a managing editor can manage their own users. So we decided: we need this for more than one project. Let’s build it as a product and offer it to our clients and beyond.

[05:20] Myrna Gönnemann: Has your team structure changed a lot because of this? You said you’ve been doing this for about a year. Did that create new roles or responsibilities in the team?

[05:30] Florian Keitgen: I got a new role. We now have a Head of Product Development. For a 22-person company, that sounds quite big.

[05:38] Myrna Gönnemann: What was your role before?

[05:41] Florian Keitgen: I was a project manager for ten years. Project management in agencies can look very different. At b13, I learned over the twelve years I’ve been there that project management involves a lot of technical understanding, conceptual thinking, and problem solving — not just handling tickets and talking to clients. From that role, I often co-developed solutions for customers together with developers, UX designers, and clients.

[06:22] Florian Keitgen: At some point I told Benni: I’ve done many relaunches now. I feel like I need something new. I don’t want to do exactly the same thing for another ten years. But I really like b13 and I believe in TYPO3 as a product. So we started thinking about what else we could build.

[06:43] Florian Keitgen: In every company there are ideas lying around that everyone says someone should work on — but nobody actually becomes the product owner of that idea. Part of my role is to pick up those ideas and say: let’s think about how much time this would take. Who will work on UX, design, or concept? Who will implement it? And what should version one, version two, and version three look like?

[07:16] Florian Keitgen: That’s how my role changed. When we work on a specific idea, we bring in colleagues from backend or frontend development, or from UX and concept work. There’s no single “product developer.” Instead we look at who has the right experience or knowledge for the specific idea and bring that person into the development.

[07:47] Myrna Gönnemann: How do your products help you build longer-term relationships with your clients as an agency?

[07:54] Florian Keitgen: Since we’ve only been doing this for a year, I can’t really talk about the long-term impact yet. But we already see that when we approach a client and say: we developed a product that solves a problem — for example dealing with thousands of missing alt texts — it creates a positive response.

[08:15] Florian Keitgen: Or when a client regularly opens tickets asking for new user accounts. Instead of just billing every request, we can say: we have a solution for that. You pay once and after that you can manage it yourself.

[08:54] Florian Keitgen: And sometimes we can even introduce improvements like multi-factor authentication at the same time, which increases security. Often the feedback is: this wasn’t even a problem we actively thought about, but it’s great that you proactively bring a solution.

[09:18] Florian Keitgen: I believe that helps build long-term relationships. But we should talk about that again in five years.

[09:23] Myrna Gönnemann: I’d love to.

[09:25] Myrna Gönnemann: When you explain it like that, it sounds very logical: build a product and solve many customer cases at once. But how much more time and effort does it take to create a solution that works for many clients instead of building something once for a specific customer?

[09:50] Florian Keitgen: It requires a certain level of pragmatism and the understanding that you can’t cover every edge case. A product that works for many customers will always have people asking for additional features.

[10:17] Florian Keitgen: You also need to bring colleagues along with the vision. Instead of saying “here’s a ticket, just implement it,” you say: here’s a problem and a possible use case — what do you think?

[10:52] Florian Keitgen: I also don’t dictate exactly how something should be implemented technically. Developers often know better than I do in their specific area. When we work together on the solution, the product often becomes better.

[11:28] Florian Keitgen: We present prototypes internally, gather feedback, and refine the idea. It doesn’t necessarily cost more nerves than regular client projects, but it definitely takes more time because you start from scratch.

[12:14] Myrna Gönnemann: And how do you decide when something is finished? When is the definition of done reached?

[12:25] Florian Keitgen: When we start with a product idea, we define what version one should deliver. During development we collect additional ideas in Confluence, but our goal is to make version one feature-complete first.

[13:01] Florian Keitgen: For the Managing Editor, we felt the feature scope was right and started selling it. Then we got feedback like: it would be great if MFA management were included. If implementing that feature isn’t too complex, we add it.

[13:32] Florian Keitgen: In another product that generates descriptive image alt texts with AI, the developer learned a lot during the process. It took about one and a half months longer than planned, but the final product was significantly better.

[14:21] Florian Keitgen: For most products we already have ideas for future versions. Then you have to decide whether to expand the existing product or start building something new.

[14:32] Myrna Gönnemann: Selling a product also means offering support. Did you have to adapt your agency structure for that?

[14:48] Florian Keitgen: First we had to think about a sales strategy. Products need communication, a place on the website, and some sort of sales funnel. There’s still work to do there.

[15:08] Florian Keitgen: Regarding support, we basically have two types of products. Some are purchased once for a specific TYPO3 version — for example the Managing Editor for TYPO3 v12.

[15:37] Florian Keitgen: Those products are mainly maintained with security fixes. Then we have subscription-based products where clients pay annually and receive updates and feature improvements.

[16:15] Florian Keitgen: If someone reports that something doesn’t work, of course we look into it. But feature requests are different from support cases. We record them, but we don’t guarantee that they’ll be implemented.

[17:24] Myrna Gönnemann: Agency work is often based on hourly rates. How difficult was it for you to define pricing that is fair for clients and still profitable for you?

[17:37] Florian Keitgen: That’s always a struggle. Especially when you start building products. For one product we simply asked the whole team in a company meeting: here’s the use case — what do you think this should cost?

[18:01] Florian Keitgen: The answers were all over the place. Then you try to find a reasonable middle ground. There isn’t a simple formula for it.

[18:25] Florian Keitgen: What helps us is a mindset we’ve had for a long time: we don’t want to sell hours, we want to sell solutions. The client may think in hours, but we try to say: you have a problem, we have a solution, and that solution costs amount X.

[19:01] Florian Keitgen: That mindset also helps with product pricing. You estimate the potential demand, the effort you invested, and derive a price from that.

[19:19] Florian Keitgen: Sometimes we also use development time when colleagues aren’t fully booked on projects. Instead of idle time, we can invest that time into building a product idea.

[20:02] Myrna Gönnemann: And at the same time, developing your own solution also creates a big learning curve.

[20:19] Florian Keitgen: Absolutely. It’s a very exciting field to experiment with. My product role is about 50% of my time — the rest I still spend on regular projects. That’s important to me because staying close to clients helps with product development as well.

[20:42] Myrna Gönnemann: Do you mainly sell your products to your existing clients, or also to other TYPO3 agencies?

[20:51] Florian Keitgen: At first we were a bit naive. We thought that if we described a problem well and built a good solution, people would automatically find it.

[21:07] Florian Keitgen: That works for our own clients, but it’s not like many end customers suddenly find you through Google. So we adjusted our thinking and realized that other agencies are actually our main target group.

[21:41] Florian Keitgen: Many already know our free extensions. From there it’s not a big step to collaborate and let them use our products for their clients.

[22:06] Florian Keitgen: Reaching end customers directly is difficult for a single agency. If TYPO3 had a central marketplace, that would be different.

[22:42] Myrna Gönnemann: Visibility is a huge topic. Just because someone builds a great solution doesn’t mean it will be found. Do you have any tips for improving visibility?

[23:17] Florian Keitgen: I think the community would benefit from a central platform where you can search for solutions — a marketplace for both free and paid extensions.

[23:34] Florian Keitgen: That way someone could say: I have this problem — what solutions exist?

[24:11] Florian Keitgen: For a single agency it’s difficult to run large-scale product marketing next to project work. Big agencies may be able to promote a single product heavily, but for a 22-person company that’s not easy.

[24:49] Florian Keitgen: We benefit a bit from our reputation in the community. People know that solutions coming from b13 usually have solid foundations.

[25:01] Myrna Gönnemann: To wrap up: do you have advice for agencies that are thinking about building products themselves?

[25:16] Florian Keitgen: I would recommend taking one idea and really defining it. How big is it actually? Often an idea feels huge at first.

[25:37] Florian Keitgen: But when you break it down into steps, you might realize the mountain isn’t that big after all.

[25:47] Florian Keitgen: Then it’s worth sketching the idea and trying it out. And it’s also worth advocating for a central platform where such solutions can be discovered — that helps everyone with product development and marketing.

[26:17] Myrna Gönnemann: Thank you very much for joining us today. I hope we’ll meet again in five years and talk about the same topic.

[26:23] Florian Keitgen: I’d love that.

[26:25] Myrna Gönnemann: Thank you!

[26:27] Florian Keitgen: Thank you. See you in five years. Bye!