Skip to Content
Technical Articles
Author's profile photo Bärbel Winkler

Trying something new: videos of and quizzes about development guidelines

Several years ago, I triggered a lively discussion with the question “How to get contracted developers to read, accept and adhere to development guidelines?” and unfortunately I’m not really much closer to a good answer now than I was “way back when”. So, it was time to try something new, especially as we are currently putting together a new onboarding process for new consultants and developers.

During the last couple of months, I’ve spent 1 1/2 to 2 hours with each new recruit to walk her or him individually through our development guidelines with a focus on our specific setup and rules. In order to make this less dependent on my availability, we briefly had the idea to record one of these sessions and then make it available for others to watch. That however begged the question of who would actually sit down for about 90 minutes to watch this in one go? So, instead of offering just one long recording, I set down and recorded myself while talking about most chapters in our guidelines. As of this writing, a dozen videos with a length between 3 and 15 minutes have been made available for watching.

 

Update Aug 26 (triggered by comments): The purpose of our guidelines, which live online in a Confluence space and which developers have easy access to, goes further than what the name implies. Yes, we do have naming conventions included but the most important of these are how development objects should be properly named (and in some cases why this is important). We don’t really sweat the small stuff like how variables, structures and the like should be named in programs.

Another and arguably more important use of the guidelines space is as an “information hub” for anything related to development. There are for example pages with tips & tricks, FAQs for how our ATC is set up and works, a calendar showing the days when imports into production happens, upcoming support package releases when systems might be unavailable and about objects which due to their sheer size and regularly needed changes require some special treatment (and how that works). Items like these are the ones I specifically mention and point to in several of the videos to make sure that people have at least heard about them once!

In addition to creating the videos, I kept mulling about a means to have new recruits – but also “old hands” – check their knowledge about our guidelines. To not run afoul of any privacy rules, I decided to simply create a few quizzes with the help of Google forms which wouldn’t collect any personal information but which could still serve their purpose as a voluntary knowledge check. To hopefully make this a bit more interesting, each correctly answered question will “earn” the quiz-taker 5 points. Time will tell if this will prove to be incentive enough for people to actually do the quizzes!

 

In order to – hopefully – get more interaction between developers, I’m contemplating a regular, once or twice a month, “open space” kind of meeting to talk shop about ABAP development, our guidelines and processes. Right now and until mid-September I’m collecting feedback on the idea, if there’s interest and for which days of the week to schedule such a meeting. Given that some external consultants are available just for some days of the week, I’m for example trying to find out which day(s) of the week will work best for most of those interested in the calls. What I might end up with is two sets of meetings on alternating weekdays every other week so that everybody interested can join at least one call per month. Depending on how that goes, it might provide material for another blog post down the line.

So, what do you think about this somewhat creative – some might think “over the top” – approach to get better uptake of our guidelines and processes? Have any of you tried something comparable and if you did, was there a noticeable effect?

Thanks for reading and I’m looking forward to your feedback!

Cheers

Bärbel

Assigned tags

      10 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Michelle Crapo
      Michelle Crapo

      I've had a mixed bag of following guidelines.   I think it matters on what kind of estimate you get.   Usually we have time & materials for a specific firm.   Meaning they don't want to spend time thinking about our standards they use their own.  I'm pretty sure my boss wouldn't go for adding this time to the project cost.  "Unless it effects the run-time don't make them re-do it. Or worse has the possibility of breaking our system".   So our standards are pretty much read the programming guidelines.  Which they may or may not do.  Even if they do read them, following them - maybe?  We can end up with different consultants working on our projects as well.

      The best consultants read our guidelines and tell us how to improve them.

      So no, for me this wouldn't help.   Yes, pay now or pay later.  Right now the projects are coming so fast that we will pay later.  I even find myself getting sloppy at times.

      BTW - I am the only in-house developer.  😉

      Author's profile photo Bärbel Winkler
      Bärbel Winkler
      Blog Post Author

      Thanks for your comment, Michelle!

      Our set up is a bit different as - thus far - we've been working with several consultants for many years, some were involved right from the start when SAP was first roled out in the early 2000s. It has therefore been a constant back-and-forth with some of them making suggestions of what to include in the guidelines. We have also been rather pragmatic about enforcing them, but as more external developers get involved, we'll somehow have to ensure that things don't get too much like a "free for all". Our globally used SAP systems wouldn't take too kindly to that!

      A big chunk in our guidelines is also devoted to rather specific processes where developers and consultants have to be aware of how to do specific tasks before they start dabbling with them the first time. These aren't items which can be checked via ATC and where those checks would come to late in most cases.

      Cheers

      Bärbel

      Author's profile photo Vicenç Xavier Lozano
      Vicenç Xavier Lozano

      As I'm the only in-house developer too, our guidelines live in my brain, and change every six or seven seconds.

      About external developments, it's hard to force, because, as Michelle pointed, consultants tend to raise their prices when you try to make them work properly.

       

      About your idea and the work you put on them, I like it: it looks like the OpenSAP courses... I wish the videos are more friendly to watch, because (at least the development ones) I fall asleep every time I must watch one of my courses' videos.

      Author's profile photo Bärbel Winkler
      Bärbel Winkler
      Blog Post Author

      Thanks for your comment, Vicenç!

      Having the guidelines readily and flexibly available like that, sounds neat!

      Regarding the videos: I only published them last week, so don't yet know how well they'll  do on the "friendliness to watch" or "sleep-inducing" indexes respectively!

      Cheers

      Bärbel

      Author's profile photo Matthew Billingham
      Matthew Billingham

      Our guidelines live in my brain, and change every six or seven seconds.

      Continual improvement. I like it.

       

      Author's profile photo Felipe Silva
      Felipe Silva

      This looks like a good idea to share knowledge. I would see more value doing it for coding principles (oo, clean code, unit testing, lifecycle) rather than things that could be statically checked.

      I mean, ATC can do most of the things that are in the guidelines I saw so far, ie. naming conventions, syntax guidelines, performance, authority checks...You name it! There are open projects that add even more checks, and writing your own checks is not that hard. You can write one to check if a report has a transaction for instance (if there isn't one doing it already).

      The bottom line is, ATC can enforce most of your guidelines and you can keep your reviews to what matters (readability, maintainability, correctness, ...). It eases code review by a lot in my opinion, and then we don't need to hope developers will go through all videos and all, the system makes sure developments are following guidelines or have the relevant justification.

      But hey! This is still a great thing. It's a smart and less boring way to be on boarded to this subject.

      Author's profile photo Bärbel Winkler
      Bärbel Winkler
      Blog Post Author

      Thanks for your comment, Felipe!

      I should perhaps have elaborated a bit more about the purpose of our guidelines which live online in a Confluence space and which developers have easy access to. Yes, we do have naming conventions included but the most important of these are how development objects should be properly named (and in some cases why this is important). We don't really sweat the small stuff like how variables, structures and the like should be named in programs.

      Another and arguably more important use of the guidelines space is as an "information hub" for anything related to development. There are for example pages with tips & tricks, FAQs for how our ATC is set up and works, a calendar showing the days when imports into production happens, upcoming support package releases when systems might be unavailable, objects which due to their sheer size and regularly needed changes require some special treatment (and how that works).

      These items are the ones I specifically mention and point to in several of the videos to make sure that people have at least heard about them once!

      Cheers

      Bärbel

       

      Author's profile photo Felipe Silva
      Felipe Silva

      Ahhh...now everything looks nice and tidy. Congratulations!

      Author's profile photo Florian Henninger
      Florian Henninger

      I really like the idea. Open space *thumbup*

      That's  a great way to keep up with all the other developers. This is more important than the guidelines itself.

      My vision is, that everyone is part of the guideline. I don't want guidelines noone is caring and just following because of the fear of don't doing it that way.

      I want to have everyone on board, finding compromises and have a self-control-system.

      To be true, that is a long way to go, and I would suggest I have the first 5% behind me. ATC and stuff like that can help, but need a lot of time investment to keep it up to date. Specially when you are working for a partner 😉

      Author's profile photo Bärbel Winkler
      Bärbel Winkler
      Blog Post Author

      Thanks for your comment, Florian!

      I'm also quite interested to find out how this idea with the "open space" will work out. I sent out a small form to gauge interest and availability yesterday and already got 7 responses back (IIRC), and none of them had ticked "not interested". I hope that this is not just an "early" spike and that it holds true as more responses come in. Scheduling will turn out to be interesting as there are three dimensions to it: day of the week (Mon to Fri), time of day (moring or afternoon) and language (English or German).

      Cheers

      Bärbel