Friday, July 8, 2011

PTC System Monitor

Most of the developers/Administrators struggle to troubleshoot a problem within the system coming either from a badly configured sql queries or custom code. How about tracing a performance issue caused by a valid unknown sql query from Windchill (user defined reports or custom code)? The current monitoring system has limited capability to point the module/method/class/query which eating up maximum resources on the system causing system terribly slow. This is also possible in case of complex system configuration where time required for investigating the issue is huge.

During the PlanetPTC conference this year, PTC had major announcement by introducing a new module call PSM (PTC System Monitor) which will be shipped at no cost along with PTC Windchill Product after October 2011.

PSM is a separate server-client system powered by dynaTrace that monitors Windchill application. dynaTrace has emerged as the new leader in application performance management. Here are some silent features:

  1. Reduce Turnaround Time and Escalations: Based on the PTC Experience with this tool, it is estimated that the turnaround time to troubleshoot an issue with this tool will be 10 times faster than the current one.
  2. Easier Monitoring and Diagnosis: This tool is packed with multiple dashboards, incidents and alerts, built-in analysis tools. Runtime data can be cached and stored automatically. This is very useful in case of escalating call to PTC tech support where we need to exchange the information to the PTC. This tool allows us to automatically record Sessions and export to PTC support team.

PSM is a heavy weight server-client system which requires its own database to be configured. However it there is flexibility to configure the PSM system on remote machine other than the PTC Server.

PSM system is based on Agent, Sensors and Measures which are inserted logically within the Windchill system. Agent’s gathers monitoring (cpu, memory, threads) and diagnostic information (java stack, arguments, SQL statements, etc) to send to the collector. Sensors are Entry Points or measurement points into the Java stack. Sensors recognizes the java inheritance concept hence not all the classes required sensors. The specification for sensor is basically done by developers which allow PSM to monitor piece of code and its performance. PTC has already developed sensors for all the major API’s. If developer needs to put a sensor into code, the code has to inherit the sensor specification provided by tool so that the custom code can be monitored through PSM.

PSM is also capable of producing the reports which will briefly explain the overall health of the Windchill system. PSM stays on even if Windchill is down. This feature is interesting in terms of reducing the Admin efforts to manage/create the reports based on current system monitor tool.

Currently this tool is planned for Windchill platform. Based on interaction with PTC folks they are also planning for FlexPLM release; however I am not aware about the exact date. For Windchill tool will be available for Windchill 9.1 and 10.0 users after October 2011.

I am really impressed by this tool as this will help developers/Admins to reduce the time of investigation put on monitoring the system and trace to exact point from where the issue is coming. It has a visibility and insight into Windchill application. It also helps developers to optimize their development efforts to maximize the user experience and release product faster.

Monday, June 27, 2011

PLM Evoluation and Challenges

PLM initially know as PDM, Product Data management is evolved from CAD applications. Manufacturing companies started using CAD for shortening the lifecycle of Product development. Once the CAD tools are used in the manufacturing process, the challenge is how to communicate different divisions and how to maintain the data produced by CAD tools. This brought the concept of Product data Management, Which is nothing but having central database for all the CAD Data and using the workflow process to access it, review it and modify it.

Initial PDM applications are mainly focused on content data, i.e, and the data that is relevant to CAD. Later needed the little bit of metadata requirements, like Part Name, Part Number, and Reviewer etc. In Windchill world these defined as static fields in the data model. Later on, concept called Instance based attributes (IBAs) to extend the metadata requirement. Fields you can define on the instance/ type. These types can be configured in the system. This is main concept for FlexPLM data model, as the Retail,Footwear/Apparel PLM process has more metadata. Concept wise it’s same; however the implementation of data model is different. Taking the Windchill main traits like iterated, versioned, folder etc and extending it to next level on top of it, defining all the relations like Product, Product-Season, Product-Season-Source, Product-Season-Source-Specification, Product-Season-Source-Specification-BOM, made a big performance impact. Because of this complex relations FlexPLM product is becoming just transactional application rather than full fledged system where you can run margin reports, where used reports or forecast reports, and to extract/import the data. The solution to this problem will be either PTC needs to simplify their data model or tightly integrated report tools.

Tuesday, June 21, 2011

@ JVM memory management


 I would like discuss about the topic of JVM memory management for Windchill or FlexPLM application.
Tomcat /JVM memory allocation plays a very significant role in determining Windchill/FlexPLM Performance.
JVM  memory is divided broadly into Heap & non-Heap memory usage.What is Heap Memory?: Java VM allocates runtime data of all class instance and arrays to heap memory.
Heap memory is further divided in to three subtypes
1.    Eden Space/young Generation
2.    Survivor Space
3.    Old /Tenured Generation
Eden space/young generation:  is a pool where the memory is allocated when any object is initialized.
Survivor Space: is a pool where the memory is allocated for certain short lived objects (survived after Eden space garbage collection)
Old /Tenured Generation: This pool contains the long lived object (survived for sometime in Survivor Space).
Later in this article would talk about allocating Heap memory and percentage allocation for each of this Pool. Let me first clarify Non- heap memory.
Non-heap memory: This pool holds all the data related to threads, constructors, methods & related class structures.
Non-heap memory is further divided in to two subtypes
1.    Permanent Generation(Perm Gen.):
2.    Code cache
Permanent Generation (Perm Gen.): The pool holds the reflective data of the virtual machine (class & methods)
Code cache: Memory is utilized for compilation data, code data & package information.
Heap memory allocation for JVM’s :
1.We need to monitor the Heap memory usage and the heap memory requirement for the application,
It is always good to keep the initial heap memory & max heap memory size at same value.
2. In applications like Windchill, its better to allocate 40% of heap memory to Eden space/Young generation – initial size and keep the Survivor ratio as 8,
so that most of objects are collected and cleared in Eden Space and Survivor Space before getting collected in tenured Space (else it might happen Tenured /old gen. space fills up quickly)
Please specify the following options for all the JVM’s(Tomcat & Windchill method Server) so that Garbage Collection efficient and effective.
1.    Disable Explicit GC.
2.    Use parallel GC
Now coming to Non-heap memory allocation,
 We can define Max Perm Size at around 20% of max heap memory and
 Initial Perm size is 10% of max heap memory.

In my future blogs, I would like to take you through different tools/methodologies used for Performance monitoring and capturing the data, analysis the logs to identify the root causes.

Monday, June 6, 2011

PLM for Engineering Procurement Construction (EPC)

In the EPC, the contractor designs the installation, procure the necessary materials and construct it. The contractor carries the project risk for schedule as well as budget depending on the agreed scope of work. Some EPC companies doing business from proposal, design, construction, start-up, operation and decommissioning of industrial plants, in few words the whole Plant Lifecycle.

The ultimate “owners” of the projects in many cases have a different set of priorities. The problem is that every owner has different needs and wants to make changes to a “standard” plant concept.

Challenges of turnkey projects in EPC business

· Proposal

· Completion of Design

· Procurement of Equipment

· Logistics

· Managing the designer’s and contractor’s risk

· Dealing with regulators, Authorities, Third-Parties

On many complex projects, particularly in the areas of mining, manufacturing, power, nuclear and process, the cost and delivery challenges in the procurement of specialized equipment present the greatest risk to the project

While selecting the PLM application for EPC business, implementer and owner considers Engineer-Procure-Construct phases and respective stakeholders of the plant.

EPC business works on two aspects Products, which develops the equipments and Projects, which manage erection, maintenance of the plant. Projects handle more risks and ready to develop new equipments based on the plant requirement.

Leading PLM applications and their integration with CAD, ERP and environment compliance have the features to manage EPC business, still some gaps in PLM application I experienced for EPC are

1. Some CAD tools yet to integrate with PLM.

2. Design automation and PLM integration

3. Project management is not efficient or user friendly for

a. Import/Export feature

b. Alerts and follow-ups

c. Resource Management

d. Budget and costing

4. CAE tool and PLM integration

5. BOM Export / Import is not efficient

6. ERP and PLM integration is costly in terms of software license and skill set

7. Difficulties in Legacy system integration

Each of the above is very important for respective stakeholders. Development of PLM started with document management for engineering and moved towards change, collaboration and configuration management. I feel the gaps can be bridged when PLM product definition group, EPC experts and PLM product technician shake their hands.

Friday, May 27, 2011

User Experience Testing


         I was given the task to develop a complex report once. It had all the funky layout and lots of data pulled from various business objects across the system.Project plan showed a 60 man days of costly effort.Development started and finished in time.It was shown a green flag after a couple of  user acceptance testing rounds and sent to the battle field (Production server).
There were no issues reported for the report an year and one day it was told that the end users are no longer using the report because it does not fit their needs. It contains a lot of extra information and it is difficult to use. What went wrong ? The report passed the UAT. so what ? there are a lot of softwares in the market which pass it.What is missing here is user experience testing.Although the users accepted the software initially because they were new to it.
        Its like you test drive the car and then you decide to buy it , and only after a month of driving experience you come to know about the true problems of the car. Even the big brands have failed products apart from being of high quality.
        Hence there is a need for a framework or a software methodology for merging the user experience testing (UET) to be a part of software development.UET is all about measuring the feelings of the end users  while they experience  the software over a period of time.
I have been hearing the term "Minimize User Clicks" over a period of time and the development teams  take it as a misnomer for a successful UET. But does it really help in having a good software experience , absolutely not. I am sure there are methodologies and testing frameworks for this but its who uses them effectively makes the difference and since PLM is about the product , hence , the PLM system as a software should have a good UET framework , as well as the PLM software itself should have a module to measure the experience of the end  users.
   As an example this is what i could think of in FlexPLM. Suppose, we create a product called 1234 in season FW 2011 . And the carry over of 1234 to season FW2012 should depend of the UET results of 1234 for season FW 2011.But before making a conclusion , i would like to ask this question - What is the basis of carrying over a product from one season to another ? Anyone ?

Wednesday, May 25, 2011

RFID in PLM

RFID
RFID tags are intelligent bar codes that can talk to a networked system to track every product that you put in your shopping cart.
Radio frequency identification (RFID) is a generic term that is used to describe a system that transmits the identity (in the form of a unique serial number) of an object or person wirelessly, using radio waves. It's grouped under the broad category of automatic identification technologies.

Consumer Benefits of RFID
Garment tracking within a store
Real-time replenishment prevents stock outs
Faster movement in supply chain
Faster response from retail store

Although radio-frequency identification technology can be used in a broad range of applications, Its focus here is for supply chain and garment tracking. With such technology coming in product life cycle, creates a neccesity for a software to integrate the RFID technology with existing PLM.

The PLM-RFID integration has already hit the market. RFID technology has been there for industries like retail, food processing and many others, its relatively new to Apparel industry.
The tags on individual apparel are designed to enable readers to capture data on tags and transmit it to a computer system without needing a person to be involved.

RFID in Flex PLM
RFID tags on individual items can significantly improve inventory accuracy.
As Sandeep mentioned in another blog on Fashion Merchandising. Flex PLM doesnt have efficient communication among fashion merchandiser , marketing and PLM team. An integration of FLEXPLM and RFID can certainly bridge these gaps and can provide lot more functionalities.
Normally whenever the product is failed / met with accident, the field person inspects the product. Here he should capture the tag id through RFID reader and enter his comment of the product. His comments and the RFID tag number will be sent directly to the PLM system to request design verification. After the initial phase, the product related issues will be just stored in the PDM system. All these captured information can be analyzed and used in new product development.

Friday, May 20, 2011

Bill of Materials

In the apparel and footwear industry, with increasingly complex products, shorter lead times, and more advanced and varied product offerings the effective management and control of raw materials takes on a unique importance. Even the simplest product is made up of size dependent and colour dependent components which must be incorporated into an accurate and comprehensive Bill of Materials (BOM).

Companies used to have excell sheets for managing bill of materials. Excel bill of material spreadsheets can't enforce product data accuracy. There's no history of who changed something, when or why it was changed, or whether you're looking at the approved revision of each item. And working on an multi-level BOM is very difficult.

Many companies question as who owns the BOM? It is PLM or ERP ? The best candidate to own a BOM is PLM. product Designs and Engineers use the BOM in PLM.
Bill of materials management is a critical part of the design and manufacture of any product. Accurate management of the BOM eliminates production delays due to missing components. In the apparel and footwear industry the product with different sizes and color variations is built using BOM. This BOM is exported and sent to vendors as part of tech pack report for the Production.

FlexPLM provides a cost based Bill of Materials. It has got decent number of functionalities to help customers maintain their BOM's effectively.

Some of them are:

Material Constraints can be built for each section of the BOM.
CostRollup is done automatcially.
Copy and paste rows functionality.
Size, destination, Color and source variations can be maitained.
Separate Views can be created for each BOM section and ability to export to PDF and excel document.
While working on BOM, a designed can lock it to prevent other engineers to modifying it.

Some of the Gaps in current system are:

Integration - More often the BOM information is sent to the ERP downstream system for the Production. There should be an proven framework for real time integration to synchronize the BOMs across different systems.
Placeholder Materials - While working on BOM, Product designs might not have the approved materials to be added to BOM. They should be able to add a placeholder material which should get replaced automatically once the actual material is approved.
Buy and Sell - Enhanced functionality to differentiate the Make/Buy parts in the BOM.
BOM is not user friendy and technical architure is very complex to customize.

Leading companies that employ an effective BOM management solution are more able to hit product development and lifecycle targets that drive product profitability, on average, 80 percent or more of the time, versus 30 to 40 percent of the time for laggards.

Wednesday, May 11, 2011

Retail and Fashion Merchandising


  
        Merchandising means the process of buying and selling of goods. For a footwear and apparel industry it spans across the process which analyses and even forecasts the customer's demand and make customer's buy what they want to sell via efficient product marketing. This involves knowing the present and future fashion trends. What is hot and what is going to be hot. Innovation is the key, but also the customer's spending capacity needs to be considered . Communication between the merchandizers and the marketing is the key for efficient merchandising processes.


        Does FlexPLM as a process and data management tool cater to this need of efficient communication. I don't think so.I don't know if there is any software which does this. There needs to be a channel for communication between the fashion merchandizers, marketing team and the product designers so that the creative ideas to be trapped. Fashion Merchandizers are people who creatively display the products in the retail stores and are the people to see the customer's first hand response for the product. For the newly initiated products it could make a great difference if the customer's product response is recorded as early as possible and required changes/enhancements are made. A good idea could be a mobile app for the in store merchandizer to record customer responses in the real time and send it across to the PLM systems and the marketing team.

        For the newly initiated products, the placement of the product in the store also makes a lot of difference. The merchandizers should be creative enough to place the NIP (New Initiated product) to attract customer attention. And if possible there can be a tracking device as well which could do this. A camera scanner may be !

      Social networking and mobility is changing the way companies are selling their goods. Creating facebook/twitter fan group for a product also helps in capturing customer response.Product performance tracking becomes easier with online selling channel which includes mobile commerce. This implies the need for any enterprise application to extend itself across all channels.


Related articles:




Tuesday, May 10, 2011

Calendar Management in FlexPLM

New Product Introduction (NPI) is the term used to describe the complete process of bringing a new product to market. In today's world companies need to respond to trends more effectively, quickly and efficiently. It is very important for any company to reduce time-to-market from concept to consumer to stay ahead of the competition globally.

Calendar management is a primary challenge for retail, footwear & apparel (RFA) companies. The challenge arises due to the complex nature of the apparel and retail value chain, and the rapid time to market demands that exist to bring the latest trends to market.

In the collaborative product development process; multiple designers, technical designers, merchandisers, material developers and sourcing managers work on different aspects of the product development process spread across the GLOBE. There are many tasks, milestones and approvals that need to take place among a global product development team, across multiple processes. There has always been a demand for a solution that provides all of these complex functionalities.

Calendar Management is a way to view high level progress of product development against key milestones via a global PLM platform. It is also a means to look at where the product development process is slow today, and where improvements need to be made – beginning with product conceptualization through final delivery of the product to the retail channel. It also gives access for the company TOP MANAGEMENT to look at the product development statuses.

FlexPLM, the web-based enterprise PLM tool for Retail, Footwear and Apparel companies provides the calendar management solution for the new product development. It has following capabilities:
  • Define seasonal calendars, including key product development milestones
  • Track progress of individual products against the seasonal calendar.
  • Track progress of individual SKU's(Colorways) against the seasonal calendar.
  • Dashboard Report of all the Products in a Season showing current status of ALL Products and SKU's.
  • Different color indicator for the on time, completed early and late running Products.
I look at FlexPLM having below gaps with respect to calendar management:

  • The calendar association with Product and SKU's should be automated through configuration settings. More often companies would want to associate the same calendar as of Season to it's Line Products and SKU's.
  • The proven Workflow solution in FlexPLM automates the business process. But the calendar and Workflow needs a real-time integration. When a user completes his/her Workflow tasks the corresponding calendar milestone should be completed automatically. This will definitely help the global team moving forward to achieve the in-store date.
  • There is a need for automation of product and SKU status changes based on the calendar milestone completions. When a milestone is completed, system with configuration settings should change the product and sku statuses accordingly.
  • Ability to filter the Products and SKU's based on search criteria on Calendar Dashboard. In case of a Season having approx 10K products and 30K SKU's (some customers already have) it is very difficult to go and find the specific product of the long list.
Lastly I would say we need a solution that caters to the global PLM stakeholders to manage approvals, change the product status, complete the milestone and tasks and view the calendar dashboard on the GO on their SMART PHONES either at the Starbucks with a coffee or at the airport while travelling.