Implementation & migration methodology

Before starting the implementation (with or without migration) of an Open Source solution, there are a lot of things to pay attention for :
  • What are the steps to follow to successfully implement a solutions ?
  • What are the points to be kept in mind ?
  • Which solution is the best ?
  • etc.
And depending of the kind of solutions you are using, other questions will come up.

Before starting

To choose among various solutions that may respond to your problem, don't forget the selection tips we defined elsewhere on this site.

Depending of the solution you choose, it may require more testing than as of a commercial one (proprietary or Open Source). Because when a commercial oraganization is behind an Open Source project, they will unlikely release software that they don't have test themselves. Outside commercial organization, the software qualification may be less detailed.

If you choose an application which is not supported by a commercial entity, but just by the community, read the documentations thouroughly. Don't hesitate to ask question on the forums beforehand.
Very important, prepare the more complete test environment you can to be sure to tests all the features you require.

In the test phase, don't forget to include non-IT staff users in your test panel, most of time they are able to pinpoint problems that you never had thought about.


During implementation

During the implementation, if you take full advantage of the open source nature of the products, you will be tempted to perform your own modification in the code.
This is indeed a great advantage of this kind of software, if you have the knowledge in house, to adapt the code to perfectly suite your needs and no more trying to accomodate your needs to the code.
But by doing this, you will have to be very carefull and organized :
  1. Don't do it if you don't have enough knowledge in house not only to perform the change(s) but also to maintain them and the whole products too.
  2. If the Open Source projects allows it, prefer apply your change using the plugins / extensions mechanisms delivered with the application. By doing so, you will be more independant of any update / upgrade in the base project.
  3. Any open source project will warmly welcome new programmers doing code changes, patching, testing and so on, so if it is possible, open the conversation with the project team to have your changes ported back to the main stream of code of the application, to let other to benefit of it, to debug and propose correction that will be valuable for you.
  4. Retrofiting your changes into the main stream development we also ensure that you will be easily able to perform update and upgrade without taking your given changes into account.
  5. If you cannot retrofit the changes into the main stream development, be sure to have everything well documented and archived, because when you will need to perform update or upgrade, you will have to apply your changes back to the updated / upgraded code.