Integrated Team Software Development Process (ITSP)
"Show like a battlefield", today's world software company is more like a cattle, if the company itself lacks enough combat power, it is impossible to stand in an economic tide. Software development has long been crossing the era of personal heroism, and it can be said that it is in the head of the large-scale group army. Therefore, a company's combat power depends mainly on the integrated strength of various teams within the company and the combination team (combination of multiple teams).
Harlan Mills offers a new, creative solution. Mills suggests that each part of the large project is resolved by a team, but the team is built in a similar surgical manner, not a contend. That is, the practice of intercepting a part of each member is reversed, by one person to decompose the problem, others give him support to increase efficiency and productivity. In the "Surgical" team, the various responsibilities of the team were divided into different roles.
There are two more important development processes today: RUP and XP. RUP highlight theory, proposing a complete set of process frameworks, is a heavy development process; XP is more inclined to practice, it is a summary of the light development process. No matter which development process, it is basically the difference between individual and team development, and today is in the team development period, therefore summarizes the integrated team software development process (ITSP). Of course, this process is not fabricated in air, but a number of advantages of the above two processes, the combination is formed, which can be said to be a process example after the above process optimization combined.
Integrated Team Software Development Process (ITSP) definition: A class-of-channel wire development process controlled by role control, standardized tools, input, and output, and can be extended into complex mesh processes. ITSP includes four types of element elements, namely characters, tools, inputs, and outputs.
See (Figure 1):
Figure one
In accordance with the definition of the team development process, the relevant concepts are described below.
Character
In the general development team, the basic role mainly has project managers (PM), project group members (TM), Configuration Administrator (CMO), Risk Administrator (RO), Test Coordinator (TC), Metrics (MC) ), Warranty (QA), etc. (detailed role division requires a more step-by-step discussion).
See (Figure 2) (This picture is from the Internet, if there is a problem, contact me):
Figure II
Various roles will have a variety of job responsibilities, with the rapid development of informationization, most of the work can be done on the computer. That is to say: Execute a job to operate some software. For example: Configuration Administrator (CMO) uses configuration management software to perform configuration work, because most of the work in the configuration is completed by software. On this basis, we can make tools you need to use in each role. Therefore, the division team role is the first step in team-developing, and it is also the premise of establishing a team.
Of course, the computer cannot replace the thoughts of the human brain, so the result of the thinking can be used as the input of tool software. After the thoughts of the human brain, the rest of the work is more suitable by the computer (this is nonsense ^ _ ^).
tool
Since we look into an operational tool, we can focus on the tool. The choice and use of the tool is two of the two most important issues.
1, tool selection
There are many tools for a field, and choose the tool that suits you into a tricky problem. The choice of tools mainly follows the following rules: easy to use, powerful; easy integration, facilitate team development; products that belong to the same company are better. For example, there are Rose, TogetherControlCenter, etc. So in development, you should first choose your right tool. According to the roles raised by Figure 2, we can never select some good tools. For example, for project managers, we can choose Microsoft Project2000; for configuration administrators, we can choose ClearCase, CVS, JBCM, etc .; 2, tools
Skilled use tools is that each team member must have, this is a prerequisite. However, on the basis of skilled use, a set of tool integration development methods should be explored. The higher the development integration, the higher the development efficiency.
Input output
Before and after each tool, there will be certain inputs and outputs, such as: For ROSE, its input is the detailed requirements of the project, the output is the example of the example, design document, etc. For JBCM, its input is the various documents in the development process. And procedures, output can be the entire product. For each tool, its input and output are different, but the tools used during the development process are not much, so we can normalize all the inputs and outputs during the process.
Standardization
Whether it is a tool or input and output, it must be standardized, of course, is also easier to standardize. Because of the team development process, we can normalize the tools, inputs, and outputs used in the process. For example, standardize design documents, generate a design document template, we can generate design documents directly with ROSE.
Of course, the integrated team development process (ITSP) is favorable.
The advantages have four points:
1. Process support team development.
2, the procedures are visible, so the management of the development process is relatively simple.
3, the development efficiency of the process is increased as the integration is improved, so the specific development process of the team should be visible as soon as possible.
4, process support expansion, according to the need to increase the elements in the process, it is better to integrate.
There are two main points of weakness:
1. After the integration of various tools, the whole body is moved, and the stability is insufficient.
2. Various tools will have a certain version, which may have a problem with version compatibility.
Finally, I use Java technology to develop the J2EE application development process example to end the article.
See (Figure 3):
references:
· "THE Mythical Man-Month" Frederick P. Brooks
Befresh
2003-01-22