0

We have situation that we sold application for one client and we are constantly making changes to it for this client. On the other hand we have another client that want similar application. But there is a lot of little differences in many parts. Because of technology we use/way of code is written, it is hard to create common library and put only differences to libraries.

What to do: 1. Export code and create new repository - we loose change history 2. Create new SVN branch for new client - we will never merge it - it will never have any connection to main branch. ?

Best regards

  • What to do: 1 - change design of your application to support different "behavior" without changing skeleton of the application. Then you can create two different entry points(Main method) for every client where you put their implementation to the application core. - [Open-close principle](https://en.wikipedia.org/wiki/Open/closed_principle) – Fabio Jan 11 '17 at 10:39
  • Not possible to change design. Too little budget for it and i don't think our developers are capable to do it in so little time they have. – apukineimakiapudjuh Jan 11 '17 at 10:55
  • Then after one year you end up with double time for every shared feature, because it need to be done in two or more(if you get more clients) repositories. – Fabio Jan 11 '17 at 11:01
  • Man you are right but both client will 99% not pay for same additional feature. Projects bacame too different. If you are willing to pay for additional cost we can do it. Our business reality is cruel. – apukineimakiapudjuh Jan 11 '17 at 22:47

0 Answers0