The premise of Labster sounds mind blowing: you can perform actual laboratory tests in virtual reality, remotely, for educational and research purposes. Rollout has been helping Labster with several senior backend, frontend engineers and automated, manual QA testers (altogether 11 IT professionals) in the past 12 months. In this post, we share some insights from this incredible experience.
We asked two of the professionals to offer us an ‘under-the-hood’ review of what it’s like to work on an interesting, unique, scientific and educational service like Labster. We start off by introducing their background to understand their perspectives a bit better.
The skills we brought to the Lab
There were many aspects we have been involved with at Labster. To give you one example, let’s take a quick look at what the frontend experts have been busy with:
Alexandru T. has 8+ years of full-stack web development experience. In the last couple of years, he has been working with Rollout IT on VueJS, ReactJS, and NodeJS projects.
He spent more than 6 months working at Labster as a VueJS frontend developer. They used Typescript on both the frontend and backend, with Quasar (Vue) framework the standard Vue 3 stack (vuex, vue-router).
Alex was a member of the team responsible for Labster’s own new, standalone system called Learning Management Portal. This tool is the brand new interface that connects Labster’s services and their direct users: the students and the teachers.
You will know more about this, from the backend perspective, in a couple of moments.
Gábor H. studied IT development and economic IT. The latter gave him some insight into the project management and business side of software development. He has been a web developer for 7 years, starting out with front end and testing, switching his focus to the backend in the last 4 years.
His last project before Labster was a monolithic backend development in Scala, which is quite different from the microservice-based Labster platform that is mostly powered by Typescript.
Péter K. studied as a GIS specialist, but he started working as a software tester way back, during the last of his college years. He got introduced to the field as a testing manager and soon became team leader. He has been freelancing since 2018 and that’s when he started focusing on test automation.
The key areas we will explore in this short article are testing and backend, based on an in-depth interview with Gábor and Péter.
The key areas of the Labster project
Gábor joined the Labster dev team during the hectic weeks of April 2021. Labster initiated a serious ‘ramp up’ phase, since education was basically going online globally. This has been a very significant challenge and opportunity, so they had to react with a more aggressive development curve, which meant hiring dynamically available professionals, like the ones Rollout offers.
Like, for example, Gábor.
He joined the Portal team. This is the integrated platform from which every solution can be easily reached by the users. The Portal was a necessary step in the evolution of Labster, because the solutions have become numerous and some of them had to be accessed in different ways. It was time to standardise and regroup all the modules.
Gábor, as a backend specialist, oversaw the microservice communication. They reviewed the complete codebase and eliminated as much of the repetitions as possible, and implemented new solutions in the shape of SDK packages. This enabled everyone to have the same interface to all the services.
Back to school, time to (3rd) party!
Then came autumn 2021, and the perception about Covid has shifted, some of the restrictions have been lifted, and the new school year commenced. These developments eased some of the pressure on the dev team.
This enabled them to review everything and focus on the code quality improvement of the systems in operation.
Gábor has been reassigned to the Learning Management System Integration Team, joining another group of Rollout IT professionals. Their task was to integrate 3rd party systems with the new Labster LMS Portal, while also updating the protocol to a newer version. All this was done while the brand new Portal backend was implemented. It was quite an exciting process, which started back in April.
At this point in time, Gábor’s skills were used in managing 3rd party integrations. These are always challenging with all the little differences, especially that more often than not, the documentations for these services are far from perfectly complete.
When integrating 3rd party apps is a key characteristic of your product, it always puts you in this kind of awkward situation, because you have no control over the totality of your own service. And the key challenge is the dissimilarity of the different LM systems. A good amount of Gábor’s workload since September 2021 went into production support. When problems arise, you often need to contact the 3rd party and work on the solution with them – this will always require more time and resources than having everything under your own roof.
Backing up the operation with automated testing
Meanwhile, Péter dove into deep waters, and tried to build up the protocols for test automation, for the myriad new stuff that has been coded into the Labster system since the ramp up in Spring, new features came online week by week. The healthiest way to develop an already live product is to run automated tests on the majority of the codebase, at least twice a day, especially when something is changed.
Péter described the Portal package as ‘not extremely complicated’, but his first couple of weeks have been mostly spent on understanding the domain itself anyway. Obviously he needed to familiarise himself with the intricacies of every feature to be able to write solid testing mechanisms for them.
Roughly three months in, he was called to join the LMS integration testing as well. This means tests for things like Google Classroom integration.
It has been challenging, but he did a great job to reach a high level of code testing coverage in the short term! There is always room for improvement and the need for refactoring, for example the tests are run in a single queue model now, so enabling parallel testing would cut the time requirement by maybe 75%. They plan to complete this very soon, because it has a huge long term gain.
The insights we gained
Our coders highlighted the easy-going, effective nature of the Labster project management. AGILE ceremonies have been dynamic, with quick standups – Péter mentioned that of all the development processes he took part in so far, this one was definitely one of the best organized.
Labster has been around for a while (they exist since 2012), but 2021 has definitely been a formative experience for them. Gábor mentioned that while they started out as already pretty good in project management, the progress they showed during the first 6 months of his stint there has been quite significant.
Our developers feel that the Labster management is very flexible, remote is in their DNA, they showed constant progress in terms of Scrum and in managing the skillset of the dev team.
They have always been very open to feedback and had systems in place to integrate it into the development of their product. They faced a lot of new challenges but they have been open about it and rolled with it gracefully. They are not clinging to a set of methods, and are ready to adapt. They always have one clear aim, which is to provide the best end result possible.
Péter mentioned that every team could learn from how Labster is operating!
Is it about Holacracy?
Being freelancers that are contracted and deployed dynamically, our devs face some unique challenges. Due to specific contractual differences and the temporal nature of their contribution, they often have limited access to the project management information flow. This sometimes leads to difficulties (like the need for working out specific access rights to certain system elements).
But there are two sides to this coin as well. You don’t need to access stuff that is not vital to your tasks. And you always learn something new, as you gain some insight into how these companies operate.
Labster uses Holacracy, which is an interesting management practice, remarkably different from the usual pyramid structure. There are no ‘positions’ or jobs, only ‘roles’ (one member can have multiple roles). There are no departments, but there are ‘circles’, which are self-organised. But some circles ‘contain’ other circles, which provides the hierarchy. The broader circle assigns the purposes and accountabilities of the tighter ones.
It’s hard to say what makes Labster so dynamic and why they seem to get a lot of value out of the feedback of their developers, but maybe this system has something to do with it.
We are happy that we can be a part of the Labster- journey, making everyone smarter through the power of virtual laboratories!