Learning Week in Sicily 27.11.2015
We learnt a lot about software engineering and programming. We improved ourselves as a team. We decided as a team in which directions our company should develop and which tools we would like to work with to be efficient. We searched for solutions how our work can generate the highest value for our customers.
We are back from Sicily. Sicily? Yes, we were in Italy, but rather than just to have a relaxing week of vacation, we decided to organize a learning week together and bring Renuo further. Therefore, we’d like to tell you something about the week and the resulted values for our clients.
Since Renuo is growing and we are twice the persons compared to last year, we had to think about organizational processes for being more efficient in managing the daily tasks. Moreover the technical knowledge of each programmer is very important to us. Because we have a lot of different talents in our team, we wanted to arrange a knowledge exchange to reach that goal.
Out of our evaluation of the week resulted, that we were really productive, it was great for our team cohesion, learned a lot, all had really fun and are really motivated to get better.
But now more about our week…
Day #1 was our travelling day from Zürich Airport to Catania (I) where we continued driving to our bungalow by car. The organizers presented the scheduled program and we figured out a community agreement with our rules for living together. By the way we also cooked ourselves; therefore every day a team of a few persons was responsible for the daily shopping.
Day #2 started with each of us selecting a new technology, doing research and present it to the others. Like that, we could get a short insight into a lot of interesting new stuff, discuss it and can now follow up the interesting ones. The afternoon was spent for organizational questions, how we can organize ourselves in a sustainable concept which scales also if we grow further. Also for this task, we split up in teams for finding solutions and combined them in the afterwards.
The morning of Day #3 started with repeating some common principles of software development used to write good software. Like this, we could think again about our very important values when developing software. Before the week we decided to release a project in the week together. Being many engineers, it’s reasonable to split such a project in microservices. So we continued with a clarification about the understanding of microservices and a discussion about the pros and cons. We found a consensus in developing an internal dashboard to overview tasks, reminders, the status of projects and so on. So we collected ideas, split the tasks up to each of us and after that we were ready to start with the project in the afternoon.
Day #4 started earlier than usual,
because we wanted to go hiking. After having eaten a quick bite during
these early hours, we hopped into our little cars and navigated towards the 3’350 m high, intimidatory monstrosity
called Mt Etna.
Once we arrived at the base station of the bubble lift, we observed the small gondolas vanishing in the fog, and we asked ourselves whether we chose the wrong day for our hiking trip. Nevertheless we hurdled our gloomy thoughts and soon found ourselves surrounded by near-solid haze, which could have been sliced through by our Swiss army knifes. Arriving at the interstation we set our goal: to climb up the the mountain together as a team. This was challenging since some of our team were very eager to rush up the mountain, while others needed more time to slowly creep upwards. Fast-forward to three hours later: we reached the top without losing a single member of our team - impressive! What was also astonishing was that when we dug a 30 cm hole, the earth became hot - Mt Etna really must be a volcano. So after digging random holes, we searched for a nice place to have lunch, where we unpacked our sandwiches and cosily ate our meal. After lunch we started our descent, which went really well for everyone. Of course we were already forging new ideas on the way down, and once we arrived at our bungalow, we were keen to having an intellectual challenge again. And that was exactly what we did: we discussed the so called GRASP patterns by preparing each pattern in a small group, and thereafter presenting the pattern in front of the whole team. While this exercise was a repetition for most of us, it showed once again how valuable these lectures were at the university, and that these patterns and principles cannot be embraced enough during our daily software development.
On Day #5 we focused on code smells and code refactoring, which will help us building solid systems during the daily business without getting into technical debt - or in other words help us being consistently fast during software development. Furthermore, we established a common sense in our team about software engineering and its architecture. We followed this up by working on our weekly project, where we already discovered some bad smells, which needed to be refactored. In the afternoon, we reached out to find tools for our daily work considering project management and our Scrum processes. We did that by conducting a short brainstorming together, and then individually or in small groups trying out new tools which each of us found interesting. This was rather difficult to achieve since our internet access bandwidth was limited. Despite these difficulties, we discovered and researched a large variety of (new) tools, from which we found some tools which we would like to examine in more detail, namely JIRA, Visual Studio Online, Pivotal Tracker and Trello. In the future, we hope that this workshop will serve as a basis so we can use the right tools for the job, and effectively serve our customers better. Last but not least, we also tested Slack, which seems to be a great tool for team and project communication. Later in the evening we visited the beautiful city of Catania, where we had a nice apéro around a tree stub. After a cozy dinner, the evening ended for some of us, while the rest of our team had a great time enjoying the nightlife of Catania.
Day #6 started with a well prepared brunch, which was really tasty. Our goal of this day was to conclude the organizational part of the week. Whilst the opinions of how our company should be organized were very diverse at the beginning of the week, a common understanding emerged during the week, so that our opinions converged into a single mindset. This was relieving for all of us, and we are looking forward to improving our way of working and providing not only more value to our customers, but also to our employees. Later in the evening, we refreshed the vision, mission and values, which all our employees at Renuo live.
The Day #7 was a very interesting day. We did a so-called Code Retreat, which is solving the same problem multiple times in different groups, and presenting each solution in front of the whole team. Because the same problem was tackled multiple times, after some round all engineers understood the business problem by heart, which allowed them to fully focus on the technical side of things. Furthermore, it enforced creativity by repeating a single task multiple times. It was also interesting to experience pair programming from different positions, and learning how to communicate with each other. Finally, the solutions later on were much leaner and cleaner, because everyone could profit from each other's knowledge. In conclusion, this exercise vastly helped spreading our already existing knowledge. As a team, we feel competent and confident that together we will tackle even the hardest technical problems in our bright looking future.
On Day #8 we started the morning preparing everything for our travels back. After breakfast, we cleaned up the house and packed everything in our bags that we could carry. Some things which could be useful for the next rentee of the house were left there, like spices and extra virgin olive oil. After leaving our beautiful mansion, we travelled together to Catania, where we headed for a shopping mall near the airport to spend our last hours in Sicily. Next, we travelled to the airport, returned our cars and printed our e-Tickets at the check-in desk. Finally we boarded the flight to Zurich and took off: “Ciao ciao Sicilia!”. Two hours later, we arrived in Zurich, and we concluded that it was a great, but also a very tough week. We learnt a lot about organizing, trusting in each other, getting better and faster at architecting and programming, and we are looking forward to utilize the newly gathered knowledge during our daily work!