This is How Two Tech-Savvy Companies Met to Deliver a New Quality
Why in Earth top-class developers were on a lookout for a software house to develop their technology product? How did it happen that, despite their skills and resources, a renowned programming academy decided to hire outside software developers for their project? We’re excited to reveal an unusual story – Coders Lab case study.
It is a story about two technology companies working together to meet one goal – creating a top-notch digital product.
Why is it so different from other projects we handle at GMI Group? Because the client wasn’t an ordinary start-up. CodersLab is a leading Polish school for developers. So, at first, it’s hard to understand why a company that is teaching how to code, gets other guys to code for them.
Mind-blowing? Let’s find out how Coders Lab has come to the point that outsourcing a dev team a way to level-up their business.
Over the years, Coders Lab has set the standards for teaching programming. It’s the first, and according to Forbes, the most prominent IT academy in Poland. From the beginning, their focus was to pass on the practical knowledge and skills that will be valuable for future employers.
When Coders Lab reached out to GMI, they were at the peak of their popularity. Over three thousands of graduates with 82% who found a job after finishing their course. Another proof of their growth was entering their first foreign market – Romania.
Although their appetite is growing, and they plan to conquer other European countries, Michał Tchórzewski, the Coders Lab’s CEO was perfectly aware that competitors are not asleep. To remain ahead of a peloton, they needed to speed up.
The business needs
- First of all, they needed a new website backed up with an efficient CMS panel for their marketing department. Company’s digital marketers lacked a smooth way to add their online courses to the site.
- Second, more productive lead generation process. That’s an evergreen issue for the majority of companies operating in the digital world.
- Third, the overflow of projects and tasks their dev team had to cope, taking their hands away from rebuilding the website.
To take care of it all, they would have to recruit additional developers. Having in mind that hiring highly-skilled devs is not a piece of cake, and it would take months, they needed a different solution.
- Last, time was their toughest enemy. The business landscape is changing like crazy, so our client needed to act fast to dominate the market still. It’s not that they didn’t know how to do it; they didn’t have enough time to achieve it.
That’s why they turned the green light to find a reliable technology partner with an agile and skilled development team. A ready and trained team that will quickly and efficiently implement the entire project and deliver it on time.
The service – Why Coders Lab picked GMI
Since we know why Coders Lab went for outsourcing, it’s time to reveal why did they decide to team up with GMI Software House.
This IT school have come up with the following key factors:
- The first-impression-matters statement is a cliché, but it’s hard to overestimate it when it comes to purchasing decision, especially in a B2B environment. Coders Lab higher-ups were hugely impressed by the real-time response of GMI’s business developers and readiness to assemble a dedicated dev team within two weeks.
- Technology. As developers themselves, they knew precisely in which programming languages should they product be written. And to be even more specific – in which frameworks. A software house that knows React and Symfony inside out should definitely be a winner.
- Coders Lab management was interested in working within a specific business model. It was about augmenting their in-house dev team through the Extended Team Model. This form of collaboration means that outsiders become client’s full-time team members. The beauty of this case study lies right here – thanks to this approach, developers from GMI could make the most of their skills and experience to magnify Coders Lab’s capabilities and resources.
One of the GMI’s deal breakers was the fact that our team members were already veterans in the field of extended team model. That was a promise of getting positive results fast.
There’s one more huge advantage of this form of project collaboration. Assigning a team exclusively to client’s project within full-time working hours, allows software developers to take a deep dive into a product and to scrutinize its specifications and clients’ needs. Thanks to that, the client wins the fresh energy of the augmented team and their dedication towards a product.
- Agile methodology. Coders Lab needed the highest level of achieving results and adapting to changes. As Agile and iterative approach hard-believers, GMI came up as a natural technology partner.
Both sides were extremely committed to designing the project properly and to precisely determine how much time-consuming each feature would be
How did we handle the entire project?
As we mentioned above, the Agile approach, with its transparency and real-time communication was the backbone of our collaboration with the client.
In practice, the Scrum methodology in this project looked like this:
Coders Lab activated his manager as a project’s team member. Each day he has rubbed his elbows with our developers to build the best possible digital product.
Has the whole thing been happening at the client’s premises?
The golden age of online project collaboration
Well, can you imagine the costs and the nuisance of hosting the entire crew in one office? The fantastic part is that the whole project collaboration took place entirely online. Having remote work as a part of our business decalogue, we have used Trello to track and coordinate tasks, and online meetings on Google Meet, up to a few times a day.
But that’s not the end of the collaboration tools. To build a project backlog, we have relied on StoriesOnBoard, which served us as a board for defining sprint scopes and project priorities. After mapping epics, user steps, and user stories on one board, we were ready for transferring particular tasks to Trello. This was the battlefield with the coding troops assembled.
When it comes to the code itself, we have hosted it on our repository on Bitbucket. In this case, we used Digital Ocean to place staging servers for testing. That was because we wanted to narrow down the time needed for DevOps work and redistribute the saved time for writing code.
The art of Sprints
Although most of the sprints took us two weeks, we weren’t orthodox about that length. When we saw possible threats, it was a signal to change the sprint duration together with the Client.
Managing spikes is a good example here. When our dev team noticed a risk-heavy backlog element, it meant that it would be harder to be super-precise with time estimations. A solution? Organizing a spike to experiment whether a functionality will work or not. As a result, we spent over a dozen hours to test the technological premises, and at the end of the day, we were able to reduce the risk of deploying this functionality.
In the worst-case scenario, we would have to redefine the premises of one of the crucial elements for managing online courses. Luckily, thanks to the spike and proof-of-concept, we didn’t have to. We managed to adjust our initial premises quickly and together with the Product Owner, focus on the product’s business needs.
All in all, there was:
- Seven sprints
- Each of them lasted approximately 150 h
- Each sprint required our two developers for two weeks work
Scrum as a weapon of choice
Scrum method was a solid ground for creating the entire product. At any moment, Coders Lab management could verify the effects and clash them with the initial vision of the product.
Even though, clients are often attached to the original ideas from the product design phase, in real life plans change. Visions evolve along the way, and that’s a good thing. This approach worked for both sides in Coders Lab’s project.
On top of that, the Agile approach has brought another quality to the table. Thanks to Agile, our dev team could help the client in judging what can be changed in certain features. The client as a Product Owner wasn’t left alone with a tough decision to make.