A few weeks ago, I was in group of people and someone made a statement that application management (AM) is commodity and most people in the group agreed. I didn’t say anything but I think application management is one of the most exciting places to be today. There are so many technology trends that apply to AM: Agile, DevOps, artificial intelligence, etc.
When I say application management I mean some level of operations (e.g., level 3 support and code fixes) and some level of application development/maintenance (smaller changes that don’t require projects). The nature of those activities is that they are frequent and smaller, which means we have a lot of opportunity to learn and improve. It’s the ideal testbed to showcase how successful modern engineering practices can be assuming the volume of work is large enough to justify investment.
Let’s look at two dimensions of this: the code changes and the platform services.
The product team making the actual code changes should have responsibilities for making changes for both new scope and production defects. This team needs to reserve some capacity for urgent production defects, but the bulk of production defects get prioritized against new scope and are just forming part of normal delivery. This is possible because the release frequency is high (at least monthly) and the team can leverage platform services like continuous integration/continuous development (CI/CD), feature flags, automated environment provisioning and monitoring services. The team collaborates with the platform services team in many ways and focuses on the application they own. Both Kanban and Scrum are possible methodologies this team can use, making this a great Agile working space.
The platform team provides the services which make life easier for the product teams. They also provide the first levels of support in a centralized fashion to protect the product team from too many distractions. There are two goals for this team: to provide platform services to the product team (like CI/CD, environment provisioning, monitoring) and to keep improving the customer experience for end-users. Fast ticket resolution is not the right measure for this aspect, but rather how to reduce the tickets overall. Advanced monitoring of performance, functionality and infrastructure is being used to find problems before the customer finds it. Each user created ticket is an opportunity to improve the monitoring for next time. Chatbots and self-service are used to provide the fastest service for standard requests and artificial intelligence/machine learning (AI/ML) is learning from tickets to make more and more requests become standard and to route tickets to the best team/person. Analytics on all aspects of the platform allows for patterns to found and reconciled against issues. The platform team collaborates with the product team to make sure the application related services keep being improved. Over time, this team becomes a small team of automation experts rather than a large team of operators for manual tickets.
Seriously, if you look at the above, how are you not super excited about this space? If you do this right you get to use a lot of super modern engineering practices to improve the delivery capability of your organization. The amount of money/capacity that frees up once you have implemented the first improvements can then be used to make more and more meaningful changes to the products and services. You can do this with a focus on the creative tasks rather than the fire fighting and repetitive manual work that consumed application management teams in the past.
I am working with a couple of organizations now that are as excited as I am about this space and have a similar vision. I am very much looking forward to seeing what results we will achieve together.