Skip to Content

Why all products need a software product engineering strategy (part 2)

Todd O’Mara
15 Dec 2023
capgemini-engineering

Software is critical to customer value and loyalty, new business models, and revenue. Learn about three challenges and steps to success with software product engineering.

In Part 1 of this blog post series, we made the case that now is the time for software product engineering and detailed two key trends we’re observing in our work with leading enterprises. In Part 2, we’ll explore three challenges to software product engineering, as well as three steps to success.

Three challenges of software product engineering

As you consider a software product engineering strategy, you’ll encounter one or more of these challenges.

Challenge 1: Balancing innovation and preservation

While legacy products can be a major revenue source for enterprises, you often end up spending too much just on keeping the lights on. This drains R&D budgets, leaving little investment for activities that lead to future success: innovating new products or modernizing existing ones.

Customer inertia can be a factor, especially with those users who hesitate to migrate from aging software due to familiarity with it. Small sets of users continue to use these products, and enterprises, quite understandably, don’t want to lose them. 

This forces enterprises to extend support for this legacy software, leading to an astronomical rise in the maintenance budget for end-of-life products. This can lead to a bloated software product portfolio that is skewed toward end-of-life products. 

The bloated software portfolio can create ad-hoc, non-standard development environments and architectures that pose compatibility problems, or use minimally supported languages. There is also uncertainty around end-of-life schedules and a lack of planning for business-critical legacy products.

Challenge 2: Attracting and retaining talent

Innovation can be stalled by a need for more qualified personnel in emerging technologies. Engineering talent almost always comes at a premium, but R&D talent skilled in emerging software engineering fields like cloud engineering, cybersecurity, big data analytics, and AI/ML, is particularly expensive. 

Highly skilled, in-demand staff are difficult to attract (and retain) as new and exciting opportunities for their rare skills regularly emerge. This challenge is compounded by the fact that high-prestige technology companies, like Google or Amazon, tend to be the most appealing to tech talent.

Challenge 3: Developing the necessary business systems and processes

Organizations must create a digital culture, centered around products, and adopt innovation processes that follow a product-led software development approach. Successful digital transformation comes from transforming your organization to take advantage of the possibilities that new technologies provide.

However, there can be growing pains for companies that don’t come from a traditional digital or software background. You may need entirely new technology processes. You may also need people within the organization to think and work differently. Or new people who can.

A common digital approach involves agile methodologies, which must be understood, implemented, and aligned with hardware development processes. Related tools and methodologies, like DevOps and CI/CD (continuous integration and continuous delivery), should be considered.

In addition to the business processes given above, new technology processes must be developed. For example, specific procedures such as testing, verification, deployment, and updates should be automated for best effect. 

Three steps to success

We recommend the following three steps to generate successful outcomes with software product engineering.

Action 1: Digital culture = digital future

Structure the company around products to transform from a service provider into an ecosystem creator[2] . Adapt innovation processes that follow a product-led software development approach:

Design-Led Engineering – a user-centered practice that starts with the intended user and continues to keep them in mind, even as the project moves from initial design to engineering implementation. This contrasts with many engineering approaches that do not put the user at the center of development or descope the user requirement as the project progresses to maturity and engineering takes precedence over design.

The People, Process, Technology (PPT) framework – a concept that has been around since the early 1960s. It refers to a methodology that balances people (staff), processes and technology as three complimentary parts to facilitate a business’ desired outcomes.

Mesh Service Design – a mechanism for managing communication between the various individual services that make up modern applications in a microservice-based system.

The ‘digital native’ culture – employing and empowering people who don’t see ‘digital’ or ‘technology’ as a separate category from everything else. 

One way to address this is to create a center of excellence within the company to help centralize knowledge and capture lessons learned. 

Action 2: Rethink R&D

It’s critical to allocate an enterprise’s R&D budget wisely. A coherent innovation strategy translates R&D investments into short, medium, and long-term business goals. This will help to ensure that resources are properly allocated, allowing enterprises to assess the effectiveness and return on their investment. A separate product management team can direct R&D investments and define a clear product roadmap. This can help prevent budget overruns and streamline operations for the software product lifecycle.

Action 3: Portfolio governance must integrate periodic, event-driven rationalization.

Related to Action 2, consider the software product lifecycle (SPLC) model, which considers the entire lifespan of a software product. The model begins as soon as the need for the software is realized in the market and ends when it is no longer supported. 

The key stages/phases of the SPLC are also areas in which to make decisions about products in your portfolio:

  • 1. Innovation
  • 2. Development and enhancement
  • 3. Transform
  • 4. End-of-life

Enterprises must understand what stage their software product is in. They must also plan and execute strategic-fit assessments regularly to analyze and optimize the software product portfolio, especially after mergers and acquisitions. 

This can help enterprises achieve visibility across all their software products, allowing the streamlining of the existing portfolio and determining which products to retain, modernize, or retire. Businesses will make better decisions about when to update the software, gain a competitive edge by accelerating workflows, and be more efficient with products.

Want to learn more about how to succeed with software engineering? Download our white paper on Engineering Next-Generation Digital Products.

Software is critical to customer value and loyalty, new business models, and revenue generation. The time to pursue software product engineering is now.

Author

Todd O’Mara

Vice President of Software, Capgemini Engineering
Todd is consistently captivated by Capgemini Engineering’s unwavering commitment to client value and deliver outcomes. He currently leads a brilliant team of solution architects, thought leaders and portfolio managers focused on driving the success of the Software Product Engineering business at a global scale. This collective is driven to orchestrate long-term client success driven by software.