competitive advantages in software companies