As I like the idea of code retreats since years but never managed to participate in one, I was really eager to join that event.
When I arrived in Weinsberg in the Kaufland office there were already around 30 developers about to start the event. It was really cool to meet some of the well-known SAP community usual subjects there as well as some guys from our SAP Stammtisch Stuttgart group.
Before we started to code, there were three 20 minutes marketplace sessions. They covered the topics we were focusing on during the code retreat:
- ABAP Development Tools for Eclipse by Jürgen Steinhauser and Rüdiger Alex
- ABAP Unit Testing by Dennis Schaaf and Markus Braunbeck
- Test Driven Development by Christian Drumm
You can find the slides already on the event’s Wiki side.
Right after the marketplace sessions we got an introduction to Conway’s game of life which was the programming task of the day for all four session we had. There were also some rules introduced:
- All four coding sessions were done in pair programming
- The pairs got changed after each session
- All the coding got deleted after each session
After building the pairs for the first session, we started to code. For each session we had 45 minutes for coding and 15 minutes for feedback in the whole group.
Already before we started, Damir stated that we will not be able to finish the task in the given time. This became quite obvious after the first minutes. In the first round my counterpart and I had a lot of design discussions before we started to code. But we could implement at least some of the methods needed and also ABAP unit tests to verify the expected results. Already in the first session some more rules were applied: we had to change the keyboards so that both of the pair had the chance to code.
We did some further variants in the next sessions: we had to change the keyboards more frequent, in one session we started developing the unit test first and afterwards implemented the actual method. Another task forced us to really apply clean code principles and use readable variant names: we changed the keyboards every five minutes and were not allowed to talk to each other. So it was very important to be able to understand the code which was created by the developer we paired with.
Damir was right in the end, we were never able to finish Conway’s game of life, but that was not the goal of the code retreat. The actual goal is to work on your developer skills by not focusing on finishing the task in time but on the way how to finish the task. Something which we usually cannot really do in our daily job because the clock is ticking.
I really like the format of code retreats because it’s an event were you do not focus on new technology but on improving the skills. This kind of events was missing so far in the SAP community. Therefore a big thank you to Damir and Christian and all the other who supported the first ABAP code retreat.
I personally learned a lot. Already while doing pair programming we were always talking about best practice. Even some shortcuts for ADT can make developer’s daily work more efficient. I learned even more by e.g. applying Test Driven Development in such a consequent way I never did in any of my projects so far.
I’m quite sure, it was not my last code retreat and I can just recommend to visit one or do your own one. There will be some more ABAP Code Retreats coming soon, they will be posted on the corresponding Wiki page!
Last not but least I want to thank the sponsors of the event who made it possible that this event was for free and we could enjoy delicious food and free drinks and very important coffee 😉