Self-driving vehicle software development is challenging. It requires a stable execution environment for software modules, a robust source code management system, a source code quality verification system, a distributed computation network making system, and establishment of an efficient communication between engineers as well as task management. This article is to shed some light on the aforementioned aspects of the software development processes.