Product and portfolio management elevates apps above one-and-done projects
Managing business applications starts with thinking of apps as “products.” As with any other products, people can choose to use them as customers and employees can bypass them if they try. Effective governance enables a defined product owner to make decisions about the product and lets stakeholders hold owners accountable for ensuring the product generates business value.
Organizations that succeed in implementing product management often follow similar practices:
Product management as a guiding governance structure forms the foundation for optimizing applications, from their acquisition to configuration and integration.
In the interest of improving the product management function, modern technology teams have embraced Agile Operations (AgileOps), applying agile software development principles to IT operational processes. AgileOps involves the following principles:
The acronym ACING captures the four components of agile operations:
Manage Configurations for Efficiency and Continual Deployment
Operations teams cannot scale effectively to deliver business value by manually managing multiple siloed configurations across the various layers of the technology stack.
Instead, organizations must implement modern configuration management best practices, such as:
Unlike old school technology teams, AgileOps embraces continual change. When acquiring new applications, AgileOps decision makers prioritize the app’s ability to adapt to changing technology landscapes, new business goals, and market needs.
Nearly every vendor will claim that their application is flexible and configurable. But in reality, some are extremely closed, with almost no valuable modification possible. More open systems, like Salesforce, have adaption features built in and are so flexible as to blur the line between a highly configurable SaaS and a low-code platform as a service (PaaS). Platforms that allow you to build something on top to help you integrate are the most valuable.
When considering different applications, an AgileOps team will dig into the details of how an application achieves flexibility and how it is configured, adapted, and integrated in enterprise environments.
The old school approach, when it considered products at all, would assume that one product equaled one application. A more mature approach views products based on the functionality they perform in the business value stream. By adopting this approach, we can see that products often comprise multiple applications integrated effectively.
Low-code/no-code platforms to enable business technologists to create integration points that optimize their own productivity
Moving from legacy batch and extract/transform/load (ETL) to modern API and event streaming approaches
As you acquire more applications with modular components, you will be able to manage more refined products.
When organizations take their architecture to the next level, however, they realize a lot of their applications have overlapping functionalities. For example, each product team built its own monitoring and messaging services.
Moving to a configuration management system will require organizations to make big shifts in their people, process, and culture in addition to their technology. Organizations making this transition should expect a heavy lift that takes time, but also a massive return on their investment over the long haul.
To reduce redundancy and complexity while providing greater value, architects should work with technologists to enable their organization to develop reusable platforms that meet the needs of multiple products. These platforms give product teams a boost by re-using common functions across the business and providing more flexible integration points.
The organization will need to stand up a platform team to support the common platforms and services consumed by the product teams. This modular approach to product architecture enables higher throughput because product teams can focus on the features and functions unique to their product while the platform team ensures high availability and reliability of shared services.
There is no end-state architecture. The top level of integration will continually evolve as business needs change and the organization adopts new platforms and matures its product management practices.