SQL Server MAXDOP on VMWare Virtual Servers
Your colleague is wrong. SQL Server will use parallelism whether the cores are virtual or not. 

In fact the VMWare SQL Server best practices guide you link to explicitly states:


  There is a fair amount of misconception and incorrect advice on the
  Internet regarding  the values of these configurations in a virtual
  environment. When low performance is  observed on their database, and
  CXPACKET is high, many DBAs decide to disable  parallelism altogether
  by setting MAXDOP value to one (1). This is not recommended  because
  there might be large jobs that will benefit from processing on
  multiple CPUs.  The recommendation instead is to increase the CTFP
  value from five seconds to  approximately 50 seconds to make sure only
  large queries run in parallel. Set the  MAXDOP according to
  Microsoft’s recommendation for the number of cores in the  VM’s NUMA
  node (no more than eight).


I will however note that the writer of the VMWare best practices guide is confused. The value is not in seconds but in "cost" (also known as query bucks)