Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

One of the agile unified processes of AUP2: preface and reduction of the total cost of ownership of the process

2025-03-30 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/03 Report--

This is the first article in the Agile Unified process series. (the first part, one of the prefaces, the general catalogue of the columns)

The full name of the Agile Unified process is AUP (Agile Unified Process), but in order to distinguish the AUP (that is, RUP) that has been mentioned once, it is called AUP2 here.

This series will explore how to fully implement the agile development process in an enterprise. In the previous discussions in the industry, most of the topics focused on how to implement Agile in a small-scale team, for example, the framework of Scrum itself is limited to how to do requirements management + plan management + task management for a team of 4-7 people; even with the introduction of Scrum of Scrums, although its scope is expanded to dozens or even hundreds of people, the management content is still limited to these three links.

In fact, an enterprise actually has a lot to manage. Take a product research and development enterprise as an example, the earliest product planning, user group definition, team recruitment, performance evaluation, product operation, and technical architecture are all issues that the enterprise should consider. If these contents are not taken care of, developers may be affected by CMMI, Scrum, programming specification, team model at the same time. Wait for different, unrelated process or technical constraints, write this document and then write that document, resulting in a loss of what to do.

After implementing agile development, some enterprises are easy to encounter the following problems because it is difficult to interface with other processes:

1. Why did we use agile development, but the product didn't succeed? (interface with product positioning, Nokiaer should often ask this question)

two。 What if some of our team members don't like agile development? (interface with the team model, such as not like to help others, or do not like to let others see the code)

3. Which should we write about user stories or use cases? (interface with design method, if UML, object-oriented, MVC, user modeling have been implemented. And so on, a series of technical methods, the problem will be very acute)

4. We want to use Scrum and continuous integration and automated testing at the same time. What is the relationship between them?

5. What is the role of the company's process quality department in agile development?

……

Many companies may not even have a chance to ask these questions because they find that "agile development is not as easy to promote as they think," so they give up halfway.

AUP2 Agile Unified process tries to provide a framework to think about these issues, so that software developers do not feel that they are working separately in many management methods and technologies, but work smoothly in a unified process framework.

The practice of AUP2 is not universal, nor is it immutable with the change of time. It just provides an idea: in any case, we should take a unified view of the process, technology, and organizational structure adopted by the enterprise. And so on, in order to achieve the lowest ownership value.

Process process

The word Process is difficult to understand. Before the introduction of CMMI, the word was basically unknown at home and seldom mentioned abroad. By comparing the following words, you can roughly understand the meaning of Process.

Practice practice

Roughly refers to a small-scale single practice, such as requirements tracking matrix, use cases, sequence diagrams, user stories, daily meetings, automated testing, and so on. Practices vary in size, and some practices are a collection of sub-practices, such as continuous integration.

Process process

Refers to a collection of practices that can solve problems in certain areas.

Note: the following models and methodologies are not exactly the same as processes, but the process aspects are extracted here.

CMMI

The content listed in CMMI is roughly equivalent to the process required by an outsourcing company (especially one that provides outsourced development for DOD); it covers the CMMI2 level (requirements management, planning, tracking... ), CMMI3 level (requirements development, design, testing... ), etc.

CMMI is the most complete system to describe the process so far, it uses the level Level~ process domain Process Area~ practice Practice to describe its system completely; another less well-known method is to divide it into four engineering / management / support / organization level improvement domains (the specific name is forgotten), and then the process domain to practice three levels.

In terms of practical value, this classification allows us to understand how far other processes can manage.

UML

UML itself is not a process, but when using UML, we will use the three process areas of requirements development, design and coding mentioned in CMMI, as well as user modeling and deployment, which are not mentioned much in CMMI.

UML is very good for understanding what "Unified" is: UML combines requirements, design, and coding, and the output of one link becomes the input of the next, which greatly saves the development effort.

This feature will be mentioned later in the AUP2 description.

RUP (Rational Unified Process)

The scope of RUP includes (including acronyms that are coincident with CMMI, although not entirely coincident):

Business modeling, requirements (RD requirements development), analysis and design (TS design and reality), implementation (TS design and implementation, scientific name "technical solution technology solution"), testing (VER verification testing / VAL acceptance), deployment (VAL acceptance), configuration and change management (CM configuration management / ReqM requirements management), project management (PP project planning / PMC project tracking), environment.

The reason why business modeling is not so important in CMMI should be because Party B in the field of CMMI application and outsourcing, and this process belongs to Party A.

Environment is one of the key contents of RUP, which aims to provide process and tool support to software organizations. This is where Rational's business lies.

RUP also imperceptibly defines many roles, which is slightly less "cross-functional" from an agile development perspective, but from a practical point of view, it makes the team aware of some complex work that needs to be taken on.

Scrum/XP

The main content of Scrum can also be called a process, which is applied to enterprises whose needs are changing rapidly but need an overall plan (this definition is very adaptable, so it is very popular). According to the noun definition of CMMI, Scrum covers three process areas: ReqM requirements management, PP project planning, PMC project tracking and monitoring.

XP mentions the content of the process less and is more like a loose collection of interrelated practices, while the trend of XP development is to break up. According to the noun definition of CMMI, extreme programming covers RD requirements development, TS design and implementation, VER verification and testing.

Limitations of Agile Development process

Compared with other processes, it is obvious that the coverage of Scrum/XP is relatively small.

"that's why we chose agile development because it's lightweight." Some people might say. But there is a problem with the understanding of this answer: lightweight and coverage are two concepts. No matter what development process is adopted, business modeling, performance evaluation and team development are bound to be considered by enterprises, a process in which the coverage is too small to provide support for parts that they do not cover, although it reduces the difficulty of local management, it is possible to increase the overall cost of the company's R & D management.

Typical is performance management, because agile development does not provide a performance management model, many enterprises still use traditional performance management methods (such as individual-oriented performance appraisal, several code lines, number of defects …... This management approach, in turn, can make agile development impossible.

In the enterprises I participate in or know, the main resistance to the implementation of agile development is not how difficult the practice of agile development itself is, but how to adapt agile development to the existing organizational structure and system, or how to transform the existing structure and system to suit agile development.

Therefore, those surrounding processes should be expanded in the context of agile development in order to provide guidance for the implementation of agile development environment and reduce the overall cost of R & D management.

One of the effective ways is to establish a unified process guided by Agile to cover organizational structures and institutions outside Agile and match them with Agile development.

The next article will outline a framework for analyzing UP and describing the potential coverage of AUP2.

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 202

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report