Why do I Need to Change My “Out-of-the-Box PLM”?

I’d like to discuss a topic which is probably the most “non technological” topic I have ever discussed in this blog. This is what we refer to as ‘best practices’. This exists in PLM, ERP, and many other business and enterprise systems. But I’d like to discuss what is behind this topic, particularly the business and technological drivers that will change the “out-of-the-box” PLM system.

So, what are benefits to have a plain, vanilla, out-of-the-box PLM implementation?

1. No need to have expensive implementation services; you just need to install it

2. You don’t need to define processes; you just need to map your organization roles to those that already exist in the system

3. You future PLM version will be easily implemented on top of the existing one

I’m sure, in the beginning, your first impulse is to opt for “out of the box”. But I suggest that you look at the factors that prevent you from doing so realistically:

1. You need to integrate data with existing systems. As a result, you need to enhance your data model

2. You are running a system inside of an organization with all the related business systems – so you need to adapt to the existing business processes (ERP, CRM etc.)

3. You are working for OEM/Suppliers, so you need to justify your processes with suppliers

Therefore, how can you handle system deployment in order to prevent future hassles? Here’s how:

1. Data Models: reuse what you have with out-of-the-box and add what you need. Try to avoid changes in existing models.

2. Business Processes: use as much as possible in a declarative way to define processes. For any additional implementation separate as much as possible between process definition and addition customization you will make using programming language.

3. Integrations: Set up an integration between systems as part of the business process. Try to avoid batch data transfers. Keep logic separate.

In short, here’s my conclusion: – (1) You cannot implement totally out-of-the box; (2) You need to minimize amount of customization you will do; (3) You need to apply tools and technology that will minimize the cost and time for future migration.

I’d like to figure out what tools and technologies would be helpful to optimize the cost of your implementation:

1. Use declarative tools as much as possible as well as tools provided by your vendor (for customization, development scripting etc.)

2. Use standard-based customization if possible (i.e. BPMN for process management and workflow)

3. Use low cost customization and development tools for easy implementation. Your services will cost less and in the future it will be easy to find suppliers for next customization.

To sum up, these are basic, if not obvious principles. I’d like to hear whether or not you think that they are applicable, and in which instances.


Share This Post

  • I have two comments on your paradigm:
    1) “Out of the box” has no meaning in SaaS/cloud delivered applications (the software doesn’t come in a box anymore). More importantly, most of these applications don’t really allow for customization, there is a single, common code base
    2) I think most customers want to have easy configuration, and no customer wants customization. They don’t want to break the custom code with every upgrade, they don’t want to pay a VAR or SI to write unique code, and in fact they often want the opportunity to leverage “industry best practices” where they can without having to design their own.

    I think the real challenge is on the part of the vendors. It’s hard to write code that is configurable to meet customers need to adapt the PLM system to their world and “best practices”. Also, in reality most vendors don’t have great in-house knowledge on industry best practices to offer it to their customers.

  • Hello Mark,
    Thanks for your observation! I definitely agree with what you are saying with regards to SaaS/Cloud. Most of the implementation have no allowance for customization. But this is also disadvantage and adoption challenge. What works well for mail, won’t work for product lifecycle. I think Force.com have some unique experience in trying to do both and SaaS.
    On the second point, I probably see customers are struggling between need to customize and understanding of attached cost for implementation and future upgarde. But I think, bottom line, everybody are doing customization/configuration (whatever you call it).


  • Alan Belniak

    This is always the danger when one solution does not fit all. But I think you’ve captured it well. The ideal is to have systems that are flexible enough to make (relatively) simple changes, as well as having enough ‘intelligence’ to be a bit emergent and recognize when something new is introduced. If code is used to write patches or integrations, then it needs to be easy enough to understand, and something that can live beyond the employment span of the programmer!

    They are indeed basic principles. And they are easy to understand. But I don’t think they are easy to implement.

  • Hello Alan, welcome to plmtwine! I agree, to have simple and flexible enough systems is silver bullet, but this is not alway simple to achieve. Always keep in mind the next person to change this system won’t be you. -Best! Oleg/

  • I can’t disagree with the principles you state and in my company we are (finally) on the home straight of an Enovia v6 implementation trying to do as much as possible out of the box. But I fully agree with Mark that the vendors have to pull their fingers out and deliver ootb stuff that works.

  • Pingback: PDM. Pre-configured? Painless?()

  • Pingback: PDM. Pre-configured? Painless? « Daily PLM Think Tank Blog()