Tsinghua University Software Technology Center Zheng Dongjie
Today's computer industry has developed rapidly, and the software industry is even more such, technology and product update replacement of common technicians and managers feel obvious. The booming development of my country's information technology industry has prompted a wide range of advanced technology and products to invest in domestic software development into vitality. However, it is worth noting that various advanced operating systems, development tools, etc., while bringing benefits, making our development environment increasingly complicated and difficult to manage. An organized development environment will result in potential problems, and even affect the entire system. For example: team communication is difficult, software reuse rate is low, the developer is respectively polite, the code redundancy is high, the document is not perfect; the result is lost, the development cycle is long, the product reliability is poor, the quality is poor, the software maintenance is difficult, the user complains that the user complains , Project risk increase, etc.
The facts have shown that with the rapid development of the entire software industry, the risks and challenges of software development in effectively managed software development will become more and more prominent. Strengthen software development management, establish a standardized software development environment through changes in the software development environment, and prove that the development practice of software industry in Western developed countries is the only effective way to solve the above problems, and have developed in software industry Leading countries and regions are popularized.
Necessity for A-software development management
1. Software resources are increasingly valued by key wealth of companies to develop, and the development of software has gradually transformed into an industrial production process, so it is necessary to apply effective management and control on all of them.
2. Software Development Agency in the intense market competition To use limited funds in a scheduled period, we must strive to strengthen the management of software development processes.
3.Client / Server has become the mainstream of today's software development, and in the increasingly complex distributed development environment, it is more difficult to achieve team development, and the platform needs to be increased.
4. Development of an application system may contain hundreds of software modules and tens of thousands of row code, and any programmers cannot understand and track individual segments of the application system.
5. Any software code is a software wealth that is important for development agencies, thus making it particularly important to manage manageability and auditability.
6. Software products are different from other products, which is important after investing in the use of maintenance and support work, so reliable maintenance support, orderly documentation, and complete development, maintenance records.
B-Software Development Management Tool --- PVCS
Advanced software development management tools not only have version management, establish management, construct management, problem tracking these basic functional modules, but also combines demand management, demand change management technology, and support workflows, and the Internet / intranet application Management function. In the following space, we analyze the important roles act as the main representative of the software development management tool --- PVCS as an example.
· PVCS consists of 8 function modules below, covering all issues in software development management:
• PVCSVersionManager: Store changes information for any type of files, quickly get all versions of any files in the system.
• PVCSConfigurationBuilder: Provides a reliable automatic reconstruction process for the software system. It guarantees that the system is accurately reconstructed at any time, avoiding errors, and automatically recompile the modified module to save time.
• PVCSTRACKER: Determines and track the requirements of each change in the software throughout the development process.
• PvcsNotify: Changes to the software status via other members in the organization of the organization.
· PVCSREPORTER: Provides a customer report tool for the GUI interface environment, using it to easily generate and store reports of multiple items.
• PvcsProductionGateway: Provides a bidirectional simultaneous interconnection between a local area network with large machine MVS systems.
• PVCSDeveloper'Stoolkit: Provides an application development interface (API) for PVCS customers to enable project information to access.
PVCSREQUISITEPRO: Advanced demand management, and requirements change management feature.
The above 8 modules can be installed separately and integrated, and the complete software development management environment required to establish an industrialized software development enterprise is also integrated. PVCs not only solve the problem of code reuse, data loss, but also meet the market needs of software development agencies in several major aspects, and become the preferred software development management tool for global development agencies.
C- Accelerate the improvement of software development speed to adapt to the market
Whether the product developed is for internal users or external users, it is also facing a powerful pressure that requires speeding up the development speed. On the one hand, the development of the software industry has promoted more and more suppliers to launch the product faster, providing favorable conditions for the participation of competition in the development institution; on the other hand, the development institution uses Internet / Intranet as software distribution tools, making the development cycle from the original Months or even a few days of age or few hours. Under such a growing market pressure, if it is not possible to prepare the development management tool required for development work, it is bound to stay at a low level for a long time, and the development agency will also lose the original competitive advantage. In the face of the above challenges, development institutions require software development management systems to automatically establish, collect, and manage information systems, and such management systems must be repeatable and can be applied to other development projects and maintain software in the life cycle of the product. Resource integrity. In short, the control of the development process is the key to accelerating the development process and launch new products. Americaninternationalunderwriters (AIU) The company's ITGroup is responsible for the establishment and delivery of the internal insurance policy of the company system. In order to better serve users in the domestic and international markets, AIU has turned from the original centralized enterprise to a decentralized structure. Since the desired source code is spread all over the world, itgroup is difficult to find the required code and identify the version of the application system, so this situation greatly reduces the work efficiency of developers, increasing potential errors, slowing down The speed of the product is launched.
After using PVCs, the AIU can achieve the ideal software development management environment and manage all source code in order to make the system's establishment, testing and code distribution in line with various quality standards and procedures, speeding up the development speed of internal systems. Improve the quality of software.
D - support for software development quality urgently needs
In order to improve the development speed, development institutions often launched products that have not been fully tested in the case of insufficient workload; and customers have more and more expected expectations on the products of the market, this contradictory development result enables development agencies. Because of the pressure of market and users must obtain ISO9000 quality certification, and follow the CapabillityMaturityModel (CMM) standard for the University of Carnegie Mellon University Software Engineering Research Institute to improve their development process. These quality standards provide a framework for the evaluation and management of internal products for software products during the development process. Whether it can win more and more sales contracts, depending on whether the company has received the quality certification of ISO9000 and SEICMM. Software development management is the cornerstone of these certifications, which provides control requirements, security requirements that meet the high quality standards, and review tracking requirements that must be achieved after obtaining certification. Software Development Agencies want to transition from the initial confusion development process to repeatable, manageable or orderly processes, which increase to higher maturity levels, software development management is the most powerful support. This situation can also be confirmed from the following example:
WaynedivisionOfdresserindustries is located in Austin, Texas, USA, is fully applied to the ISO9000-3 certification. Waynedivision is responsible for establishing the application development system required by major multinational oil companies around the world, often exposing multi-user, multi-product, multi-application software versions of spider web. Dresser begins to prepare ISO9000-3 authentication is already using PVCS, and they find that the software developers and steps required in ISO9000 are already part of their development process management implemented by PVCs. Therefore, for ISO9000, they only need to simply adjust according to ISO9000-3 standards.
E - Adapt to the complex development environment
Today's software development environment is indeed a diverse complex aggregate. Multi-operating systems, multi-development tools, multi-database and multi-object types have formed multiple effects, forming a difficult development environment. Software teams developing the Internet and Client / Server application systems are often distributed in different locations. In this case, if there is no automated communication means, track the software module change management system, enabling development team members to share the development environment of the LAN or WAN, will inevitably cause errors, resulting in time and resources.
Multi-structure development has caused a lot of object types to be managed. Development projects will produce diverse archives formats, such as text files, file files, graphics formats, spreadsheets, and more. When the development tool and object type changes in the development environment, the infrastructure of software development management must always remain unified, and the means must be flexible enough. It is suitable for any operating system, test system, computer language, and object type development environment, must have scalability to accommodate any scale and structural development team. Most importantly, the software development management tools used must not only support today's complex environment, but also adjust the future needs at any time. For example: Chasemanhattanbank is the United States Datong Bank is a multinational financial institution with $ 100 billion, using a variety of workstations (including independent and large hosts) and LANs (all connected to large hosts under WANS). The workstation runs in the DOS, OS / 2, and Windows environments, some of which are also connected in Novell, OS / 2Server, Lanserver, and LanManager. Chasemanhattanbank has selected PVCS because it is a unique product that supports all of its hardware systems and operating system platforms. PVCs can effectively manage any object type and can run on a separate workstation, spanning a single LAN or multiple LANs, making ChasemanhattanBank in such a complex environment. F - solve the problem management problem during the development process
The recent survey report provided by THESTANDISHGROU indicates that 30% of software items are canceled before they do not complete; the remaining 70% of the project cannot fully realize the features required: the average completion of the actual funding of each project exceeds the budget 189%, while the actual time exceeds the expected 222%. These situations are often a fatal issue encountered by software development projects, why is the following aspects:
The level of demand management is low. Our application system lacks absorption from users' needs change capabilities, and cannot respond to this change while project development progresses.
Change management levels and changes in other development products are inevitable, and we rarely track these changes, and it is not impact on it to project development.
Low-level quality control lacks system quality control methods, do not understand the links influence in the development process, and lack feedback.
There is no effective control for development funding and time, although it can be accurately planned, but unexpected changes often appear.
Solving the basis of all the problems above is demand management. Demand management is a system solution for identifying, organizing, communicating, and management of demand changes to software application development systems.
PvcsResiquitePro is the perfect integration of PVCS and the world's most advanced demand management tools. PVCSRequistePro provides a unique MSWORD interface and demand database that enables software development teams to implement real-time, intuitive application requirements management and demand tracking. At the same time, PVCSRequisitePro also ensures that users are fully compliant with CMM standards and ISO9000 standards.
summary
PVCS is an excellent software development management tool that shows superiority in the above aspects, and its important role in cope with complex environments and enhances competitive advantage has been admitted by many developing agencies. In my country, many software institutions tend to focus on advanced operating systems, platforms, and development tools, and ignore the management and control of the development process. It does not know what the management caused by do not only make valuable investment. Also make the quality and efficiency of software development have long been in low levels of repetitive states, not to mention project risks caused by people's loss. And the above situation will be more serious with various operating systems, development tools, and development team people. Applying software development management tools as early as possible to effectively manage and control the development process, helping my country's software development level step by step through the western software companies, rising to a new height.
※ Source: · BBS Shuimu Tsinghua Station bbs.Net.tsinghua.edu.cn · [from: case.cs.pku.edu]