Once you have graduated on from doing competent diagnostics with DIS (& INPA) you should then start to look at coding using NCS expert. Attached are all the best step by step guides for learning how to do coding via NCS Expert.
I also recommend that you download NCS Dummy, just google it & you'll be brought to a post on a rival bmw forum which is written & regularly updated by the creator of NCS Dummy, the user is "revtor". NCS Dummy is an excellent tool, what it does is translate the FSW_PSW.TRC trace files from the various modules from German to English, it also shows the various settings for each parameter in each module. When you read the guides attached you will soon realise where the FSW_PSW.TRC files come from & how you get them.
Finally, you should always remember that our 6 Series (e63/e64) is really just a fancy 5 Series (e60/e61). So from a coding point of view the 6 Series is really an e60. One of the benefits of this is there is far more support/interest in e60 coding than e63/e64. You can therefore use all the e60 info & resources out there for coding. For example there is a shared GoogleDocs spreadsheet out there in the ethers that lits all the most popular coding changes for the e60, which as I mentioned are equally compatible with the e63/e64.