The first step is some form of education.
Remember the company’s investment in plain C code, and try not to throw
everything into disarray for six to nine months while everyone puzzles over how
multiple inheritance works. Pick a small group for indoctrination, preferably
one composed of people who are curious, work well together, and can function as
their own support network while they’re learning C++.
An alternative approach that is sometimes
suggested is the education of all company levels at once, including overview
courses for strategic managers as well as design and programming courses for
project builders. This is especially good for smaller companies making
fundamental shifts in the way they do things, or at the division level of larger
companies. Because the cost is higher, however, some may choose to start with
project-level training, do a pilot project (possibly with an outside mentor),
and let the project team become the teachers for the rest of the
company.