Most of you who have purchased a new LIMS or ELN product know that it’s hard to find anyone who will use the word “programming” to you. The programming that’s done is referred to as “configuration” or “scripting” or some other such euphemism. No-one at all will use the word “customization” when they’re selling their product. That has negative connotations and the sales process is not the place for negative connotations but a time of happy stories, dancing through fields of flowers hand-in-hand with your sales rep, and dreaming of the wonderful day (years from now?) when your system will be done with its implementation.
As long as you know this is the case, you’re in good shape. Unfortunately, first time buyers don’t usually know this. For them, I will make these generalizations:
- A software product that allows the user to write any type of code will have significant programming as part of its implementation.
- A software product that has any tools for programming takes longer to implement. It’s a more powerful product but it’s harder to implement.
- A software product that has any programming as part of its implementation takes longer to write and run validations scripts on. You will always have areas where the code has to have its own script, even though there might be some areas where having code doesn’t require writing a script.
- A software product that has any programming as part of its implementation requires more maintenance and by people with more training than those systems without. You will have to determine when and why you might want to run regression testing. Those people who maintain the system need to know how to program; otherwise, you have to keep bringing people like me in for every tiny, little change, which isn’t efficient.*
- A software product that has any programming as part of its implementation will always have issues on a major upgrade. We can bicker about whether these issues are major or minor but there are always some and I can name them on the products I work with if someone wants to argue the point with me.
* Tip: Bring outside people like me in when you have a group of changes to make or a significant new feature to add. Specifically budget for it. This manages the costs when you pay for only specific blocks of work.