I feel i have to correct some info here.
First of all NCSExpert is part of BMWstandard tools and used to code and program (WinKFP) works 100% on our bikes.
ESYS is next generations to do same as NCSExpert and WinKFP.
NSCExpert is used for pre -15 bikes with the BMSKP.
ESYS is for -15+ bikes with BMSX (K1600 has had it longer)
There is a bit of a learning curv but not more than learning your datalogger. Tons of Guides and info out there.
Software is freely accessible on the innerwebb (google is your friend)
I use these tool on regular basis to align ecus,dashes,abs units and ddc units. For people who build race bikes from salvaged part (not from same bike).
I also use ISTA+ (latest version do programing of F-series cars and BMSX bikes, moved from ISTA-P that is going to discontinued soon) for programming BMSX bikes.
You can use an Enet to usb cable for ESYS. and a INPA serial to usb cable for NCSExpert, WinKFP,ISTA-D,ISTA d ISTA P. Some ABL funktions in ISTA D or + don't work because it asks for KL30 and KL15 voltage from Diagnostic head(ICOM).
Personally i use an ICOM clone bought from ebay for less than 200 bucks, never failed me so far.
I do a lot of flashing to both BMSKP and BMSX but that's another topic, and a bit more expensive tools
If you have any questions ask them here, but try and be specific, and i'll try to answer as best i can.
Edit: You can also use a cheap INPA serial to usb cable and a Icom D adaper to use RCK1 and 2. No need to by expensive RCK2 cable
or make your own cable between the INPA OBD and the bikes Diag plugg with 4 cables.