One of the agile and unified aup2 processes: Preface and reduce the total cost of ownership of the process

Source: Internet
Author: User
Tags scrum of scrums
Document directory
  • Cmme
  • UML
  • Rational Unified Process)
  • Scrum/XP

This is the first article in the agile Unified Process series. (Preface, one of the first articles, the general topic directory)

The full name of agile Unified Process is AUP (agile Unified Process). However, in order to distinguish the previously mentioned AUP (that is, the RUP), we call it aup2.

This series will explore how to fully implement agile development in an enterprise. In previous discussions in the industry, most of the time I focused on how to implement agility in a small team. For example, the scrum framework is limited to 4 ~ How should a 7-person team implement requirement management + plan management + task management? Even if Scrum of scrums is introduced, its scope is expanded to dozens or even hundreds of people, however, the management content is still limited to these three links.

In fact, an enterprise actually needs to manage a lot of content. Taking a product R & D enterprise as an example, the earliest product planning, user group definition, team recruitment, performance appraisal, product operation, and technical architecture are all issues that enterprises should consider. If such content is not taken care, developers may be subject to both cmme, scrum, programming specifications, and team models ...... Such as different and unrelated processes or technical constraints. Writing the document after writing this document leads to a loss.

After implementing agile development, some enterprises may encounter the following problems due to difficulties in connecting with other process interfaces:

1. Why did we use agile development, but the product was not successful? (Nokiaer should frequently ask this question with the product positioning Interface)

2. What should we do if some of our team members do not like agile development? (Interfaces with team models, such as those that do not like to help others or show Code to others)

3. What should we write about user stories and use cases? (Interface with the design method, if you have implemented UML, object-oriented, MVC, user modeling ...... Wait for a series of technical methods, and the problem will be sharp)

4. What is the relationship between scrum and continuous integration and automated testing?

5. What role does the quality department in charge of the process play in Agile development?

......

Many companies may not even have the chance to ask these questions because they find that"Agile development is not as easy to promote as imagined", So I gave up halfway.

The aup2 agile process tries to provide a framework to think about these issues, so that software developers do not feel like they are working separately in many management methods and technologies, it works smoothly under a unified process framework.

Aup2 practices are not universal, and changes over time are not static. It only provides an idea: in all circumstances, we should look at the process, technology, and organizational structure adopted by enterprises in a unified manner ...... To achieve the lowest value.

Process

The term "process" is hard to understand. It was hardly mentioned in foreign countries before cmme was introduced. Compared with the following words, We can roughly understand the meaning of process.

Practice practices

It generally refers to a small-scale single practice, such as a demand tracking matrix, use cases, sequence diagrams, user stories, every Hitachi meeting, and automated testing. Practices vary in size. Some practices are a set of sub-practices, such as continuous integration.

Process

A set of practices that can solve certain problems in certain fields.

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

Cmme

The content listed in CMMS is roughly equivalent to the process required by an outsourcing Enterprise (especially an enterprise providing outsourcing development for DOD; it covers level 2 of cmmi2 (requirement management, planning, tracking ......) And cmmi3. (requirement development, design, test ......) .

Cmme is the most complete system to describe the process so far. It uses level-1 ~ Process area ~ Practice to fully describe your system; there is also a method that is not very well-known, it is divided into four domains: engineering, management, support, and organization-level improvement (the specific name is forgotten), and then the process domain ~ Practice Level 3.

From the practical value, this classification method allows us to understand how much other processes can manage.

UML

UML itself is not a process. However, when using UML, it uses three process domains, namely, development, design, and coding, as mentioned in CMMs, user modeling and deployment of these two CMMS are also used.

UML is very helpful for understanding the concept of "unified": UML combines the three steps of requirement, design, and encoding to think about how to output one link. The output of one link will become the input of the next link, which is interlocking, this greatly reduces the development workload.

This feature will be mentioned later in the description of aup2.

Rational Unified Process)

The scope of RUP includes (the abbreviated part is the same as that of cmme, although not completely the same ):

Business modeling, requirements (RD requirement development), analysis and design (TS design and reality), implementation (TS design and implementation, known as "technical solution "), test (ver verification test/Val acceptance), deployment (Val acceptance), configuration and change management (CM Configuration Management/reqm requirement management ), project Management (PP project plan/PMC project tracking) and environment.

The reason why business modeling is not very important in CMMS is that Party B in the areas of CMMs application and outsourcing, and this process is the responsibility of Party.

Environment is one of the key aspects of RUP. It aims to provide process and tool support to software organizations. This is the business of rational.

RUP also implicitly defines many roles. Although from the perspective of agile development, this is slightly less "cross-function", but from the perspective of practice, make the team aware that there are some complex tasks that need to be undertaken by someone.

Scrum/XP

The main body of scrum can also be called a process, which is applied to enterprises with fast changes in requirements but the overall plan is required (this definition is very adaptive, so it is very popular ). Based on the definition of cmme, scrum covers three process domains: reqm requirement management, pp project plan, and PMC project tracking and monitoring.

XP seldom mentions process content, more like a loose collection of related practices, and the trend of XP development is also reduced to zero. According to the definition of cmme, eXtreme Programming covers RD demand development, TS design and implementation, and Ver verification and testing.

Limitations of agile development

Compared with other processes, it is clear that Scrum/XP has relatively less coverage.

"This is why we chose agile development because it is lightweight ." Some may say. However, the answer has the following questions:Lightweight and coverage are two concepts. Regardless of the development process, business modeling, performance appraisal, and team development are all inevitable considerations for enterprises. A process with a small coverage and cannot provide support for a part that is not covered by itself, although it reduces the difficulty of local management, it may increase the overall cost of R & D management.

Performance management is typical. Because agile development does not provide a performance management model, many enterprises still adopt traditional performance management methods (such as individual-oriented performance assessment and several code lines, number of defects ......), This kind of management method will in turn lead to the failure of agile development.

In the enterprises I participate in or understand, the main resistance to implementing agile development is not how hard it is to implement agile development, but how to adapt agile development to the existing organizational structure and system, or how to transform the existing structure and system for agile development.

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

An effective method is to establish a unified process with agility as the guiding ideology to cover organizational structures and systems beyond agility and match them with agile development.

In the next article, we will propose a framework to analyze up and describe the potential coverage of aup2.

I am participating in the csdn blog Star Selection. If you have read and liked this article, please vote:Http://vote.blog.csdn.net/item/blogstar/cheny_com

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.