Da musst du ein spezifischen K+DCAN Kabel mit Inpa unterstütztung kaufen. Ich hab ein billiges von Amazon, geht perfekt. Habe damals auch alle möglichen OBD2 Kabel probiert, es funktioniert aber tatsächlich nur so ein K+DCAN Kabel.
Wenn du dir nicht sicher bist, schau ob der OBD Stecker vom Kabel einen kleinen Schalter hat, dann kannst du zwischen K und Dcan wechseln.
Für die Software würd Ich dir die BMW Standard Programme und Ista D empfehlen. Da ist praktisch alles zum codieren etc. dabei.
Google am besten auf english nach z.B.: Ista D instal guide (Auf english wird man deutlich schneller und leichter fündig als auf deutsch
)
Denn bei Ista D sind die Standard BMW programme (meistens) schon dabei (Inpa, NCS Expert,.... alles was man halt so braucht)
Schau aber das du einen halbwegs guten Windows 7 oder Windows 10 Laptop hast der am besten auch eine original Windows version hat. Hab schon bei vielen Kollegen probiert die ganze Software zu installieren, bei denen mit seltsamen Windows versionen hats nie funktioniert.
Außerdem brauchst du komplette Admin rechte am Laptop, da gabs auch schon Schwierigkeiten zb am Arbeitslaptop von Kollegen.
bisschen Platz auf der C:/ Festplatte vom Laptop brauchst du auch (Ich würd min. 100GB freien Platz vorschlagen) Ista D ist ziemlich groß.
Nur pass halt echt auf was du da in den Programmen machst, Ich hab da letzte Woche mein Motorsteuergerät geschossen, und musste es mit Löten wieder zum Leben erwecken. 
Wenn du hilfe mit den Programmen brauchst meld dich gern bei mir, hab auch noch die Programme auf ner Festplatte falls du gar nix finden solltest.
Viel Erfolg!