Interview with Stefania Trabucchi (Abstract Technology)

Show notes

Stefania Trabucchi, co-founder of Abstract Technology, discusses the company's focus on supporting clients with Open edX as their Learning Management System. She outlines their services, which include consulting, content creation, and project management, emphasizing the importance of team dynamics and a collaborative approach to understanding client needs. Stefania explains their use of agile methodologies like Kanban to manage multiple client projects efficiently while maintaining flexibility. She highlights strategies for managing remote teams and the importance of maintaining customizable software without forking the Open edX solution. The conversation touches on the challenges of open-source contributions, automated software testing, and the qualities sought in potential employees, particularly in software development roles. Throughout the interview, Stefania underscores the significance of community engagement and collaborative innovation in the educational technology sector.

Show transcript

Thomas: Estefania, great to have you here.

Stefania: Thomas.

Thomas: Can you tell us a little bit about yourself, maybe for starters,

Thomas: and about your company, Abstract Technologies?

Thomas: I always get that wrong.

Stefania: It's one technology. Thank you very much, Thomas, for the invitation to be here

Stefania: at the German UDS campus.

Stefania: And yes, so my name is Estefania Trabucchi, and abstract technology is an educational

Stefania: tech agency specialized in supporting clients who choose Open edX as the LMS.

Stefania: And as a software development company, we offer consulting.

Stefania: We specialize in integration to the ecosystem of our client.

Stefania: So an additional, of course, consulting, maintenance, support,

Stefania: content creation. So everything that offers the optimal performance,

Stefania: basically, on the client's needs.

Stefania: My role in the company is I'm a co-founder of the company.

Stefania: I have managed the company from the administration and from the operational side.

Stefania: That happens when you are a founder and you have the responsibility to do that.

Stefania: But I hope and I know I have good colleagues. So my work is basically as a supervisor

Stefania: and in many cases to be a creative part.

Stefania: I'm good in networking, so which helps, let's say, in the community to networks

Stefania: with many other actors in the field of education.

Stefania: And also I have a group of other SEO where we meet once in a year twice in a

Stefania: year and we discuss also some problem very very open because all of us we share

Stefania: open edX not only open edX but let's.

Stefania: And approach. So basically, we say a company always need a good team and a good

Stefania: atmosphere if you want to run it.

Thomas: Definitely, I fully agree with you. So how do you work with your customers,

Thomas: with us, for example, and others?

Thomas: How do you help them to basically formulate what

Thomas: they actually need i mean i remember that when when i was in a in a opposite

Thomas: role as i'm now um that i often had to to deal with customers that told me they

Thomas: want to have this and that and in the end they needed something completely different it's.

Stefania: A very good question thomas and um so how we deal with that Our approach with

Stefania: the customer is we try to be as much as possible collaborative.

Stefania: So collaborative means that we focus to align the client's need with practical solution.

Stefania: You can have a lot of ideas, but you need a solution at the end.

Stefania: So we begin with the design thinking model to ensure a deep understanding of

Stefania: the client's goals, the expectation, the objective that they have.

Stefania: And so after gathering all, let's say, all available requirements.

Stefania: And indeed they can be very different. A migration project is completely different than a new project.

Stefania: So we have to understand all these requirements and then we conduct first a

Stefania: form of internal analyse.

Stefania: So we collect everything and we discuss internally the technical part we understood

Stefania: and we ask back and forth.

Stefania: So this is the first initial part. The second is to come together.

Stefania: To come together in as many workshops we need, we do it.

Stefania: Basically one, two, three workshops can be needed.

Stefania: It depends from the size of the project.

Stefania: And in this workshop we ask

Stefania: really to redefine in a different way

Stefania: the needs okay and we design this different way if this approach together with

Stefania: the client so in this part we define the work packages and we try to make the

Stefania: first idea of the all the deliverables so.

Stefania: In in in the workshop we always ask not to be only the technician with us we also ask the first,

Stefania: workshop is for us important that the CEO is with us so because we know that

Stefania: change management in the in a company or something new that need to create it

Stefania: should be also approved and understood from the top, so to say.

Stefania: So we always try to run through this iteration between speaking with the client,

Stefania: collaboration, fund idea,

Stefania: define work packages and go back to establish model.

Stefania: The last part of collecting all the requirements is to create a good team.

Stefania: Basically, it's important that if we follow all these steps,

Stefania: we are able with the team and what we have created to start the project.

Stefania: Basically, my suggestion for collecting and do the analysis in the project is

Stefania: really to be very, very communicative,

Stefania: very directly, also with the CEO, also with the other team to ask everything

Stefania: in this situation and never do it later.

Stefania: That's how we start project with the client.

Thomas: So maybe as an extension to the previous question, so how do you determine,

Thomas: you mentioned it a little bit already but how do you

Thomas: determine how you can um align those needs uh so that you are working with the

Thomas: i mean you you said you're working with open addicts so it's not um you're not

Thomas: working on a on a green field it's basically there is something there and you have to,

Thomas: deal with what is there and and basically match that with the needs of the of

Thomas: the customer how do you do that.

Stefania: Well, Tomas, we tend to simplify a process.

Stefania: Clients mostly, when they come to us, they have a big idea.

Stefania: And the big idea is complex. They cannot write it down.

Stefania: They don't need to write it down. They have to explain it. So we need always

Stefania: to chunk, let's say, pieces and find always the minimum viable product.

Stefania: So we always intend to capture small and crucial part of the requirement in a small MVP.

Stefania: Because these always allow us to validate the right direction immediately.

Stefania: So this is the agile process that, of course, we have in place.

Stefania: And then when we have this first MVP, we iterate. So then we are able to tell

Stefania: the client, OK, you want to add something you have had in mind.

Stefania: We know we started in the requirement in the workshop.

Stefania: Let's add it there. But the first part should work, because if we start from

Stefania: a difficult idea from the clients, we will never go ahead.

Stefania: Everybody will be frustrated. We do not have nothing in our hands.

Stefania: The clients start to be asking for when we are ready.

Stefania: So and we really try to prepare

Stefania: these uh minimal viable product product

Stefania: it could be the setup of the of the platform and ready to go you can create

Stefania: your content this help the client to understand what is needed next okay so

Stefania: and um during these uh these uh this uh process i would say which is very modular,

Stefania: it allows us and the client a lot of flexibility in thinking about in the right direction.

Stefania: The other important thing is that we know the software, not the client.

Stefania: The client is coming to us. We know the software. So we have idea how to get there.

Stefania: Sometimes we are really surprised which idea we have. But if it works and the

Stefania: client is happy with that, then we support the idea in the next iteration.

Stefania: So iteration and moving around is important.

Stefania: And simplify the work. because simplify in small

Stefania: pieces is the best way how you can convince the client and how the client is

Stefania: able to collaborate and help you as well so it's a team from we have our team

Stefania: the client have a team up we have to be a team otherwise it will never work yeah so.

Thomas: So yeah i think that's a great approach so um also to show or to see these these

Thomas: small steps as they as they proceed and you

Thomas: are not waiting for months and months and months and then you get like this

Thomas: big blob of something and then it's not what you want to have.

Stefania: That's a monolithic way wait until it's ready and then it will show you with

Stefania: a big bang that the product is there no never do this that's correct is a smaller

Stefania: faster and a lot of iteration that's the best way we we work.

Thomas: So my next question already You might be a little bit obsolete in that direction.

Thomas: I guess you're not using the waterfall approach.

Stefania: Oh, no.

Thomas: Not really. But which software engineering processes do you use?

Thomas: Are you working with Scrum? Are you working with Kanban?

Thomas: Other models, other frameworks? What are you using?

Stefania: A lot of experience is always the basis of this.

Stefania: But of course, methodology helps. methodology and tools help us to support this

Stefania: project so we in abstract we choose the agile methodology as I mentioned before chunks,

Stefania: small pieces, simplify everything and we combine these with Kanban,

Stefania: Kanban is for us the natural fit for our software process engineering because

Stefania: it prompts, let's say, flexibility,

Stefania: continuous improvement and clear visibility on what we are doing.

Stefania: Agile's interactive approach allows us to break down complex projects into management

Stefania: chunks, as I said before, and delivering them incrementally.

Stefania: Kanban boards allow us to have a real-time view of what is happening from the

Stefania: beginning of the project until the end of the project.

Thomas: And not only you, also us as the customers.

Stefania: Exactly, exactly. The client and for us and for our team so each of us have

Stefania: always a clear view about task status comments requests,

Stefania: feedback needed everything is there from the backlog so to say when you create

Stefania: a kanban to new stuff to progress stuff until the competition and then you are

Stefania: ready to archive everything but This is the process we run through.

Stefania: One important thing I need to say in the Agile method is Agile sounds like chaos,

Stefania: but Agile needs a lot of order.

Stefania: So you can work with Agile method, but it's like a bookshelf.

Stefania: If you have a good order bookshelf and in a big space, you know exactly where

Stefania: to go and where to find the book you are searching for. In the Agile or in Kanban

Stefania: board, it's exactly the same.

Stefania: Of course, tools support you, but if you don't know where the information are

Stefania: that you immediately need, then is Kanban maybe not the right solution.

Stefania: So you always have to have the control on the project.

Stefania: This is essential independently from the methodology.

Stefania: Theory is good, but if then you are not applying these in a way that you are

Stefania: able to find everything that can create a lot of struggling moment, frustration,

Stefania: ping pong situation when the client said, I told you and said,

Stefania: no, I never heard about it.

Stefania: So also to put all the information clearly somewhere, what we discuss together,

Stefania: what we define, where we want to go, what is our small deliverables,

Stefania: what is the work package we are working on.

Stefania: This helps all of us to understand better the project and hopefully to do not so many errors.

Stefania: Software also in software project errors are human and errors happens but a

Stefania: good um a good system helps us a lot.

Thomas: And i think.

Stefania: Our client as well.

Thomas: Yeah definitely thank you

Thomas: for confirming this yeah absolutely i mean

Thomas: there's there's nothing worse i i really i i'm

Thomas: a big fan of canman yeah i mean we've been

Thomas: working with uh in uh my former company for

Thomas: example with the scrum as well with the Kanban with

Thomas: different a couple of different approaches uh in

Thomas: the end we mostly came back to Kanban um

Thomas: because uh Scrum in

Thomas: in many cases I mean I really

Thomas: like the idea of Scrum exactly but

Thomas: in uh in the in in in in Praxis

Thomas: um it has

Thomas: so many overheads uh in

Thomas: meetings and and like all that stuff and it's um

Thomas: it's really hard to do that properly

Thomas: and um i had

Thomas: some some scrum training as well but uh so as my my scrum teacher always told

Thomas: us there is no such thing as doing something like scrum either you do scrum

Thomas: or you don't scrum and kanban is uh it's really more flexible it's it's a it's

Thomas: a really very unobtrusive way to to handle that.

Stefania: I have to say that i i agree with your point of view about Scrum. I like Scrum as well.

Stefania: The point why we cannot do that

Stefania: is because we have different clients every day that we have to support,

Stefania: So we have to analyze the priority every morning and change some team's member

Stefania: from one project to the other project.

Stefania: This is very difficult to do in Scrum because you have a clear weekly or two-weekly

Stefania: process. You can never take out someone from there.

Stefania: So that's also the main reason why Scrum, it doesn't fit for us.

Stefania: It's good, but it doesn't fit for us.

Thomas: Yeah, I think it's really a question

Thomas: of the team. It's a question of the tasks that you have to work on.

Thomas: A question of the whole direction of the company you have.

Thomas: It's a difference if you're just working on one project and then building that

Thomas: from start to the end and then start a new project if you're working with different customers.

Stefania: Yes. When you have a big project and only one client, probably you go with Scrum

Stefania: and it's much better because all the team follow the rules of the Scrum.

Stefania: And this is ideally where Scrum comes from.

Stefania: Basically in our company this is

Stefania: not working because of all this flexibility

Stefania: we have to or we want to

Stefania: offer to our client that when they have an important request we stop another

Stefania: project and we help the client and then we will we go back again instead of

Stefania: let's say forcing the client to wait a week until we fix maybe a small thing

Stefania: that is blocking the client as well.

Stefania: So that's the flexibility and the agility that we,

Stefania: um keep um running every day we try we do our best to do that as you mentioned.

Thomas: How how you how are you living this this process this kanban process so are

Thomas: you using particular tools to do that i mean i i like personally.

Stefania: Uh if.

Thomas: I would have the choice to do it i would always prefer the board in the kitchen like.

Stefania: The sticky post but that doesn't work in if.

Thomas: You work with the customer for example and it doesn't work if you um have a remote.

Stefania: Team or remote.

Thomas: Team members and um so so how how are you living this.

Stefania: Yeah well i i

Stefania: think that um one important things uh you do things with person you do things

Stefania: with teams member so the person behind of any process is pretty important how

Stefania: you run a company how you do project for your client so.

Stefania: You always for also for

Stefania: a Kanban you need a project manager that is

Stefania: able to guide everybody to

Stefania: guide the client to guide the requirement and to guide the team and to keep

Stefania: order as I say it should be i have to find everything anytime and sometimes

Stefania: we test it as well so i don't know anything about the project i go to the kanban

Stefania: and i have to understand it so it's a good game to to,

Stefania: help newcomers how to deal with the kanban board so it should be really readable

Stefania: like a book i open a book i understand chapter after chapter what is saying

Stefania: what is it if it's the chapter ready,

Stefania: if it's the chapter on hold, if it's the chapter,

Stefania: if people are working there or not.

Stefania: So this is more a technique and the support of the people, how they do this.

Stefania: Of course, you need tools, tools that track time, track the information,

Stefania: connect the information, information should be connected.

Stefania: So basically, I think that in the daily routine we have in our company,

Stefania: we have three main tools that we use. One is the project management tool.

Stefania: In this case, we use an open source tool, which is called Steiger,

Stefania: but you can use Jira, you can use other solutions.

Stefania: The second is the communication with the team. We are not in the same room.

Stefania: We are more or less a remote company.

Stefania: So for the fast communication, we have a Slack channel so that we really,

Stefania: any times we can ask. And we also have a kind of rule that later,

Stefania: after five minutes, I have to say, I'm coming.

Stefania: And then we have virtual rooms that are open so that we can jump in a room,

Stefania: like coming in your office and asking, hey, Thomas, have you seen my email?

Stefania: Can you help me in that? So we do it in this virtual room. They are open and

Stefania: I can jump in and ask my colleague.

Stefania: So those are the tools we use. We use BiblioButton for that.

Stefania: So Slack, BiblioButton, and Project Management Tool are the most important tool

Stefania: for us. Of course, we have documentation tools.

Stefania: We have minor things that we need, GitLab repository, all the infrastructure,

Stefania: which is also for the software development.

Stefania: I will not make GitLab or GitHub reduce to be only a repository space, because in many cases,

Stefania: the documentation tracked in a repository is much better than in another paper document,

Stefania: digital document, of course, where you ask your developer to put the information there.

Stefania: So those are the tools, basically, we used. And of course, organization,

Stefania: assign the task correctly.

Stefania: So no chaos, assign the task so that everybody have a clear idea what they have

Stefania: to do daily or every hour or for a week or what else.

Thomas: There's nothing worse than being in cc of thousands of emails.

Stefania: No not really not am i supposed.

Thomas: To do something here or not.

Stefania: Yeah exactly but client of course want to use email and in many cases we take

Stefania: the content of the email and we add the content in the in the in our,

Stefania: project management tool so that we are able then to see the history of the communication

Stefania: as well This helps us also to understand,

Stefania: okay, we have the problem, how we solve the problem via email,

Stefania: because maybe the CEO is not in the project management tool.

Stefania: So there is, of course, email communication, if we love it or not.

Stefania: And one other thing I have to say is, so as a key takeaway in this topic is

Stefania: the fact that sometimes you have to reinvent the wheels.

Stefania: So it works well but sometimes also people

Stefania: need changes and then we look to something say okay we are discovering a new

Stefania: better channel than slack let's move on so don't don't stay too long in something

Stefania: uh if your team is complying on it and say oh no it's not good because we

Stefania: not do direct call for example in slack we can um so always try to be flexible

Stefania: also in the tool you are using that's a little bit a philosophy.

Thomas: That we have but don't reinvent the flat tires.

Stefania: Never invented no never invented the will but change sometimes the direction

Stefania: because that's motivate the people sometimes, yes.

Thomas: You already mentioned you're working with remote, or your team is basically,

Thomas: or you have a lot of remote workforce, people working from different places.

Thomas: How do you organize that? How does that work for you?

Stefania: I would say this is a really difficult question. Probably the most difficult one. so,

Stefania: How do we organize the team? Basically, communication, speaking with your team

Stefania: is extremely important.

Stefania: We are a Berlin-based company. We have an office in Berlin, of course.

Stefania: We offer some of our employees to come in the office, to stay in the office.

Stefania: But basically, because our developer, where most of them are not living in Germany,

Stefania: but outside Germany, we can say we are a remote company.

Stefania: So being a remote company, it's need, again, a clear organization.

Stefania: So we have flexibility, for example, in the time how each member can work.

Stefania: But we also have a hard

Stefania: liner way to say

Stefania: between 10 and 5 you have to be

Stefania: reachable because this is the time where we

Stefania: need the communication between us for our

Stefania: client not for for us but

Stefania: for our client we have to be there in that time so

Stefania: we organize the team in a way that every morning

Stefania: we have a very very fast standard the stand-up

Stefania: help us to align each other

Stefania: and to understand the blockers of some for

Stefania: example or newcomers or people who

Stefania: is more resistant to

Stefania: ask when they need some help but

Stefania: in a stand-up it's much easier to

Stefania: welcome them and to say hey how was it yesterday why is not going on these tasks

Stefania: let us know tell us what do you need and we try to help and those stand-ups

Stefania: are of course very strict to the point because uh.

Stefania: Have to take three minutes maximum for

Stefania: each sometime we have the time running on that but on the other side we understand

Stefania: each other we understand the project each of us is working on and if someone

Stefania: is saying i'm i'm struggling with the problem i'm not able to debug something.

Stefania: In most of the case there is or

Stefania: creativity or developers are

Stefania: able then after the stand-up to help

Stefania: the team member so the

Stefania: stand-up is essential to be

Stefania: also a team so it has has to

Stefania: get together as at the coffee machine

Stefania: in a in a building is is a way are

Stefania: we sometimes we spend 10 minutes just talking about the weekend the weather

Stefania: the different times or everything which is coming in our mind because we sometimes

Stefania: we need to break the rules of the three minutes And we are human and we need it.

Stefania: So flexibility for remote working is essential for everybody because we have

Stefania: also different culture and different language behind from India, South Africa,

Stefania: Italy, Venezuela, and many countries.

Stefania: Spain. On the other side, also in this flexibility, you need some rules.

Stefania: Remote working it doesn't mean we work from the bus we work from the airport

Stefania: we work from spaces there are very loud like a restaurant so these rules are

Stefania: clear that this is not the remote working we want to have of course but those are the rules.

Thomas: Okay let's let's come to a completely different topic

Thomas: now so we've been um mentioning or

Thomas: you've been mentioning i've been mentioning um uh that

Thomas: you are working with open edX we are working we

Thomas: are using open edX as the platform so the

Thomas: platform that you listeners are currently watching this

Thomas: video yes um so um open edX is releasing new software versions each year about

Thomas: twice in a year twice in a year even okay so how do you make sure that uh the

Thomas: customized So you do a lot of customization for the customers.

Thomas: How do you make sure that the customized code basically stays updatable?

Thomas: I worked in a company years ago where we didn't do that, and that was a complete

Thomas: disaster. So I know this can be very, very hard.

Stefania: I would say, Thomas, lesson learned over years,

Stefania: I'm sure that if we look back to the beginning of our company in 2015, probably we would say,

Stefania: oh, my God, why we made that?

Stefania: So back experience made the company secure in taking the right decision.

Stefania: So basically, what do we do? We have a, I think also is a philosophy in our company,

Stefania: because we know open source solution, I would say pretty well.

Stefania: And open source solution means

Stefania: that around the world there are thousands

Stefania: of developers that helps

Stefania: to improve one solution like open edX but there is so many open source examples

Stefania: like that and so we know that the work done outside should fit with was it inside

Stefania: which is And the OpenEdge solution,

Stefania: the software, and the software itself is another ecosystem with a lot of other

Stefania: open source pieces inside, like MySQL or anything else.

Stefania: So basically, we learn a lot that we never should fork the solution and go alone with that.

Stefania: Like a snake that it takes another direction.

Stefania: So basically, we try to build around the solution to keep it native as much as possible.

Stefania: If not possible to document the

Stefania: changes very well and then to approach

Stefania: all the changes building plugin around it

Stefania: which is also the philosophy of open edX at

Stefania: the moment maybe in the past it was less they build a big core and now we are

Stefania: chunking out the system so that we have a smaller piece inside and we build

Stefania: around a lot of plugin that you can adjust you can migrate it easily you You

Stefania: can manage it easily, and you can understand it also.

Stefania: If someone else takes over, it can understand it better. So we have this approach.

Stefania: The other approach, of course, is that we looked.

Stefania: So we have one member of our team, which is a member of a working group in the

Stefania: Open edX ecosystem, which is called the build, test and release working group.

Stefania: And in this group we look in

Stefania: advance what is happening with the software so

Stefania: we have an overview if we need to do

Stefania: for example a customization for our client we know in advance if this customization

Stefania: is coming from the community so that we can work with the community or taking

Stefania: from there and communicate this also with the client.

Stefania: And address this information like we can

Stefania: wait we can do it in the same way we

Stefania: contribute with the community so working with the this member there we know

Stefania: in advance a lot of information that help us in the process i would say so to

Stefania: be a core contributors and part of the open source community,

Stefania: we think is important it's a philosophy as well of the company of course but,

Stefania: this helps us a lot as well.

Thomas: And maybe as a follow up question so

Thomas: sometimes you are developing something for a

Thomas: customer that you think that might be interesting not just for our customer

Thomas: that might be a good solution for everybody actually so how do you to promote

Thomas: those custom developments that you do for some customers to the core,

Thomas: to the main project, to the upstream.

Stefania: Yes, yes.

Stefania: I presume, Thomas, we can speak hours about this topic.

Stefania: I try to be short in this,

Stefania: because basically the philosophy of open source is always to share back something that has been done.

Stefania: The problem is that in many cases, the solution for your client is so specific

Stefania: that nobody wants to have it.

Stefania: So, and you have to deal with the very specific things that...

Stefania: Nobody wants to have it and something which

Stefania: is open source but cannot be used how

Stefania: you deal with it the best solution is when you

Stefania: address a customization with your client

Stefania: so your client want to have a specific organization let's say

Stefania: the client want to have a gamification a

Stefania: good gamification integration with

Stefania: the system is a good idea you can

Stefania: share this idea with the community try

Stefania: to find contributors in the community

Stefania: and try to find also founded money for example so that the client and the community

Stefania: outside put also money together and improve the software with something that can be native.

Stefania: This is the ideal solution to do that.

Stefania: So you have to do it in advance, this step, never after that.

Stefania: So bringing stuff upstream is difficult to do it after the project.

Stefania: What we definitely do during the project as a contribution is when we have to fix some bugs.

Stefania: So if there are bugs that we are fixing for the client, we put the bugs issue

Stefania: in the upstream repository and then it will be taken over from the maintenance of the software.

Stefania: This is, of course, I will not say daily routine, but this is mandatory.

Stefania: To do but it's differently I will say the difference is between new functionality

Stefania: idea from something which is missing and bug fixing those are the two directions we always split.

Thomas: Sounds like what you just explained sounds like it's a,

Thomas: process that requires quite a lot of time. And as far as I know,

Thomas: customers normally are super impatient, they want to have them now. Yes, exactly.

Stefania: It's a kind of blocker.

Thomas: Yeah, so that's basically the, I don't know, the guardian knot that you have to solve somehow.

Stefania: The coordination is pretty difficult. It helps a lot if,

Stefania: for example, we spoke at the beginning about workshop deliverables work packages

Stefania: so in a educational project is not like building the website and the website

Stefania: is then ready you launch the website and that's it.

Stefania: Educational projects it's always go over

Stefania: a long period and the client can

Stefania: always start with a good piece

Stefania: of software it runs is productive but

Stefania: then you can add this so if you plan these

Stefania: in advance you can you can have these goals okay because then you can address

Stefania: these in advance in time uh communicate these and in many cases it works it

Stefania: works well university have a lot of this approach, and it works.

Stefania: It works very well to define in advance.

Stefania: Another moment to do this is during a conference.

Stefania: So in the conference, go there, I have this idea, which is coming with me.

Stefania: And indeed, if I may say this in this interview, is that Open edicts is also

Stefania: changing this approach.

Stefania: We recognize that we need a lot of information from outside regarding educational

Stefania: trends or institution needs like you, like your university.

Stefania: What do you need exactly from Open edicts?

Stefania: And knowing this in advance, which tool you are really missing,

Stefania: it helps them to move to the project process development and then start from

Stefania: there to apply your idea.

Stefania: Your goals, your objective in a broader, let's say, audience.

Stefania: And there try to collect feedback from other institutions and not from developers.

Thomas: As I say.

Stefania: So to have another level of definition of the needs.

Stefania: So we recognize that a conference is a good place to be to bring together this kind of actors as well.

Thomas: I guess it's also quite...

Thomas: Hard to keep an overview on what is going on.

Thomas: I mean, you're not the only ones that are working or developing on the Open Addicts platform.

Thomas: There's lots of actors, as you said, all over the world, and,

Thomas: basically not to invent the same stuff in many different places and then have

Thomas: concurring plugins or whatever that I guess is also quite a task to accomplish.

Stefania: It's challenging. And indeed, at the end, for example, to build a small plugin

Stefania: that do something for the clients, let's say it takes two days.

Stefania: You will never go out and ask. You do it. Okay.

Stefania: Probably many other clients will need it, but you do it because it's two days

Stefania: of work and it's done and the client is happy.

Stefania: So this is what happens. But the other way is the freedom of open source.

Stefania: You can manage the project and the client cover the needs in short of the time.

Stefania: So it's a prosequence in both.

Stefania: But ideally, yeah, back to communication.

Stefania: If there is a lot of communication it helps and i think for particular bigger ideas,

Stefania: if the community is participate to to collect this information what is an,

Stefania: let's say approach that we are increasing how to do this it will help a lot

Stefania: the service provider like we are, as the client or the institution like you.

Stefania: Many smaller clients maybe have a completely different approach,

Stefania: but institutions, universities, NGOs, all of them have very,

Stefania: very, very similar needs and we can bring the force together.

Thomas: So, let's come to, again, something completely different, as you know from Monty Parton.

Thomas: What is your abstract position on automated software testing?

Thomas: So, are you working test-driven?

Thomas: Are you writing software tests? Are you saying, well, we don't need that?

Stefania: Oh, no, we need it. We need it.

Stefania: It's mandatory. I would say that Open

Stefania: edX has a range of automated tests integrated with its core core base.

Stefania: That's a very good point.

Stefania: So Open edX delivers to include unit tests, integration tests, end-to-end tests.

Stefania: So to validate features, functionality, stability of that.

Stefania: Of course you can

Stefania: always improve this path always in each

Stefania: open source project there is this problem to

Stefania: increase the test because they are needed what we

Stefania: do from our side we develop

Stefania: using continuous integration so we take a lot of care and time to prepare the

Stefania: continuous integration so that always it runs using the test so that it never

Stefania: pushed without a green check of all the tests that are behind.

Stefania: So these allow us to have, let's say, to do not introduce errors in the code

Stefania: we are delivering or maintaining. Of course.

Stefania: Another well, let's say,

Stefania: established framework that we have in place internally is a JavaScript-based

Stefania: N2S test to help us to test faster the front end, which is also needed.

Stefania: We tend to have the idea of software tests only in the back end,

Stefania: but we realize that a complex software like OpenEdX with a lot of different

Stefania: systems that work together, when we deliver it to the clients or when we change

Stefania: something to the client,

Stefania: something can be broken.

Stefania: So we need also test on the

Stefania: browser side and um so over

Stefania: the years we develop a end-to-end test

Stefania: framework to work uh like that

Stefania: also this you can improve it uh

Stefania: whenever you have time so end-to-end test is is this is the kind of joke in

Stefania: our company because um when we see some someone is maybe blocked 80% for one

Stefania: day and then you say oh 80% okay can you do some end-to-end tests.

Stefania: They are not happy when we ask for but yeah is is important and testing testing

Stefania: testing is really really an issue also manual testing is important we also ask

Stefania: and we do it a lot Just go on the platform,

Stefania: click everywhere, because this is what the user do.

Stefania: And we also need a user perspective in testing it and not only the code quality.

Stefania: Code quality is the basis but on the other side we believe that also the users

Stefania: should not have a bad experience using the.

Thomas: Platform yeah in the end the test framework is not the user of the platform so.

Stefania: Exactly just.

Thomas: Having the the tests right doesn't mean that the user actually is able to work with it exactly.

Stefania: Exactly exactly so you see that in our

Stefania: company company we really try to have also

Stefania: these practical view on things and

Stefania: not only focus on coding coding coding coding but

Stefania: have a practical approach yeah to

Stefania: the user on the other side because the the most

Stefania: happiness we receive is when we know that the users are using the platform they

Stefania: are happy with that they go back to the platform and if they do it our client

Stefania: is happy as well so is is is everything is connected to everything also that.

Thomas: Okay just one final question.

Stefania: Yes are.

Thomas: You hiring or when you're hiring if you're hiring what are you looking for when

Thomas: you're looking for new employees particularly if you're looking for for software

Thomas: developers software engineers in in that area what what are the the skills that

Thomas: they have to bring with them.

Stefania: Empathic people.

Stefania: Well, the most requested skills in our company are Python developers indeed.

Stefania: Not only Python, so ideally Django framework is a Python-based framework.

Stefania: If they have the additional knowledge in Django with Python, this is a good start.

Stefania: The other thing is this is really

Stefania: something basically with open

Stefania: edX open edX we know

Stefania: exactly that for open edX you need 40%

Stefania: of your resources with sysadmin

Stefania: approach and the rest can

Stefania: be poor developer so if you

Stefania: have employees that

Stefania: have both skill is a win situation because

Stefania: they are able to manage the back-end side

Stefania: which is really really is not complex but is

Stefania: particular and if you

Stefania: only have guys that say oh

Stefania: i'm a python developer i don't know

Stefania: what is it kubernetes i don't know how

Stefania: to set up a virtual machine i don't know

Stefania: how to update ubuntu so that they try

Stefania: to separate totally what is

Stefania: connected to deliver the software to

Stefania: our clients that's something a little bit difficult for us so ideally very flexible

Stefania: let's say person that have Python skills but they are not against to.

Stefania: Learn or or they have interest also

Stefania: on the other side which is the administration of

Stefania: it because open edX need a lot of administration as well okay and so this is

Stefania: the ideal solution regarding software software engineering we are very international

Stefania: so we are inclusive we try to be,

Stefania: to welcome.

Stefania: Everybody anybody who it brings the,

Stefania: empathy to work together and the interest to work in the Open Edicts and we

Stefania: always ask we ask about commitments what they think about open source and open

Stefania: source community because we are very committed and if you do not have any idea which works.

Stefania: It takes a little bit of time, but we want to have people that are open to this

Stefania: philosophy and to this approach, even if they do not have the expertise immediately,

Stefania: but they are open to commit.

Stefania: They are not too scary about, oh, how can I push this to this very famous repository?

Stefania: No, you have to do it and everybody will welcome you.

Thomas: Great. Thanks a lot, Stefania. It was great talking to you. It was a real pleasure to have you here.

Thomas: Is there anything that you want to say that I missed to ask?

Stefania: No, Thomas, it was a pleasure for me as well to be here,

Stefania: to work together because I hope that what we are discussing helps others to

Stefania: look a little bit behind the scenes,

Stefania: what happens in a project and if everybody needs information additionally, just ask us,

Stefania: Thomas or ask me. Everybody is welcome.

Thomas: Thank you. I will forward it to you.

Stefania: Yes, exactly. Thank you very much. Thank you very much.

New comment

Your name or nickname, will be shown publicly
At least 10 characters long
By submitting your comment you agree that the content of the field "Name or nickname" will be stored and shown publicly next to your comment. Using your real name is optional.