Planet Odoo

Revolutionizing HR for Business Success

Odoo Season 1 Episode 34

In today's corporate landscape, the pursuit of top talent has transformed into a competitive battleground, challenging companies in their quest for exceptional collaborators. Organizations find themselves at a crossroads, compelled to proactively adapt and innovate to new expectations. 

In this episode, we delve into the transformative steps taken by Odoo to revolutionize the workplace experience. Our focus: an entire suite of HR applications and tools meticulously crafted to meet the changing demands head-on.

Join us as we sit down with Yannick Tivisse, the mastermind behind Odoo's HR apps, to explore how technology has been harnessed to develop tools that enhance transparency, foster open communication, and cultivate trust and mutual growth within the workplace.

Tune in for an enlightening discussion that could redefine the way you view HR in the modern business world. Don't miss out!

______________________________________________________

Don’t forget to support us by clicking the subscribe button, leaving a review, and sharing your favorite episode!

Try Odoo for free.
Discover more about the Odoo Human Resources app suite !

Concept and realization : Manuèle Robin, Ludvig Auvens, Marine Louis, Cécile Collart
Recording and mixing : Lèna Noiset, Judith Moriset
Host: Olivier Colson

Yannick:

Most of the companies and even the people in Belgium don't speak freely about It's our culture. The goal of the this whole salary configurator thing was to be able for a specific company, whatever the country, to make a simulation of all the advantages at a fixed employer cost. But at that time I didn't imagine that it was leading to the development of a whole payroll engine and the Belgian localization. Everything you develop should be intuitive for the user, and it's also the case for the HR applications because most of the end users of our applications are not people that are used to technologies. If someone is forced to read a documentation or a blog to understand your feature, it means that you missed the point.

Olivier:

Hi, everyone, and welcome back for another tech and dev episode. Today, the pursuit of top talent has become a battleground and finding exceptional collaborators has become increasingly challenging for companies. New workforce expectations have risen, one of them being corporate transparency. As individuals seek honesty, authenticity and genuine engagement, companies need to proactively work towards new solutions. Recognizing this imperative, Odoo has taken bold steps to revolutionize the workplace experience by developing an entire suite of HR applications and tools. Join us for this episode to welcome Yannick Devis, the brain behind our HR applications to explore how Odoo has leveraged technology to develop transparency enhancing tools to foster open communication, trust and mutual growth within the workplace. Hello, Yannick.

Yannick:

Hello, Olivier.

Olivier:

So today we have another audience joining us. So could you tell us more about you and when you joined, because you've been there for a pretty long time, right?

Yannick:

Yeah. So briefly, My name is Yannick and I'm working at Odoo for now, nine I started as a product owner, so I was in charge of the evolution of the applications from a functional point of view.

Olivier:

So you don't have a developer background originally ?

Yannick:

At the basis, no.

Olivier:

How did you get to it?

Yannick:

When I was a product owner, after a few months I got a little bored by these And after a few time I asked to become a full developer. After that I started developing simple features on a human resources application. And then we built a new team with now 30 people, and we are in charge of all the HR applications, service management, like project forecasting and also electronic signatures and subscriptions.

Olivier:

Could you tell us more about these these applications? So human resources, I guess everyone knows more or less what it is. Why would people need applications and what what would be these applications in this scope?

Yannick:

Yeah. So, having an application to manage the human resources could be, I think, myself, uh, I know it, etcetera. But it's important to have some tools to gather all the informations at the same place, to be able to manage the communication with the external peoples like applicants, for example, to be able to make reportings as soon as the company is a little bit bigger, etcetera. And it's also important to have the correct tools to do the things correctly. I mean, for example, for the payroll, uh, management, you cannot generate a payslip if you don't have the correct information to uh, uh, compute the payslips, actually.

Olivier:

Sure. So it's essentially a matter of volume then?

Yannick:

Yeah. A SME, doesn't need, we could saY, to pay for having this kind of applications because they have other targets and other priorities. But when you are becoming a little bit bigger, it's important to do this correctly.

Olivier:

What are you adding into them today? What are those apps doing actually?

Yannick:

So at the beginning we develop the applications because we needed them at Odoo Um, I don't know. You would like to make an appraisal for an employee. We decided to develop the applications because we needed them. The first HR applications that we developed was the recruitment application because we hired one employee, then two, then three, and then it became logical to develop this because we are using the tool that we develop. And so most of the HR applications have been developed because Odoo was growing and because the need was there at that time.

Olivier:

Do you maybe have anecdotes of that or specific examples?

Yannick:

So I spoke about recruitment and appraisal, but also we develop the salary already went on the odoo slash job page on the website because it allows you to see a contract for a developer or for a consultant to see the budget that is given to the employee and all the advantages that you could receive when you work at Odoo. And there is also a simulation of your wage salary from the gross salary to the net salary. So you can easily see what amount of money you could have in your pocket at the end of the month.

Olivier:

And what can you configure exactly in that thing? So it's interactive, right?

Yannick:

Yeah, it's interactive. The need was at that time there were a lot of HR issues like the internet subscription paid by the company, etcetera. And each time the employees had an appraisal, they were saying, okay, I would like to have this. And then another one was saying, okay, you got this. So I would like to have this also. Yeah, but it's not the same thing because you're salary was bigger and cetera. And so there were a lot of discussions between the managers and the employees, and it was becoming very time consuming and energy consuming. And at that time, Anthony came to me and said.

Olivier:

So Anthony is the.

Yannick:

Anthony is the CTO of the company. And he said, okay, I have an idea and it could solve all my HR issues. Would would you like to work on it? And I said, okay, why not.

Olivier:

Please solve my problems.

Yannick:

Yeah, solve my problems. But I at that time I didn't imagine that it was leading to the development of a whole payroll engine and the Belgian localization because now we are generating the payslips internally and in Belgium it's known to be quite rather complex to generate the payslips in Belgium. And so at that time I wasn't aware that it was becoming such a huge project.

Olivier:

And so from a technical point of view, you were talking about an engine. So I guess nothing or few things I don't know are hardcoded into it. And so you can configure it differently depending on the country you want to address. And you have something that can be ported to other countries And Belgium, is it.

Yannick:

The goal of the this whole salary configurator thing was to be able for a simulations of all the advantages at a fixed employer cost. So when the employer will say, okay, I'm happy that you work here for one year, for example, no, your budget will be of €100,000. The employee can see all the advantages that he got. He can choose whether he wants to have an Internet subscription, etcetera. And each time he chose another advantages it will recompute the gross salary so that the employer cost is the same. In French we call that the plant cafeteria, and it's common in Belgium, but it could also be used in different countries.

Olivier:

So you made something generic that you can reuse? Okay. And is it something that is done by other softwares? How did you get the idea of doing that? I mean, the obvious thing that can come in mind is really it's like a video game. You have your character and you're configuring every statistic. But was there some other inspiration? Is it something that was the first time in the business world or?

Yannick:

In Belgium, I never saw that before because most of the companies and even the salaries without even with their friends, because it's how we behave. It's our culture.

Olivier:

Yeah, it's weird because it's a bit gross to add some to ask someone, by the Yeah, it could be considered as rude, but the idea is the same than Amazon A few years ago when they create their e-commerce. They were displaying the prices on the page, on the website page, and most of the companies were saying, okay, we will never do that because if we display our prices, maybe another company will display a lower price for the same product. And we won't be competitive in front of the other companies. It's the same reflection, the same idea over here. Is that people don't like the fact that they have to say what is their expectations for a salary. When you got an interview, they're saying, Oh, how much would you like to gain? Sometimes you say, okay, if I give an amount that is too high, maybe I will be refused because my expectations are too high. If your amount is too low, maybe they will say, okay, yes, it's a bargain and come work with us. And you have the feeling that you lost something. At the beginning of your career, you don't especially have an idea of what you can ask for and and what what shouldn't be asked for. And so it's really, really hard because you feel like, okay, it's really uncomfortable.

Yannick:

Yeah. It makes you uncomfortable. And also, you don't have any idea of the net amount that you gain. So you will say, okay, my growth is of €3,000, but you don't even know if you will be able to pay your bills and to buy your groceries and etcetera. So here, the massive advantage of this is that you can, you can check this at home and when you're ready with the salary package that you chose, you can sign electronically your salary package and then it can be countersigned by the people and everything is integrated inside the system.

Olivier:

And so,on top of being more comfortable for people, it's also faster and more

Yannick:

Much more faster. And also people are feeling them by themselves the form in etcetera. And so it's also much more easy for the HR people to manage everything because they don't have to re-encode the information to ask for them and sometimes make mistakes.

Olivier:

And I assume also it it allows keeping more time for them for more specific Are there cases like that or do you do you really support everything in Belgium?

Yannick:

At least now at Odoo, we have more than a thousand employees. So it's becoming a huge company at the country level. And, we have a lot of special cases like the time credits, which is a decreasing of the working schedule. There are, I don't know, the educational time of, there is the partial time, there is also the whatever, the long term sick leaves, etcetera. And everything is managed for the number of employees that we have in Belgium at Odoo. And we could say now that given this diversity and complexity, we could say that we are managing the Belgian payroll quite efficiently.

Olivier:

And so over the years, I suppose you, you added those features when, when Odoo

Yannick:

Yeah. It was a little bit a rodeo at the beginning because.

Olivier:

We want to know.

Yannick:

After a few years, the salary package was already developed and used for the But, Anthony said that they stopped working with an external company that was generating and managing the payroll for Odoo. So in Belgium, the tax computations and the declarations are rather complex. And so, most of the companies in Belgium are delegating the payroll to external companies. And it could be quite expensive. For example, for Odoo, at that time when we had 500 employees, it was costing nearly €100,000 per year, more or less. So it means that it's more than one full time developer over a year, just to manage the payslips. And so Anthony said, okay, we have an idea, we will stop working with this external company. And so in five months, we will start generating the payslips by ourselves. But at that time we only had the payslip computation for a classic payslip, a perfect use case. You know, when, the guy is working full time and,

Olivier:

The case that never happens.

Yannick:

He's not sick. He's not taking anything outside of the perfect scope. And so we had to start developing the features one by one so that the classic payslips could be less classic and then developing other specificities in Belgium, like the eco vouchers, the holiday pages, recovery, etcetera, and the Declaration. So we developed the payroll during the five months and then we started directly on the production base to generate the payslips. But we had over a year to develop on the fly the features that were missing at that time. So, it was a little bit complex because we had to develop these features, but also with the stable policy which is there.

Olivier:

Because just to remind people about that, you cannot change anything in an And so, there is the stable policy preventing doing too dangerous changes for the sake of, well, just the program running.

Yannick:

That's right. And to avoid breaking the database because you added something So, with all these constraints, it was a little bit difficult. But, at the end we managed to develop the payslips over the whole year to make the monthly and yearly declarations. And now it's been two years and half that we are managing the, the payroll by yourself. So it was a huge challenge, but it was very interesting and also intellectually stimulating to do this.

Olivier:

Yeah, plenty of rules to learn everywhere. It's like a very complex game.

Yannick:

And also for the legal side, and the fiscal side also, it was very interesting.

Olivier:

And is it used a lot outside of Odoo?

Yannick:

I know that there is a lot of partners, so Odoo is editing the software and specific features for customers. I know that on the partner side, it's used quite a lot. And we are also developing the localization for all the countries in which Odoo has a office currently. So we develop the Kenya, we are developing the United States and also other countries. So we are starting starting to develop a full suite of payroll localization as we did for the accounting a few years ago.

Olivier:

And I guess it's what we can hope for the future is to have it like everywhere

Yannick:

Yeah, I hope so. It's a lot of work. But we are ready.

Olivier:

There is one more application we didn't mention yet. It's referral. So could you explain us what it consists of?

Yannick:

We believe our best talents will come from our employees close circle. So as other companies, we are asking to our employees to make some advertisement about the other jobs. And when some people are referred and are finally hired, they are gaining a little bit of points that can be used to have some gifts like a mug or a or Amazon vouchers, etcetera. And so we developed an interface with superheroes. And around you, you can see the people that you hired, etcetera.

Olivier:

So you're kind of building your Justice League slash Avenger squad around you.

Yannick:

Yeah. And so it's a little bit funny because there is a gamification behind that So as soon as an applicant is moving to another step in the recruitment process, it will grant you some points like 20 points if he passed the technical interview, hundreds of points if the contract was signed, etcetera. And at the end you can see the points that you gathered and there is a funny interface with the little guys around you.

Olivier:

Okay? So it's interesting because I guess having gamification for this kind of And I think using the superheroes was a good idea. Honestly. As a final point about HR applications, what what kind of interactions you have with in-house people in Odoo, because you were talking about the salary configurator and the fact that we adapted it or that you adapted it because I wasn't in it. You adapted it over the time, depending on the use cases that arise. So is it something you do on every app?

Yannick:

Yeah, we are doing it for all the HR applications because there are feedbacks For example, the last one was about the recruitment application. One of the recruiters were saying that they have some people who are applying for different jobs at the same time or who some guys were uh, applied a few years ago and applied again now. And they were asking if it was possible to check this when they are applying from the website. For example. And so we developed a small button saying all the applications and it's based on the email address or the name with which the applicant created the application form. So for example, when we migrate to a new version, they were saying, okay, since the migration is it's super slow, I don't get why and we are checking with them because it's also, it's a tool that they are using daily and it's important that the interface is snappy and and moving fast etcetera. And so, when they are saying this, in that case we are checking with them what is the issue. And we are making a lot of performance improvements to generate also the payslips, it could be quite heavy because there is a lot of data to process. And when we got feedbacks from the HR people, we are trying to see if there is something that we could do and also do it generically so that it can be a good solution for all the different companies and not only Odoo.

Olivier:

And what would you say is like the core philosophy behind these apps. What's the spirit when you're making something for these apps, when you're deciding what to do, for example.

Yannick:

I think that it could be the transparency and the respect from a human point of Give us an example of actual things that were put into the software because of that. Yeah, but the transparency. I can give the example of the salary configurator. We discussed it a little bit earlier, but it also allows you to show that everyone is considered on the same level, you know, because from the website you can see what is the salary that you could expect as a developer with two years of experience, for example. And it's the same amount for everyone. And so it's also a question of transparency for this point. And it's reassuring because you see that you are considered the same way than another guy coming from the university or from a school at the end of the day, etcetera.

Olivier:

Other things like that. In other applications than the salary configurator?

Yannick:

About transparency.

Olivier:

Or respect in general?

Yannick:

For the respect, I would say that for example, when someone is applying to Odoo, because now it's difficult to call someone to say, okay, the interview was okay or not, there is too many people, but at least saying, okay, we would like to work with you or we won't work with you because that was not okay during the interview. And there are, for example, automatic emails that are sent when the contract is moving from a stage to another to say, okay, now you move to the second step and etcetera. So with this kind of interactions, it also showed that we care about the people, even if at the end we won't be a good fit to work with us. But at least we said it to him and he got a feedback.

Olivier:

Because I guess it's important. It's a matter of, of respect actually of human beings in general. The guy applied to your company, so I guess you can respect that. You should at least. And and personally, it's true that before entering Odoo, I had some interviews in other companies and I remember a few times where I didn't get any feedback and I was like, Whoa, Because, you know, you're supposed to get one. They tell you you will get back to you and you don't get anything. I guess it's better to do something.

Yannick:

Yeah, Yeah. And you deserve it because you spent some time with them. And it takes some courage to come and apply and sell yourself. And it's not an easy exercise. At least we could say. Okay, we heard you, but it's not sufficient for us, for example. And to come back about the point about how do we get feedback from the team, from the in-house people. I would also say that the payroll officers are maintaining a list of all the points that have to do manually every month. And every few weeks, we are checking all the points with them. And so, if we see that there is something that we could develop in the standard solution so that they don't have to do all these manual actions every month, we are developing it also and it's a benefit for all the companies, not not Odoo only.

Olivier:

I think it's something interesting to do as a developer or application developer Because here you're basically saying that, yeah, if they find something that is not working as they want it to be or if they need something more, they keep a list on that and you keep an eye on it. And so you keep in mind that there are things to improve in what you did.

Yannick:

Yeah. The goal is to have something that works first, and then we are trying to And that's the reason why we are doing all these interactions with the in-house people.

Olivier:

And about the way you create those functionalities about the team. So how many of you are there?

Yannick:

We are nearly 30 with the product owners.

Olivier:

That's a lot of people.

Yannick:

It's a big team.

Olivier:

How do you handle the team? How is it like split? Are there sub teams? Is it everything's centralized or new and you decide everything or what is the system for that?

Yannick:

There was a time I was reviewing all the tasks that were developed by the

Olivier:

Because you become the bottleneck, then.

Yannick:

Yeah, I become the bottleneck. And during Covid, it was also difficult to communicate with all the people. We had to make much more effort to follow people, see if everything was okay, if they were not stuck, etcetera.

Olivier:

It's true. I think it was a big effect of the pandemic and the fact that we were not going super good on its task, you can see it on his face. You can and you will ask him eventually, but remotely, you might even forget that this guy is in the team for like two weeks and be like, Wait, what is he actually doing now?

Yannick:

Yeah. And we lost the nonverbal information that we could gather from the the But also there was the this project of payroll, Belgian payroll to, to develop.

Olivier:

Kept you busy, busy for long.

Yannick:

At one time it was too difficult for me to manage everything at once. So I had to delegate and I had to find some ways to make myself useless. Okay. And I think I managed it. So it's a it's a good signal, I think, even if it's difficult for the ego sometimes. But, that was the idea to give some responsibilities to different people from the team who were interested into these responsibilities. It's also important.

Olivier:

What kind of responsibilities? What did you delegate exactly?

Yannick:

For example, the reviews of the tasks that were ready to be deployed. Also some responsibilities about the team structure, you know, who is going to be a reviewer.

Olivier:

So just to be clear, for non-developers or people not really familiar with the So someone develops something to add a feature somewhere in Odoo for him, it's ready. Then it needs to be checked by another developer that that well experienced developer, a guru like you that will validate essentially his work and merge it into the code base.

Yannick:

Another responsibility that was shared was the coaching of the new people and

Olivier:

And did you give it to the same people as the reviews or to different people or.

Yannick:

No, I'm a lucky guy because everyone in my team is really motivated and they And so they were saying, okay, I would like to coach someone and it's a project, a little challenge that could change my daily work, to coach and and help someone who is coming in the company because Odoo is a complex software with a lot of different things that you have to learn, a lot of variability. And so they took these responsibilities over a few months and after a time, my life was was much more easy to live.

Olivier:

But that's an interesting approach because you could have done it the other way You, you and you you're going to do that now. So it was not at all like that that it happened. I it's more, more spread on the team.

Yannick:

So yeah, yeah. And it wasn't really my idea at the beginning because I was a But it's some people in the team that were saying, okay.

Olivier:

It occurred like naturally.

Yannick:

Yeah. And when they suggested that they manage some things like, the coaching, And I was really okay with that idea because I think that now I could have done it before and I'm happy that it was done that way.

Olivier:

And probably you can also feel the difference in the way people get experience Because they are more involved.

Yannick:

Yeah, because they are feeling more important. It gives some meaning in what you do and what you can produce. And also it motivates other people because they see that everyone can get responsibilities if they wish. And so it's also motivating. Most of the companies are offering these responsibilities if they become manager, etcetera. And it's absolutely not the feeling that we want to give inside our team. For example, I do not consider myself as a manager. I'm just considering myself as a reference people in case there is a problem to solve with the the CTO, for example, or the CEO.

Olivier:

So we are slowly reaching the end of the episode. So as a final point, I would like to ask you something more general. Do you maybe have some tricks that you can give to some tips that you can give to people to develop business apps like that? What would be the good practices, what to do, what not to do?

Yannick:

Yeah, sometimes when you start to develop a new project and also if it's a enthusiastic. And the the idea is not to rush directly into the the project. So, make sure that you fully understand what you want to develop and what is the problem that you would like to solve. For example, when we create a task in our team, there is always two sections, you know the purpose and the specification, and it's to force the product owner and the developer to understand the purpose. So the why you this task is there and why it has been created. So the idea is to really understand what we want to solve. And after that we can say, okay, how I will solve this issue, but before you have to understand what you want to.

Olivier:

Yeah, because this way you won't get to focus on one technical thing in the why are we doing that actually? And maybe take another approach. Yeah.

Yannick:

And it's funny that you speak about the technical side because also when you try constraints aside because it will block you. It will prevent you to have these innovations and these curiosity and creations that you could bring into your application. So it's important to say that everything is possible and then see the constraints while you are developing the application.

Olivier:

Indeed. And I think it's an important mindset indeed when you have anything to feedback from functional people being like, Oh, is it possible to do that? You're like, Yeah, of course it is possible. The problem is not whether it's possible or not. Technically, it's whether it's a good idea to do that. Okay. Other tips?

Yannick:

Yeah, another tip. I would say that don't try to solve everything at once. It's important to develop fast, not develop fast, but deliver fast and then add the new features as soon as you are, evolving, you know?

Olivier:

Yeah, there is knowing what you need to do and knowing the direction in which

Yannick:

Yeah. For example, if for the Belgian payroll, if we waited to develop the whole don't know to see if everything was there and then releasing it, we would still be developing it right now, you know.

Olivier:

Because you develop everything, it takes a lot of time. Then you realize that there is one case that you don't support and you need to restart everything and so on and so on.

Yannick:

And if you try to develop the project at 100%, for example, maybe at the end you you know, legitimate. And at the end you will cancel it. And if you deliver quickly, you will see directly that it's not a good fit. And so, that you are going to a dead end. And so yeah, you have to stop developing this.

Olivier:

Okay. About project management, maybe some advices?

Yannick:

I would say that you have to communicate a lot because, for example, a the task with a specification because he got something in his mind. Don't hesitate to argue to, to say okay, but I think about this use case, maybe it will break if I develop what you ask and that's something.

Olivier:

We do a lot.

Yannick:

Yeah, no, it's a philosophy, but yeah, but it's important to discuss, to adapt specification, maybe you will crash into the wall after a few months.

Olivier:

Plus if you make sure to challenge it and well you will better understand it I And so you might avoid forgetting about corner cases or

Yannick:

Yeah. It's important also, we have a granularity in the Odoo development, other, etcetera. So maybe the product owner will ask something in the sales management application, for example, and he won't be aware of the implications it could have in the stock management or inventory management application. So it's also important to discuss between teams and between different experiences to check that everything will be okay. And also we are developing a solution for different kind of companies and we have to be generic and not too specific also.

Olivier:

Plus discussing with a lot of people like that might give you like a broader that otherwise you wouldn't have thought about.

Yannick:

Yeah. Sometimes we are developing something at one place, then at second and the

Olivier:

That's something anthony says, the first time you do something, it's okay. Second time you copy paste the same thing or nearly you like. Okay, never mind. Third time you should be thinking maybe I should do something common for them.

Yannick:

And it's also the power of Odoo, is to take a transversal feature like the abstract object that you can reuse everywhere you want. You know.

Olivier:

Some tips maybe about the functional side and and when someone so someone is How do you how do you know what to go for?

Yannick:

Yeah, I would say that it's important to see the the big picture. So don't focus on just one business type, you know, And also there is the typical phrase "don't make me think" means that everything you develop should be intuitive for the user. And it's also the case for HR the applications because most of the end users of our applications are not people that are used to technologies and that.

Olivier:

Will look into the source code to know what this option does. Yeah.

Yannick:

And so we have to make things simple so that they don't have to search and read It's not the idea. If someone is forced to read a documentation or a blog to understand your feature, it means that you missed the point.

Olivier:

Well, that would be the final advice for today. Thank you for all your answers and all these explanations.

Yannick:

Thanks for inviting me. It was a pleasure. Pleasure.

Olivier:

Thanks for tuning in for another tech and dev episode. I hope you enjoyed exploring how Odoo has taken bold steps to revolutionize the workplace experience by developing its HR tools. We love to deliver you with tech savvy topics, and if you'd like to stay with us longer, go listen to our discussion about the functionalities behind the stock application. Until next time, please consider subscribing and share the show. Cheers.

People on this episode