This article is from Alibaba DevOps Practice Guide written by Alibaba Cloud Yunxiao Team
The development of IT is the approaching and integrating process of technologies and business. The delivery modes of IT need to be evolved accordingly.
At first, IT was the work of professional companies and professionals. IT developed what the business used. Later, IT companies moved closer to the business, generating more interaction and co-creation with customers, and many business companies also had their own IT development departments. However, even within the organization, IT was also the cost center, playing the role of Party B. At this time, IT was separated from the business, and most IT delivery is in the form of projects.
The core of the project is to deliver the pre-specified content within a specific time using a relatively certain budget and workforce. The project pursues certainty and focuses on planning and plan execution. In an era when IT was separated from business, both sides were benefited by drawing a clear boundary. Correspondingly, the organization can also plan, allocate, and execute IT budgets in advance by projects, which were usually in annual or at least quarterly units.
In the digital age, IT has become a part of business. Planning and delivery through projects are increasingly inadequate to meet the need for a timely response to daily business. One-time project delivery is not conducive to the long-term accumulation and optimization of assets, especially software assets, and the continuous optimization of engineering capabilities and infrastructure.
The preceding figure shows the differences between project-oriented delivery mode and product-oriented delivery mode. During the implementation of DevOps, we advocate adopting the product-oriented delivery mode as much as possible.
In the product-oriented delivery mode, organizations should regard the Technical Delivery Team as a profit center rather than a cost center. Organizations build cross-functional and relatively stable product delivery teams for products and services, measuring and motivating product delivery teams by business value and business response. Based on business value, product delivery teams continuously upgrade, learn, and accumulate software assets, engineering assets, and technical assets to improve response and delivery capabilities.
In the product-oriented delivery mode, products are responsible for long-term business results. Accordingly, the standards that measure the product delivery teams should support the effectiveness and efficiency of the business. We divide the goal of product development into three categories:
1. Businesses that serve the current situation directly: This type of goal is easy to understand, and the technology value is reflected as direct business results. Product requirements usually come from specific customer demands or business plans. Here are some typical examples:
2. Product layout for future situations: This type of goal does not serve the current business directly. It is based on the judgment of the future business and technical direction to make layouts in advance. For example:
3. Improvement of the delivery efficiency and effectiveness: In addition to the product delivery itself, the team is also responsible for delivery effectiveness, including the response speed of business requirements, delivery quality, and innovation effectiveness. For example:
Unlike the project-oriented delivery mode, a Product Delivery Team is not measured by a one-time delivery but long-term business value and efficiency. It is the synthesis of the three goals above. When setting the goals of the Product Delivery Team, we also need to follow these three categories. For example, the team's objective key results (OKR), a method of goal setting and management, should be expanded and set from these three aspects.
In terms of personnel management, the project manager makes the plan based on budget and scope and then assigns personnel to the project. At the end of the project, personnel are released and ready to move on to the next project. In this mode, people are regarded as alternative resources. The workforce allocation for projects has its advantages for businesses that require high certainty and low response speed, especially in increasing the use efficiency of personnel.
In the digital age, the business uncertainty is increasing, while the requirements for IT response speed and continuous healthy evolution of products are getting higher. The team formation mode in project management causes the following problems:
From Assigning People to Things to Giving Things to the Team
In DevOps implementation, we advocate product-oriented delivery. In terms of the team organization, its core change is from assigning people to things to giving things to the team. A more detailed description says the project-oriented delivery mode takes people as alternative resources and allocates them to things in a predetermined scope. For product-oriented delivery mode, it assigns things (dynamically generated product requirements) to cross-functional delivery teams. There are the two core changes:
How teams are organized: The product delivery team is relatively stable and responsible for long-term product evolution, delivery efficiency, and business contribution. To this end, the team should be:
In the product-oriented delivery mode, the Product Delivery Team is the core of the organization. It is cross-functional, fully authorized, and relatively stable. Long-term effectiveness is the core concern of the Product Delivery Team. It relies heavily on the evolution of the product and the construction of engineering capabilities.
Ideally, the basic functions provided by the product will become more complete as product development evolves. More atomic functions are encapsulated as software interfaces and services, becoming reusable components. In this condition, the cost of meeting new business requirements should be lower. However, in many cases, the situation is the opposite. With the evolution of technology development, the complexity of the software is getting higher, the scalability and maintainability are getting worse, and the team's response to the business is getting slower.
Reduce Debts and Accumulate High-Quality Assets
The figure above reflects two trends of efficiency over time. Whether efficiency will continue to increase or decrease depends on whether we are accumulating assets or debts in the development process.
Assets refer to things accumulated today that will benefit the future. In the IT product delivery, good assets mainly include software assets, engineering assets, and organization assets. The following are common examples:
Debts refer to things caused today that will be paid in the future. In the IT product delivery, the following are common debts:
The attitude towards assets and debts is an important factor in distinguishing between excellent and bad teams. An excellent product delivery team should continuously accumulate assets and eliminate accumulated debts. However, what we are talking about here is not 100% debt avoidance. In special circumstances, such as responding to urgent business demands, it is inevitable to introduce debts. However, it must be a conscious trade-off, and the debts introduced should be eliminated in the future.
Only by accumulating assets continuously and avoiding and eliminating debts can the delivery efficiency be continuously improved, the response capability of products to businesses be improved, and the business value of products be enhanced.
IT collaboration modes and delivery modes need to evolve to adapt to the requirements of embracing uncertainty and continuous innovation in digitalization. We advocate and practice the business-driven collaboration mode and the product-oriented delivery mode. The two fit naturally and can be connected seamlessly.
The collaboration mode should be business-driven:
The delivery mode should be product-oriented:
When introducing the collaboration mode in the previous article, the product requirements decomposed from the business layer are directly handed over to the Product Delivery Team. The team quickly completes the product requirements and delivers them continuously. The two layers are connected to complete the quick response, delivery, and feedback closed loop of business, enabling efficient innovation in the digital age.
Business-driven collaboration and product-oriented delivery can adapt to the demands of the digital age and are our core value proposition for DevOps implementation. Moreover, their effective implementation cannot be separated from the support of engineering practices and capabilities. Part 7 of this 27-part series will discuss another core element of DevOps - the engineering capability of continuous delivery.
Business-Driven Collaboration - Alibaba DevOps Practice Guide Part 5
The Path of Large-Scale Implementation - Alibaba DevOps Practice Guide Part 7
1,003 posts | 246 followers
FollowAlibaba Cloud Community - February 4, 2022
Iain Ferguson - April 11, 2022
Alibaba Cloud Community - February 8, 2022
Alibaba Cloud Community - February 5, 2022
Alibaba Cloud Community - February 3, 2022
Alibaba Cloud Community - February 6, 2022
1,003 posts | 246 followers
FollowAn enterprise-level continuous delivery tool.
Learn MoreAccelerate software development and delivery by integrating DevOps with the cloud
Learn MoreAlibaba Cloud e-commerce solutions offer a suite of cloud computing and big data services.
Learn MoreSet up an all-in-one live shopping platform quickly and simply and bring the in-person shopping experience to online audiences through a fast and reliable global network
Learn MoreMore Posts by Alibaba Cloud Community