Product Lifecycle Management (PLM) vendors promise their systems to be so great, they can be used by organizations from the get-go, revolutionizing how they define and manage their product data. However, that is the case only for those organizations who are willing to adapt their own internal standards and procedures for the sake of pre-implemented best practices within PLM systems. All others must rely on configuration and customization. What is the difference between them and how to make sure they don’t end up being (risk, downside, weakness?) in the future? Read on to find out.

OOTB

OOTB, or “out-of-the-box”, is the set of functionalities available to users immediately after installing a system. In case of a PLM system, OOTB means a group of pre-defined elements, such as:

  • Standard user interface, with browsing and searching capabilities
  • Data model (object types, their attributes/parameters)
  • Lifecycles
  • Workflows
  • Object templates (including Product templates, complete with role and security definition)

These are, especially in the case of larger and more mature PLM systems, such as PTC Windchill, created based on certain industrial standards and best practices. They were defined jointly by their creators and some of the brightest minds from worlds’ best universities, but also actual customers, through many years of system usage and hands-on experience. Some things which initially were considered custom in the system have gradually made their way into the core product, becoming “OOTB”.

Most software vendors boast their software as being ready to handle any challenge for any company “out-of-the-box”, but very few are true to their word. Think: an office software suite, including a word processor, spreadsheet editor, presentation editor, etc. These will work similar regardless of who made them (OK, there may be some slight differences in the User Interface (UI) or the kinds of animations you can use, but the general “feeling” is the same).

In case of PLM, however, there is no “one size fits all” solution. It is very unlikely an OOTB (or “vanilla”) system can be utilized effectively within “just any” organization. Especially larger and/or older companies have their developed working methods, which have proven to be effective and should not be changed to fit the system – rather the system should be changed to fit these methods. What data and meta-data we consider important and decide to store in a PLM system also changes from organization to organization, as do roles and access control rules assigned to them. These and many more things usually need to be changed in a “vanilla” PLM system before it becomes truly usable to an organization, and this is where configuration and customization come into play.

Although these two terms sound similarly, they are in fact significantly different in meaning. Let us start by defining what these two are – in as simple terms as possible.

What is configuration?

Configuration (in a PLM system) covers all the changes you can do to a product from the User Interface perspective. PLM vendors usually include configuration tools, allowing you to change the system behavior to a limited degree. This includes such things as:

  • Changes to the data model, including definition of new object types and attributes describing them
  • Definition of Lifecycles and lifecycle states
  • (partly) definition of workflows
  • Definition of object templates (Product, Library, etc.) – including roles within containers and access control rules definition
  • System behavior management through preferences

Some people also include potential modification of system property values (in case of Windchill: changing the open-text values inside .property files) as configuration, but for the sake of clarity let’s not include this into this category at this point.

In other words, configuration is a system modification that does not require access, modification, implementation, etc. of the system’s source code[1]. For this reason, many people also consider ability to configure the software (and thus configuration itself) to be an integral part of OOTB functionality.

Configurations are generally supported between system versions, so if you upgrade your PLM system, you usually don’t have to worry about upgrading configuration to fit a newer version.

[1] Yes, configuration can usually be exported from a system (for the purpose of importing it to another instance) and then it does take the form of XML or other files which may contain code, but you don’t have to actually “touch” that code: open a text editor and write anything. You just “export” it and “import”, without actually looking inside those files.

What is customization?

Customization, on the other hand, is everything above and beyond configuration. Customization is any system change which requires modification or extension of the system’s source code (i.e. implementation, development), because the desired result cannot be achieved through configuration only. In most cases, customization examples include:

  • Listeners (triggers that fire a certain action/system behavior when a given event happens, for example auto-publishing on Change Notice completion, etc.)
  • New user actions and wizards
  • Workflows (some cases) – Windchill allows you to write code, so when you want to do some custom processing while running your workflow, you can
  • System integrations – I’m sorry to say, but almost all system integrations for PLM are custom
  • Some cases of advanced business reporting
  • Various implementations of additional business rules

Although this does not exhaust the list of possible customizations. Through my years of working as a Windchill developer, there’s much I’ve seen people do with the system in terms of introducing new/custom features… and there’s even more of what I haven’t seen so far…

Software systems, PLM included, usually have their own lifecycle and get upgraded by their vendors from time to time. PTC Windchill is no exception here, with a roadmap detailed for a few years ahead. When upgrading your system to a newer version, you should never assume that your customization will work properly. System vendors introduce upgrades, changes and so on to their core products, which may render some customizations unnecessary, but also some portions of them can address pieces of code which no longer exists (or functions as it did earlier) in the core product – which can wreak all kinds of havoc on your PLM system. Each system upgrade with customization present should consider effort needed to verify the customization’s compatibility with the new version and (if necessary) its upgrade. For comparison, an upgrade of a “vanilla” system can sometimes be completed within hours. If complex and extensive customizations are present, it can be months, or even years (yes, I’ve seen such cases).

Windchill PLM: OOTB, configuration or customization

What is the difference between configuration and customization?

As you can see, the main difference between configuration and customization is that the first can usually be achieved via system UI, while the latter requires programmers to code new/changed functionality. Unfortunately, it’s not as simple as that.

Configuration, even if exported into a set of files (for the purpose of deploying in another system) is usually relatively easy to manage: Simply track the list of changes you did and never manually modify exported files[2].

Customization, as with most things programming, can be (and usually is) much more complex and should be managed appropriately. Otherwise, deploying it will result in a system full of bugs and errors, or even not starting at all (!), rendering it unusable and thus a big waste of money and effort.

[2] This would be the case in an ideal world. In the real world you do sometimes have to modify configuration files, which are usually XML. Still, by doing so you are not affecting the code of the core application.

How do I know whether customization is needed?

No system or solution could possibly be designed to ideally serve all customers across all industrial verticals. In many cases customization will indeed be inevitable. Even as common a case as feeding information from your PLM to your ERP system upon “Release to Manufacturing” will require customization in the form of a system integration.

As a PLM system customer, you should not be required to know all the ins and outs of PTC Windchill, Siemens Teamcenter or anything else out there. Trying to learn all the intricacies and important bits may take years, which your organization may not have.

Therefore, you should rely on two things:

  • The system vendor – after all, whoever makes a system should know it best (assuming his representatives are truthful when describing what a system can and cannot do OOTB and through configuration)
  • Independent partner, System Integrator, Value Added Reseller, etc. – such as Transition Technologies PSC – who can help you evaluate your needs and help you define what can

A partner should be your best asset when implementing a PLM system within your organization. Through years of working with other customers, such a partner should have gained deep understanding of tools he is working with and can not only tell you whether a system can act as you want it to, but also potentially advise on whether it’s actually a good idea to abandon its functionality and develop your own.

How should I manage customizations?

Software Development and System Operations, often referred to as DevOps, can be quite a complex topic – also for Product Lifecycle Management systems. If I went into details here, this would turn into an entire article on DevOps best practices for PLM, so I will cut it down to necessary details here:

  • Use a version control system for your source code (ideally Git or equivalent)
  • Use a system like Atlassian Jira or PTC Windchill RV&S (former Integrity, as an Application Lifecycle Management [ALM] system) to track development progress, tasks, issues, user stories, sprints, etc.
  • Tightly integrate the two above so that no one can change anything in the repository if he’s not working on a specific ticket.
  • Use automated tests for any custom code (at minimum unit tests).
  • Use automated environment creation (if possible – greatly simplifies and decreases effort and time) and build deployment tools like Jenkins.
  • Tightly integrate automation tools with tests, source code and the ALM system.
  • Use multiple validation environments (for example: programmers code in a Dev system, testers test on a Test system, final user acceptance testing is done on a QA system – and finally, nothing is changed on production, unless part of an official release schedule, tracked, managed and validated)

I can pretty much bet that if a system uses customization, it also has configuration. In that case configuration, once exported from the development system, should also be managed as part of the process above – this will ensure an entire system deployment is coherent and smooth, and any and all issues are detected and resolved at an early phase.

Obviously, the process above is simplified… significantly. Even so (or maybe because of that), some organizations decide not to follow it and take high risk when developing PLM customizations. From what I’ve seen, this always ends in a disaster[3], so if you want to avoid being part of that disaster, please make sure your PLM service provider applies proper DevOps techniques before it’s too late.

[3] Yes, always. Sooner or later, but always.

Configuration vs customization

After reading what you’ve read so far you may think you want to steer clear of customizations of any kind: they are often complex, risky and costly. That is largely true: what can be achieved using an OOTB product with some (even much) configuration, should be done that way. After all, most PLM vendors try to incorporate as much flexibility into their products and solutions as possible, so you don’t have to customize.

However, please keep in mind that even the best PLM system will not have all the features working exactly how you’d like them to, and thus will require some modifications. If a PLM salesperson ever tries to convince you that his PLM product will fit your (and every other business) perfectly from the moment you install it, show him the door.

Is there such a thing as too much customization?

Yes, there is. I’ve seen projects with over a dozen thousand custom classes, varying from a few dozen to many thousand lines of code. It was manageable, but barely. Managing dependencies between various packages slowly became a nightmare and tracking an issue to a change in requirement and piece of code developed by a particular person was almost impossible. Testing and debugging the solution required weeks, if not months, before every release.

Then came the system upgrades, which changed the core code of the system which was customized…

(Needless to say, any hopes of upgrading that system before severely decustomizing it were abandoned.)

Nowadays, vendors release new system versions more frequently than ever. Just like with physical products, for software Product Lifecycles also shortened to a point where some versions are fully supported for only a few months. Customers must now decide whether they want to use the latest features (and upgrade frequently) or install a long-term support (LTS) version. Of course, the more frequent the upgrades, the more time needs to be spent on ensuring that configuration and (especially) customization continue to work as expected.

Not all is lost, though, if you indeed need to heavily modify your PLM system. There is a way to manage and maintain even extensive and complex customizations: DevOps. This concept, if implemented properly, greatly simplifies many processes and helps maintain high quality of a solution even if significant modifications are introduced. It does not solve all challenges, but it helps. A lot.

Can I customize a cloud-hosted PLM system?

Yes and no. Let me explain:

If you decide to purchase your PLM system as a SaaS (Software as a Service) offering, then the vendor of the system takes care of all the back-end work: setting up servers, installing and maintaining the system, performing upgrade, etc. However – you as a customer rarely (if at all) are going to get access to the actual operating system (OS) on which the PLM application is running. Since you don’t have access to the OS, you won’t be able to deploy your custom classes / code. You will have to rely on a SaaS provider for any change deployment. Some providers require lengthy and cumbersome processes to deploy even the smallest change, so select your partner carefully and ask them about their deployment procedure.

On the other hand, you may purchase a “regular” PLM license and host the system in “your own” cloud environment. In this case you will be tasked with setting up appropriate (virtual) infrastructure, installing and maintaining the system, but since you are the owner of the cloud infrastructure, you can do whatever you want with it – including customization. Gentherm, a global leader in thermal management technology, did just that and they are extremely happy.

This second approach requires significantly more effort, not to mention deep knowledge of cloud solutions, especially if you want to achieve a satisfying level of automation. Luckily, this is where you can rely on your PLM partner to help you out. See for yourself how you can achieve SaaS-level automation (or more!) and peace of mind while leveraging the public Cloud to host your Windchill system, based on a real-life example from the automotive industry:

Conclusion

Although it might be easy to say that you should avoid customization at all cost, in the PLM world there is no “one size fits all.” While some organizations may indeed benefit from using an OOTB PLM system, it’s hard to expect many of them to let go of their principles and working methods – things that made these companies so great in the first place. While it is true that you should aim at minimizing customization, even large ones can be managed efficiently if a proper process is applied. Ultimately deciding whether to go with configuration or customization (or even a particular PLM product) should be an informed decision based on your organization’s true needs and requirements – in best case supported by the breadth of knowledge and experience of a trusted partner, who can later execute on the plan.  Contact us!

_All posts in this category

blogpost
Articles

Product configuration management in defense systems: how PLM helps meet contract requirements

The modern defense industry relies on precision, reliability, and compliance with strict regulations. Managing the configuration of defense products is key to meeting contract requirements and ensuring the highest quality of delivered systems. In this context, product lifecycle management (PLM) systems play an increasingly important role by supporting the design, production, and maintenance processes of […]

Read more
blogpost
Articles

Optimizing the cost and time of defense product certification with PLM

The modern defense industry faces numerous challenges, including rising costs and increasingly complex certification processes. Obtaining certification for defense products requires compliance with strict safety standards, conformity testing, and precise documentation—factors that can lead to delays and additional expenses.  In response to these challenges, organizations are increasingly turning to advanced Product Lifecycle Management (PLM) solutions, […]

Read more
blogpost
Articles

Mastering packaging data with PLM: Insights from Manufacturing

In an era of increasing regulatory demands and market pressure for sustainability, packaging is no longer just a product’s protective layer. Today, it plays a critical role in compliance, logistics, aesthetics, environmental impact, and customer engagement – all while manufacturers strive to keep costs low. For many manufacturing companies, managing packaging information (labels, components, materials, […]

Read more
blogpost
Articles

What is the PPWR Directive and how will it affect manufacturers?

In the face of the growing climate crisis and a dramatic surge in packaging waste, the European Union is taking decisive action to protect the environment and conserve natural resources. Each year, the EU generates over 80 million tons of packaging waste. Without significant intervention, this number is projected to rise further. Much of this […]

Read more
blogpost
Articles

Sustainable development and ESG standards in the Automotive Industry thanks to PLM solutions

Sustainable development in the automotive industry is no longer just a trend, but a necessity driven by increasing regulatory requirements (ESG, EU Green Deal), consumer expectations, and pressure to reduce CO₂ emissions and implement a circular economy. A key tool supporting companies in this process are modern PLM (Product Lifecycle Management) solutions, which enable effective […]

Read more
blogpost
Articles

Digital Thread and Digital Twin – Key Differences and Applications

In the era of rapid industrial digitalization, ideas such as digital twin and digital thread are gaining importance as integral elements of digital transformation. Although these terms are often used interchangeably, they refer to distinct yet interconnected concepts. Understanding their essence and mutual relationships helps organizations make informed decisions about investing in innovation. Key definitions […]

Read more
blogpost
Articles

How to Measure Return on Investment (ROI) in PLM for the Defense Sector?

Product Lifecycle Management (PLM) is a crucial tool in the defense industry for managing the lifecycle of products—from concept to end-of-life. PLM enables efficient monitoring and optimization of every stage of production and use of military equipment. Given the high costs associated with implementing such systems, accurately measuring Return on Investment (ROI) is essential. This […]

Read more
blogpost
Articles

PLM in the defense industry – strategic tips for CTO

Main challenges in the defense industry The defense industry faces a range of challenges stemming from both external and internal factors. Understanding these aspects is crucial for effective management, strategic planning, and the implementation of modern PLM tools. External factors and their impact Internal factors as technological and organizational challenges Learn more The defense industry […]

Read more
blogpost
Articles

Digital Transformation in the Automotive Industry: How PLM is Revolutionizing the Automotive Sector

The modern automotive industry faces dynamic changes driven by the need to adapt to global technological, environmental, and economic trends. Digital transformation in the automotive sector plays a crucial role in addressing these industry challenges. In this context, Product Lifecycle Management (PLM), empowered by digital transformation, has become an essential tool for implementing modern solutions […]

Read more
blogpost
Articles

What does Eco-Design mean and why it’s important to businesses and the environment? 

Explore the importance of eco-design for businesses and the environment. Learn how eco-design principles, from material reduction to recyclability, enhance sustainability, reduce costs, and support regulatory compliance, offering a competitive edge in today’s market.

Read more

Let’s get in touch

Contact us