In practice, most organizations have a strong separation between ICT infrastructure management and application management.
Usually, organizations are familiar with the ITIL principle, but the application of ITIL then mainly takes place within the infrastructure management domain. Application management can then only take limited advantage of it.
ASL is a framework comparable to ITIL but focuses on application management processes. It is usable for all application management organizations, i.e., application management organizations that deliver application services (management and maintenance) and application management organizations that realize the integration of underlying services. Application management comprises managing, maintaining, and renewing applications, drawing up policies for the application management organization and the application portfolio under management, and directing the activities required for this purpose.
The below figure shows the four key elements of the Application Services Library (ASL) Framework:
- Organization Cycle Management
- Applications Cycle Management
- Maintenance
- Enhancement & Renovation

I will dedicate this post to the top right part of the framework: Application Cycle Management.
Definition of Application Cycle Management
Application Cycle Management (ACM) refers to the processes and practices used to manage the entire lifecycle of a software application, from its initial planning and development to its deployment and ongoing maintenance. ACM aims to improve the efficiency, quality, and alignment of the software development process with the goals and needs of the organization.
Application Cycle Management also involves the collaboration between various teams and stakeholders across an organization, including Business Process Owners, ICT Operations, and Developers, to ensure that the application deployment process aligns with the business’s requirements and operations.
The importance of Application Cycle Management
ACM is becoming increasingly important in modern organizations because it improves efficiency and productivity in a DevOps organization. It helps streamline the application development process and reduces the time and resources to develop, test, and deploy applications that meet the high-quality demands of the organization, resulting in increased efficiency and productivity, which allows organizations to release new and more reliable applications faster.
ACM also helps bridge the gap between the business and ICT teams by establishing clear goals and requirements for applications you develop, improving communication and collaboration across the company. This cross-department partnership ensures that your developed applications align with your organization’s needs.
ACM also includes thorough testing and Quality Assurance (QA) processes to ensure that developed applications are reliable, secure, and well-performing in the processes where you deploy the developed applications. This process results in a higher quality of your applications and reduces the risk of issues and downtime.
To mitigate security risks, ACM also includes processes for managing and updating applications to address potential security vulnerabilities and other security threats, helping organizations stay ahead of potential security breaches and ensuring the security of systems and data.
ACM also increases competitiveness in today’s fast-paced, technology-driven business environments. With the proper execution of ACM, organizations can quickly develop and deploy high-quality applications for their business processes, resulting in a significant competitive advantage.
Steps in Application Cycle Management
You can split ACM in:
- Application Development
- Application Deployment
- Application Maintenance
The development team must fully execute these three critical components to successfully integrate an application inside an organization’s business processes.
Step 1: Application Development
During the application development stage, you start with the designing phase. In the design phase, a DevOps team creates a detailed design for the application, including the application’s architecture, the user interface, and the database structure.
After the design phase, the coding stage starts. During this phase, the developers write the code to implement the application using programming languages and frameworks specific to the development project.
After the developers have completed the coding phase, they will test the application’s different components/building blocks to ensure that it meets the defined requirements and performs as expected. These components include databases, APIs, and third-party libraries (pre-written code collections). After the developers complete the testing phase, they assemble the different parts into the end product: the final application.
After the completion of the final product, the integration phase starts, which is a critical phase because the application is then integrated and tested inside the process. You do this by releasing the product in a testing environment, preventing any risk of downtime of business processes in production. The users who will work with the application are testing the functionalities and potential bugs in the debugging phase testing environment. After this phase, the application is ready for deployment: the next step of the ACM. The application development stage is critical to the ACM process, as it sets the foundation for the rest of the application’s lifecycle. It is vital to ensure that the development process is well-defined, efficient, and meets the quality standards required by the organization. Setting up the development process this way ensures that the final product is high-quality, secure, and performs well in production environments.
Step 2: Application Deployment
Application deployment is essential to the Application Cycle Management (ACM) methodology. It involves releasing a software application into the production environment, making it available for end-users to access and use.
Following a fixed set of steps is essential if you want a successful deployment. The first step is preparing your application for go-live. Before you deploy your application, verify that it has passed all necessary tests and that your application is fully integrated and configured for the applicable business process: ready for release.
After you have done all verifications, you start the actual deployment process. The deployment process involves copying the application files into your production environment, configuring the environment to support the application, and setting up any necessary infrastructure components.
The next phase is the verification phase, in which you verify (after deployment) that the application is working as expected and is functioning correctly in the production environment. You might have to run additional tests or monitor the application for performance and functionality issues. During this phase, the development team is also in close touch with the (key) users of the application.
After successfully deploying and verifying the application, you release it for all end-users, making it fully available for use.
Many development teams think they can move away from their newly developed application and move to the next one. They leave the one that they completed behind after the initial deployment. You miss the most critical (and, as already mentioned), the most forgotten phase of the process: the maintenance phase. Deployment of your application is just the beginning of the application’s lifecycle. Ongoing maintenance and support are critical to ensure that the application continues to perform as expected and remains secure over time. Not doing maintenance is a missed opportunity in many organizations, which is why maintenance is a critical task for a developer. By following these application deployment steps, an organization ensures that its developers deploy their applications in a sophisticated, controller manner, allowing the developers to respond quickly to any issue that arises during or after the deployment.
Step 3: Application Maintenance
Applications maintenance is the most critical component of a successful DevOps department. Without application maintenance, the users will not be able to utilize the application in their business processes fully. Unfortunately, this part of the development process is forgotten: mostly over time, when you start developing other applications with the same team and when an application “does its job” without users complaining. Application maintenance is an ongoing process of ensuring that software applications continue to function correctly and efficiently over time.
The application maintenance process starts with regularly monitoring the performance and functionality of the application. With this process, you track key metrics like response time, user engagement, and error rates. Once you have identified any issues or bugs during the monitoring process, the bug-fixing process starts. During this process, you fix any problems or bugs in the application to ensure that it remains fully functional and usable for end-users.
Deploying regular security patches and updating the application to address known vulnerabilities is also essential. Doing this ensures that the application remains secure for all users.
Improving the application’s performance by optimizing code and addressing any performance bottlenecks is also vital to ensure that the application is responsive and efficient for all users. Continuous performance improvements are also part of the maintenance phase.
Some applications must comply with relevant regulations, standards, and best practices. An example is the proper use of privacy guidelines. Therefore, compliance-wise, ensuring that applications are secure and reliable for all users is critical.
Finally, over time an application might not be entirely suitable for a business process and will start costing more money: it becomes legacy software. For developers, it is hard to depreciate a creation, but application rationalization is still crucial in the maintenance process. One of the pitfalls is the continuous use of an application. In contrast, more cost-efficient applications are available that suit the business process better because of the emotional attachment of a developer to its developed application that has to be depreciated by the DevOps team. The best way to mitigate the risk is by making a rationalization analysis with a cross-department team. This team evaluates the application based on the following:
- Business fit: done by the Key Users of the application
- Total Cost of Ownership: done by the finance team
- Technical fit: done by the DevOps team
Following these steps ensures that your applications continue to function correctly and efficiently over time and generate the maximum value for the business.
Final Thoughts
With this post, I only scratched the surface of the ASL framework. Still, I hope it gives a high-level insight into how an application development process should work to generate the most value for the business.
I will dedicate more of my posts to the ASL framework, mainly because there is not much free information on the subject. It is a shame because it can help many ICT managers get a structured grip over their DevOps department, translating its value to the business and their processes. Feel free to contact me if you have questions or in case you have any additional advice/tips about this subject. If you want to keep me in the loop if I upload a new post, make sure to subscribe so you receive a notification by e-mail.