Product Lifecycle Management (PLM) solutions are extensively used in a wide range of industries including aerospace & defence, transport & mobility, marine, industrial equipment, life sciences, etc. They incorporate every aspect of the lifecycle of a product including reuse, recycling, and innovation. Organisations choose to implement the PLM system to get faster time to market, lower down the rework cost and optimise their current processes. These solutions enable improved remote collaboration and increased productivity. Every team in an organisation should be prepared to change when implementing a PLM solution which can often lead to issues of maintenance and integration between various existing systems, but a good PLM software has the ability to integrate the company’s processes and technologies together.
So far most of the PLM implementations are done in a traditional software development lifecycle (SDLC) approach which involves requirement capture, design, build, testing and delivery. The whole process is time-consuming, has a limited scope of change and the end customer gets to see the working PLM solution only towards the end of the whole project cycle.
In this blog I will focus on how agile scrum methodology can be applied to PLM implementation projects and if there exists a better approach that involves both the traditional waterfall model and the agile approach.
Understanding Agile Scrum
Agile is an iterative, team-based approach to development. Here, the primary focus is on delivering products that satisfy customer requirements in small, iterative shippable increments. In short, agile is all about delivering the greatest amount of value in the shortest amount of time.
Scrum is one of the most popular agile methodologies practised across the globe. It is not a process, technique, or definitive method. Rather, it is a framework within which you can employ various processes and techniques. Scrum makes clear the relative efficacy of your product management and work techniques so that you can continuously improve the product, the team, and the working environment.
“At its root, Scrum is based on a simple idea: whenever you start a project, why not regularly check in, see if what you’re doing is heading in the right direction, and if it’s actually what people want? And question whether there are any ways to improve how you’re doing what you’re doing, any ways of doing it better and faster, and what might be keeping you from doing that.”
By: Jeff Sutherland, Scrum: The Art of Doing Twice the Work in Half the Time
The traditional software development lifecycle can be differentiated from an agile mindset based on 4 values as described in the Agile Manifesto:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Thus in an agile environment, while there is value in the items on the right, we value the items on the left more.
Can PLM implementation be 100% Agile?
- Scrum works on an iterative, incremental approach to improve predictability and thus controls or lowers down the risk at every stage.
- Working in a scrum way allows the group to become more committed to achieving the team’s goals and be open about challenges faced. A feeling of mutual respect within the team is evident.
- Significant aspects of the process are visible to those responsible for the outcome (includes stakeholders).
- Scrum teaches on adapting to any process deviation which is otherwise outside the acceptable levels.
- Projects are delivered faster and customer feedback is captured at an earlier stage improving the product/service quality.
- Agile implementation of PLM projects demands extensive customer involvement due to iterative delivery style and constant feedback; thus, having limited or timely access to the customer can adversely affect the project delivery plan.
- Not suited for larger corporations where the decision-making is complex and resistance to change is predominant.
- Sometimes, it becomes difficult to predict efforts like cost, time, and resources at the beginning of the project as things evolve when various iterations are delivered to the customer.
Proposed new model for PLM Implementation – Hybrid Scrum
The major issue with following a 100% agile scrum methodology in any PLM implementation is the mindset and rigidity of management and other 3rd party vendors involved. Everyone wants to see a concrete plan with clear deadlines and delivery details, but in the agile model, the deliveries are iterative and are highly dependent on the feedback received from the customer. Even though there is more transparency and adaptability, it’s not enough to convince people in organisations.
In my opinion, a successful PLM project must be delivered with a hybrid agile approach where we use the traditional software development cycle along with the agile scrum approach to get the best of both worlds.
- Start with the more traditional approach by creating an overall delivery plan and schedule but try and execute the plan in terms of individual sprints (scrum iterations).
- Make sure all key stakeholders understand the agile scrum approach. If not, they may see the PLM implementation as a complex open-ended project.
- Scrum masters need to be fully aligned with this objective and should constantly spread the knowledge and awareness about agile scrum across the organisation.
- Plan to deliver an out of the box solution to the customer in the first place instead of a customised one at the start.
- The main advantage with this is that customer can use the full standard application to get an understanding of its capabilities.
- Any changes based on the feedback can be then taken up as enhancements to the product/service in an iterative manner of agile scrum.
- Use a robust framework like JIRA, GitHub, Teams, etc., to manage documents, communications, reports, and deliverables in one place when delivering agile projects.
- Focus more on documentation at the start of the process and be open to changes like keeping less documentation when an actual project starts. This will be in line with customer needs as well.
- Try to deploy the PLM solution based on functionality and not the individual department needs. Each team in an organisation might have their own requirements in terms of functionality. Thus, focussing on function delivery reduces customization, keeping it more flexible.
- Plan to take up the integrations with other systems like ERP into different sprints after the main PLM solution is deployed. This allows the team to adapt to various existing processes as well.
- In terms of the Product Owner being the voice of the customer as in the typical agile scrum approach, in PLM implementations, a tech lead or solution architect should also be involved in technical discussions.
- Finally, arrange weekly meetings with all the stakeholders and the development team, similar to a sprint review meeting to demonstrate the current delivery and pending items from the product backlog.
- Taking constant feedback is the key in any PLM implementation project, which was missing in the traditional project delivery method.
Scrum is difficult to master and especially when development teams are used to working in a typical waterfall environment. The concept of daily stand up calls, reviews with customer, iterative delivery and working on product backlog could be a big cultural shift for the team. But the long-term benefits of this methodology outweigh the initial hiccups and the learning curve. Thus, a hybrid scrum approach works better in implementing such complex PLM solutions across diversified industries.