As businesses become more dependent on software systems, IT management and development models demand an “agile” model, often referred to today as DevOps. Improving efficiency is one of the core aspects of DevOps practice. Let’s take a look at how DevOps practices can improve efficiency from the perspective of business flows and workflows in the software lifecycle.
A, CORNERSTONE | “flow” analysis of the conversation
Software engineering defines the software life cycle as the process of problem definition, requirement analysis, software design, program coding, software testing, operation and maintenance, etc. Regardless of the traditional mode, agile mode or DevOps mode, the software life cycle process is basically the same, as shown in the figure below.
The various processes of the software life cycle also constitute the “business flow” of software engineering, and we call the “workflow” the specific development and related activities performed by different teams in the corresponding development mode.
One of the major improvements in CORNERSTONE’s DevOps practice is the “shutdown and roll-over” of these “workflow” activities, resulting in overall and local efficiencies.
The work, that is, the activities that need to be carried out, can be divided into the following categories:
Human interaction
Both parties of such activities are natural persons. For example, business demand collection is characterized by high irregularity and irregularity.
The interaction between man and machine
The interaction of such activities is between natural persons and computer programs, such as coding activities, manual audit/approval, etc. The characteristics of activities are that human activities must follow the rules of computer-related topics, and some activities can be extracted into standardized processes.
Machine to machine interaction
The characteristic of this kind of activity is that both sides of the interaction are computer based programs, such as compilation and construction, automated testing, and the process of the activity is highly standardized. Different types of operations need different methods to improve efficiency.
Second, the CORNERSTONE | enterprise efficiency collaboration of ascension
The essence of collaboration is to carry out rapid and effective information sharing among different subjects, so as to further coordinate all subjects to carry out consistent and orderly work execution and achieve overall consistency and smoothness. Collaboration is one of the important directions and contents to improve efficiency in DevOps practice.
Collaboration in DevOps practice requires more systematic thinking and design from the overall software life cycle, which includes the following two aspects.
01. Information sharing
Whereas in CORNERSTONE, where relevant business information is shared only within phases, there is a greater emphasis on information sharing across phases, oriented towards the full lifecycle of the product. Information sharing includes:
Business information refers to information about business objectives, business background, business requirements, and business restrictions.
Execution information refers to information related to software development, compilation, testing, and deployment, such as the start time, end time, execution duration, and operation records.
Feedback information refers to the information feedback of each step and stage execution, such as requirement splitting feedback, task execution feedback, code compilation result, test result, release verification result, etc.
CORNERSTONE provides a unified information management and analysis platform for this information. For the stage before code writing, work collaboration management module such as agile collaboration is provided to record the information of requirements, task allocation and requirement completion progress, etc. For the stage after code writing, relatively complete execution record information and necessary notification information are provided to build timely feedback.
02. Collaborative scheduling
Collaborative scheduling is another key aspect of DevOps collaboration practice. The CORNERSTONE platform enables fully automatic collaborative scheduling for machine-to-machine activities, simplified collaborative scheduling for human-to-machine activities, and event-driven collaborative scheduling for person-to-person activities, thus optimizing the efficiency of collaborative scheduling and improving the effectiveness of collaboration.
Fully automated collaborative scheduling Is mainly implemented by the pipeline engine of the CORNERSTONE platform. The flow of specified jobs is automatically executed through pipeline orchestration, and information interaction at different stages is completed during execution without human involvement.
Simplified collaborative scheduling Simplified collaborative scheduling is also implemented through the Pipeline engine of the CORNERSTONE platform, which orchestrates the nodes that require human intervention in the pipeline job flow with simple instruction messages such as pass/terminate.
Event-based collaborative scheduling Event driven collaborative scheduling is mainly used for “person-to-person activities”, and can also be used for “man-machine activities”. It realizes accurate information sharing and push through notification, to-do and other events, and drives the downstream side of the collaboration to quickly accept and promote the transaction.
The effectiveness of collaborative scheduling in CORNERSTONE can be preliminarily evaluated and measured by r&d effectiveness. By measuring, we can clearly know which phase of coordinated scheduling is the key hindrance or can be further optimized.
Three, CORNERSTONE | efficiency of enterprise automation of ascension
Automation is at the heart of DevOps and the most important way to increase efficiency. Automates software processes and their support through CORNERSTONE’s one-stop cloud DevOps platform.
01, software process automation software process automation refers to the development of software, testing, deployment and other processes, the introduction of automation means, so as to achieve rapid software quality inspection, as well as software application release.
Development process automation
CORNERSTONE’s code assistants help programmers perform programming tasks as quickly as possible. For example, when an external window needs to be manipulated, CORNERSTONE’s code assistants can detect the window information and perform other operations.
Test process automation
CORNERSTONE’s platform covers a complete testing process that allows you to write test cases, build a library of use cases, reduce duplication, and enable more efficient collaboration and faster product delivery. The two commonly used functions are:
1) Test case management
By writing test cases, making test plans and executing them, the test results can be directly related to defects, which is convenient to track and deal with problems and realize the whole process of iteration quality control.
2) Defect management
Powerful defect management and statistics function, through grouping, solution status, priority list to comprehensively record and track defects, at the same time identify the responsible person for defects, timely follow-up to solve defects; In addition, the import and export function is supported. The export function supports any format and is not restricted by templates.
Deployment process automation
CORNERSTONE supports DevOps based on script pipeline, continuous integration and automated deployment, which can be operated directly on a visual server. It also meets multiple development languages, completely solving the bottleneck of agile development in operation and maintenance, and facilitating the overall management of project development life cycle by developers.
Through the pipeline engine, the above content is free, visually choreographed, and executed on demand.
02. Process support automation
Software process support mainly refers to the support for software engineering process, and the realization of automation includes:
Build environment automation
The compilation build environment includes self-managed compilation build environment based on DevOps platform, on-demand compilation build environment, automatic destruction after compilation build, and fast access to specific compilation build environment, etc.
Test environment automation
Test environment automation refers to the capability environment required by automated test execution, such as the execution environment required by interface /UI test scripts. The test environment can be managed flexibly according to the requirements of test tasks.
Environment deployment automation
Environment deployment automation refers to the basic environment needed for development, testing, production, etc., which can be automatically generated before use and recycled after use according to the pipeline, so as to realize resources as code without manual participation.
At CORNERSTONE, extensive process and support automation significantly reduces manual time and costs for development, testing, operations, and other tasks, such as rapidly updating applications on 10,000 servers, that cannot be done manually. However, there are many technical points involved in the early construction and the cost is huge. In addition to efficiency, how to construct the automation should also focus on the independent and controllable development and sustainable development of the business platform.
Four, CORNERSTONE | enterprise efficiency the continuous optimization of ascension
Continuous optimization is the third major aspect of CORNERSTONE’s productivity improvement and an important practice for implementing DevOps. Continuous optimization needs to solve the problem of what to optimize and how to optimize. To solve these problems, DevOps lean analysis concept should be applied. The essence of lean analysis is the statistics, analysis and mining of data.
01. Data acquisition
The data involved in lean analysis should form an end-to-end closed loop from requirement proposal to user access. Data needs to be captured both from the business systems themselves and from the CORNERSTONE platform that underpins them. Early on, the CORNERSTONE platform data acquisition can be the primary source, followed by sustainable integration of data from the business systems buried points. In the whole process, it is necessary to achieve the timeliness, accuracy and integrity of data.
02. Data analysis
Data analysis needs to have clear goals and pertinence, such as the average cycle to launch and development rework trend according to business requirements. Through data analysis, key points affecting current efficiency can be found quickly, so as to achieve targeted improvement.
03. Data presentation
Data presentation is data application, and data presentation can be carried out in two ways.
Collaborative management the results of data acquisition/analysis are fed back and presented in real time on CORNERSTONE’s collaborative management platform, so that PO/ development team/stakeholders can quickly improve efficiency based on the feedback information, and improve efficiency through qualitative change and self-optimization within the team.
Measurement analysis is aimed at key indicators related to efficiency, and special measurement analysis is carried out by means of visual charts and other ways. In addition, the management and project team share indicator information and indicator change trend, and promote the improvement of efficiency by means of global supervision.
Five, the conclusion
Cultural collaboration broke the barriers between processes and departments, shared information and coordinated scheduling; Automation in the process eliminates repetitive work and reduces human risk; Business systems and CORNERSTONE platform data support to provide precise optimization direction. The reason why DevOps can improve the efficiency of enterprises lies in the consistency and smoothness of business flow and operation flow in the software life cycle.