First familiarize yourself with one software.....INPA is a good start.....PA soft is another easy one.
Learn and understand BMW modules individually.....then progress to programming to what you feel comfortable.
Your Navcoder demo not really useful not without a license and is also limited features.
I'm on early stage using Rheingold now.
Good luck and back-up anything before you delve deeper!