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