When I first switched from an analyst role to an ABAP development role, my friend who is a .Net developer was surprised and asked me why I would want to develop in such an “archaic” language. Of course ABAP is not an “archaic” language, but it can be if developers are using obsolete statements. I think the term “archaic” is fitting for developments that are not taking advantage of modern ABAP especially considering the below image from Horst Keller’s presentation on Modern ABAP programming at the 2011 TechEd.
I had an ABAP teacher once say that there are some developers out there that may have a resume that states 9 years of experience, but if the developer is not keeping up with developments in the ABAP language they may really just have one year of experience 9 times.
At the company where I work, we have ABAP coding and performance standards to prevent the most archaic of obsolete statements from being used, however they do not require the use of ABAP objects or Modern ABAP and definitely do no apply for old code. When trying to maintain some of the programs from ancient times, I really want to just rewrite the whole thing utilizing all the modern ABAP techniques that I know and sometimes that seems easier than just trying to add more band-aids to make it work with our changing business processes.
Within IT, our goal is to provide world-class solutions to our customers in the business and to keep the total cost of ownership of IT down. That is the reason we implemented SAP in the first place, but I feel that those statements can collide with each other if world-class may mean paying for training to keep everyone up to date on the newest technologies and spending time to modernize custom programs from the ancient past.
So my question is what kind of IT policies are out there to ensure that we are taking advantage of Modern ABAP in our SAP solutions? How much should be dictated by ABAP programming guidelines or should our training program keep everyone up to date and how much do we trust our consultants? Or at the end of the day, does it just matter if it works or not and how we got there?
Please post some comments if you have any experience with this topic. 🙂 Thanks!