It's that way because the Boeing CST has its own software, as does the Lockheed's Orion and the Soyuz and every unmanned spacecraft ever developed. Development costs and quality could be greatly improved if all of them shared a single codebase.
If more designs shared the codebase, it would end more modular, more maintainable and better tested.