Notes:
Over the course of time I gained a better understanding of this situation.
The traditional development approach was to develop for the customer's platform of choice (using Cobol – in my opinion this is a much maligned language which still has its place).
However, market pressures were moving against the traditional solutions: systems were getting more ambitious (bigger), the market price was falling, and text user interfaces were unfashionable.
Development costs were too high – but changes to existing systems were profitable and keeping the company solvent.
They decided they needed a standard base system that could be tailored to customer needs. They knew they couldn't do this in Cobol so they looked for another way.
They settled on OO to give them re-use,
Java was chosen for its platform independence,
Finally, they found a suitable customer project and set about developing a standard system as part of that delivery.
They made a number of popular mistakes – how many can you identify?