At Blossom, we care a lot about workflows and how people interact in order to get a certain task done. We strive to understand what processes are in place at different companies to make Blossom easier to use for everybody involved in a project. This series is intended to show you how different companies approach the software development process and what matters to them. This is the fifth part of the series. If you haven’t read it, check out the first interview with Johannes Nagl from “Die Socialisten” and the other interviews!
The development workflow of Liechtenecker
For this part of our blog post series, I talked to Christoph Rumpel from Liechtenecker about transforming from agency to a more product focused company. Christoph is a developer with a lot of energy and an open mind, always eager to improve as well as getting others to improve as well.
Christoph, please tell us who you are and what you do!
Hey everybody. My name is Christoph Rumpel and I’m a developer at Liechtenecker, a lab and studio for digital innovation based in Vienna. Coding PHP is what I do most of my time and what is actually my profession but in a small team you need to come up with the whole dev package.
I care a lot about our web and the community around it and I like it when I can contribute to make it becoming a better place everyday. At Liechtenecker I’ve found a perfect place for me to do so.
Can you tell us a little bit about Liechtenecker and your transformation to a Lab at Liechtenecker?
Liechtenecker has been a digital agency for 10 years now. We did all kind of digital projects like you will find it in lots of agencies. We were very successful in what we where doing but especially in the last years we felt in our hearts that there was something missing. We are a bunch of creative and motivated people and we wanted to be more than just a supplier. We wanted to be a real professional digital studio that acts as a real sparring partner for our customers with the aim to make awesome digital stuff that changes something bad to something really cool. The focus is always on the user.
This was when we decided to stop being a traditional digital agency and when we started our Liechtenecker Lab. It is not just a different name. It is a signal for us and everyone out there that we have changed the way we work and think. It was a one year process and we had to say goodbye to some of our customers because they didn’t fit into our new perspectives. If you want to work with Liechtenecker today, you should be prepared to get a real sparring partner that cares about the products more than about the money.
One great aspect of our transformation is that it always was a team decision. We all felt the same pain and we all decided together what aspects needed a change. This is really important because it does not work if just one tries to force the change. At the beginning we didn’t quite know where our journey would take us, but now it is so much clearer for us and now was the time when we relaunched our own website to finally make it public.
Another important step was to start building our own digital products. This is so much different from working for someone else and it helps a lot to learn about a product life cycle process. It is something we need to know about in order to help our partners and of course it is a lot of fun for all of us too.
How is the company and the team you are working with structured?
We are a small but flexible team of 10 great personalities. In our development team we have two backend programmers and two front-end guys. We do not want to grow too fast, because we really care about being a little family. The quality of it is really crucial to us and we want everyone to be involved in the whole project and not just a part of it. We all have great ideas and we need to benefit from each other.
So these days you are doing more long-term projects focused on quality, if I understand correctly. Are those solely projects for customers or do you have own products (or ideas to develop own products) as well?
Yeah that’s correct. Only with long-term projects you are really able to understand and help your partners. But besides them we are working on our own products too. This is how we are able to easily experiment with new technologies and tools and gain further experiences to make our skills more powerful. Wuzzlio is one of these products. It is a very cool and comfortable tool to manage foosball games. We at Liechtenecker love it to play foosball! Since the beginning of the company it is a big part of our culture. It was only a question of time until we decided to create a lovely tool that manages all our games. Now we want to provide others with the same great experience. It is really crucial that you use your own products too in order to understand the needs of the users.
Besides Wuzzlio we also developed two other tools. One is called Favor and is an experimental browser extension. The goal is to create surveys that have an entertaining character and collect user data in a very simple way. The other one, Random Oracle, helps us to quickly select random teammates for daily tasks like empty the dishwasher, go shopping for lunch or anything else you can think of.
Right now we are working on some big new Lab projects which go beyond our software skills. Digitalization is so much more than just designing and coding and therefore we wanted to spread our skills. IoT is a big part of that. I wish I could tell you more but right now I just can say that it will be about sound visualization, air gestures and 2000 LEDs.
How do requirements come to your team and how do they progress through your company?
From the beginning of every project everyone of our team is involved. This comes down to an UX designer, a developer and a project manager. I guess everybody knows by now how important it is to keep everyone involved from the beginning. Waterfall processes are dead. If you’re not agile you’re too slow and inflexible and this doesn’t fit into our industry. But back to the question. After the first meetings and workshops we use daily standups to organize our internal todo’s. It’s a part of SCRUM that works really good for us.
What tools (Project Management, Issue Tracker) help you deliver your product and why?
Basecamp is our project management tool of choice. We’ve been using it now for many years and we are very satisfied with it. But as always it depends on many factors. For us it depends on our partners, their tools and the size of the projects too. JIRA is also a tool you will find in many of our projects and we like to use Google Drive for all kind of scenarios.
There are a lot of tools that help us work clean and fast like Git and Bitbucket, Vagrant, Gulp, Laravel or Angular to mention just some parts of our tech stack. Tools are important but you always have to rethink your chain. Every tool binds you more to your setup. It’s about the right amount and what fits best to the needs of your team.
Are there any tools missing from your setup?
That’s a tough one. Right now I wouldn’t say I am missing something but I know there are always ways to improve the setup. I also think you have to work on your setup permanently because it is a never ending process. Technologies, software, and people as well, are constantly changing. You need to see these changes and be able to adopt your system. But in the end it all comes down to helping your team doing a better job. It’s like a framework that helps you to focus on the business problems instead of the programming language basics.
Let’s get back to the development workflow: How did your workflow evolve over time?
Ok let’s have a look. In the past we did a lot of different projects of all sizes. We did knew about Git but barely used it. So the basic workflow was asking if anyone else is working on file X. If not, you were able to edit and upload it via FTP ? . Of course you didn’t want the client to see your changes or var_dump tests immediately, so you would check for the IP in the code. I guess these were the days of cowboy coders.
These days are definitely over. Today we wouldn’t start a project without using Git. It’s a no brainer and it gives you so much power and control. Of course it could overwhelm someone at the beginning but it is a tool every good dev has to get familiar with. In most of our projects we use a feature branch workflow. Everything is developed in separate branches. For us it is enough to distinguish between a feature and bugfix branch, next to a production and staging branch. Once the work is done and the tests are green we merge the branch and push it to a staging or live server. This depends on the project and the client. As I mentioned tests are very important for us too. I would lie if I said we write tests for all of our projects, but we do for most of them. This is also something that depends on the project. For product-like projects like Wuzzlio it is clearly great to have lots of them because they make me sleep better at night ?.
Deployment is another topic where we have various workflows. Some of our clients have their own hosting provider where we depend on their setup. But for our latest products we have separate server droplets where we are taking care of the whole provisioning part too. This is great because this way we are able to test new stuff like PHP7 and HTTP/2, as we do on Wuzzlio. To deploy we basically just use SSH and Git. It is simple but convenient. Tools like Laravel Envoy help us to automate these tasks.
What are your plans to evolve your development workflow in the future, if any?
Now that we are concentrating on bigger and long-term projects I guess we will take a closer look at Continuous Integration and Continuous Deployment. I always like to automate as much as possible and a better deployment workflow will definitely be something the whole team can benefit from.
Thanks! Anything missing you want to point out?
Maybe just a little reminder for every developer out there that we are responsible for what the web will be in the future. Let’s build things to last and products that really enhance the user’s life. I know it’s hard but we are capable of making the web even better and it will be worth it. Finally I just want to say thank you for this great interview and it’s awesome to be part of this blog series.
Change doesn’t happen over night, but if a team is dedicated to make it happen, you can be sure it’ll find a way. Thanks to Christoph for these great insights into an evolving company. I like the theme of doing one step at a time a lot. Recognizing your weak points can be demoralizing when you realize there are a few of those. But you will only get better if you start with what you have and improve continuously.
Checkout their latest project What The Feeling, an interactive map showing Twitter emotions from the European Football Championship in real-time.