A review by Alexander Geppart, host of the abapGit BunKai at objective partner AG
Read the german version here
We, at objective partner AG, are proud having been able to organize the first abapGit BunKai ever on 11.05.2019. This time Damir Majer was again as experienced agile trainer with us in Weinheim. In addition to Damir, Johannes Konings and Christian Günter, two abapGit contributors, provided their technical know-how of abapGit and Git to this event and, as trainers, also revealed their best practices.
Some of the participants already had a very good knowledge of abapGit, so that the abapGit newcomers among the participants could benefit during the joint sessions. As the host, I also decided to take part in the sessions and was able to experience in person that the trainers are very serious about their code reviews of the git merge requests 😉
The agenda of the abapGit BunKai
The sessions were divided as follows:
- Intro to git, connect to the system, install abapGit and get started with it
- Intro to abapGit, forking a foreign repository, changing the fork a bit and using abapGit features
- use Git Branches and Tags
- use Git for Code Reviews
- possibilities with abapGit: CI/CD, abapLint, …
Of course, all practical exercises were carried out in pair-programming style to ensure the best possible know-how transfer. This way of working enabled all participants to pass on their knowledge to the others and to get answers quickly.
Around the abapGit BunKai – Discussions and Exchange
The breaks and lunch were also used intensively to ask questions to the trainers. Among other things, we had interesting discussions about the ABAP RESTful Programming Model, ABAP in the Cloud and Continuous Integration.
This slide from german sap user group was presented in session 5 and provided a lot of discussion material for the participants:
The atmosphere of the event was great. It was exciting that the participants came from different backgrounds, already used abapGit or wanted to use it after the event. From the host’s point of view, the event was therefore a clear success.
In this interview you will find the views of the trainers and participants on abapGt and abapGit BunKai:
Damir Majer, SAP Solution Architect, Agile Developer, Majer Consulting & Training
Christian Günter, Senior Software Engineer at emineo AG, Trainer
Johannes Konings, SAP Development Engineer at the Haufe Group, Trainer
Andreas Kopp, SAP application developer at OPTIMA packaging group GmbH
How did the idea for the AbapGit BunKai come about?
Damir: The idea of the BunKai actually maturated from the ABAP code retreats.
Christian: Johannes came to me about two years ago during a code retreat with the idea of making a similar format with abapGit. The idea then maturated and when Damir, an experienced SAP community event organizer, came on board, it slowly but surely became more concrete.
Damir: We wanted to implement so-called “Deep Dive” formats. The first in this direction were ‘SOLID in Action’ and ‘Legacy Code Retreat’, which Christian Drumm and I have already held internally in companies. After Johannes and Sascha contacted me at SITMUC 2018 it was clear: this will be the first community ‘Deep Dive’ format.
What is the difference to Code Retreat?
Christian: The format and the procedure are basically very similar.
Damir: During the code retreat we focus primarily on clean code and various other topics such as ABAP in Eclipse, unit testing using ABAP Unit, TDD and XP practices. The Bunkai formats primarily take one topic and this is dealt with very deeply (hence DEEP DIVE).
Johannes: Both events have one principle in common: learning about strong interaction!
Andreas, what was your motivation to participate in the AbapGit BunKai?
Andreas: My motivation to participate in AbapGit Bunkai was to gain more experience with Git in the ABAP environment. The ABAP environment is special compared to other development and runtime environments, because for example only one active source code version can exist within an ABAP system and usually one system per developer is not available. I am interested in how other ABAP developers use Git in their daily work, especially whether a central Git repository is used, whether open source projects are used, or whether AbapGit is used locally purely as an archive application.
Do you often participate in such community events?
Andreas: I often participate in community events such as SAP Inside Tracks, Codejams and a CodeRetreat for Test-Driven Development with ABAP.
What motivates you as a trainer to do the BunKai “voluntarily”?
Johannes: An important topic needs to be pushed 🙂
Damir: The ABAP community formats are part of learning together and sharing knowledge. Software engineering is a very practical skill and, in my opinion, much easier to improve together. Personally, it motivates me to share my lessons learned so that others can do it better in the future.
Christian: And the fun of joy 😉 I’ve been a big fan of SAP community formats for a long time and have profited greatly from them. To get involved with abapGit and abapGit Bunkai is my way of giving something back. As a trainer, you also learn a lot at such events. According to the proverb “who teaches, learns twice”.
How was the atmosphere at the BunKai? How did you like it?
Damir: The atmosphere at the Bunkai was great and it is always a pleasure to come to Weinheim.
Johannes: I especially liked the strong interest of the participants and the constant intensive exchange.
Christian: I also really enjoyed the Bunkai. The participants were all very committed, motivated and willing to learn. I found the exchange among the participants particularly good. Everyone could learn something from everyone. We as “trainers” also learned a lot of new things and made our experiences.
Were the expectations you had of the first BunKai fulfilled?
Christian: Absolutely. I would not have expected so many people to voluntarily spend the whole Saturday working with abapGit, and in addition with a new format. I had the biggest concerns because of the cloud systems. The fact that they worked smoothly all day surprised me very positively.
Damir: My expectations were far exceeded, we went through a profound preparation phase and this paid off at the event.
What would you do differently next time?
Christian: Since it was the first event, we naturally have a very steep learning curve and can still improve many areas. The red thread through the day and the topic was not visible all day, some topics we explained too superficially, which caused confusion in the sessions. On the other hand, it’s a non-commercial community event. This will never be perfect and there will always be room for improvement.
Johannes: That’s right, next time we have to pay more attention to a red thread that connects the exercises.
Can you imagine coming back to Weinheim for a developer event?
Christian: Absolutely. It was my second time in Weinheim and it’s always worth the trip. objective partner is a great company and we appreciate that you made the first abapGit Bunkai and other events possible.
Damir: Yes, very much.
Andreas, have you already used AbapGit in your company before the BunKai and if so, for what exactly?
Andreas: I use AbapGit to download open source projects via GitHub and to return bug fixes or enhancements to the community. As Open Source projects we use e.g. the ABAP Logger and the ABAP Debugger Data View Extension. Another use case is to export the current status of a package, e.g. before a major refactoring. In the future I could also imagine using AbapGit to exchange source code between different SAP systems (e.g. an ERP and an S/4 test system).
What do you like about abapGit?
Johannes: That it combines the version management protocol “git”, which is widely used outside the ABAP world, with ABAP and can therefore also be the basis for CI/CD or DevOps.
Christian: AbapGit makes it easy to collaborate and develop across systems. This was previously unknown in ABAP (apart from SAPLink, which was never really useful for me). And that abapGit is the enabler for OpenSource in the SAP/ABAP world. And, of course, you can also contribute your own ideas and constantly improve abapGit.
Damir: So the ABAP developers in particular are finally no longer cut off from the cool stuff that other programming languages make possible.
It’s like opening the door to new worlds 😉
What are the concrete advantages from your point of view in using AbapGit?
Andreas: It’s easy to use AbapGit Open Source projects and keep them up to date, as well as participate in the community.
How do you think AbapGit will affect the future of SAP software and companies?
Damir: Personally, I think that the topics that go in the direction of software diagnosis will increase. From logged pair programming sessions to formally conducted code reviews that enable a completely different landscape and tool integration using ABAPGit. Sooner or later the possible automation will support us, ABAP developers, immensely to check software and offer clues to improve quality.
Johannes: With abapGit, we started to combine ABAP with development processes (git, CI/CD) that have established themselves outside ABAP. Anyone who wants to get more out of version management in the ABAP environment should look at abapGit. It is also an ideal way to exchange open source ABAP software (https://dotabap.org/).
Christian: I think abapGit will have a huge impact on the future of SAP software. This can be seen on the one hand from the fact that SAP relies on abapGit itself in the cloud with ABAP and is now also involved in the project. On the other hand, you can see that the number of users is constantly growing. For example, at emineo AG, abapGit has already made a lasting change to the way we develop.
Andreas: I believe that AbapGit is very important for the ABAP Open Source community because it greatly simplifies code sharing and perhaps even motivates some ABAP developers to actively participate in the community. AbapGit also remains exciting because it is integrated into the SCP ABAP Environment (ABAP PaaS) and only recently, APACK, another important building block in the use of dependent code, was introduced. Perhaps in the distant future SAP will also make the source code from SAP S/4HANA available in GitHub, so that every ABAP developer can fork it and set the changes as pull requests – instead of modifying or using enhancements. These developments could then (after approval by SAP) be incorporated into the standard code and rolled out to all SAP customers. GitHub would also provide a platform where standard code could be publicly discussed and issues could be posted. This would also significantly increase transparency. One can still have dreams.