Quality management of software development: guidance to the organization of GIS software development


Release date:2023-08-21 Update date:2023-08-23 Editor:admin View counts:839

Label:

Quality management of software development: guidance to the organization of GIS software development

Due to the development of computer technology and the growth of user demand, the R&D (Research and Development) of GIS software is also increasing, which means that the competition is becoming more and more fierce. For the organization of GIS software development, the successful factors in the market include the advanced technology, the practicability and reliability of functions, the convenience of system operation, the continuity of versions and technical support and maintenance, etc. In order to achieve these goals, the only way is to adopt appropriate quality management and control。

ISO-9000 series standards

The aim of quality management is to produce high quality products. It is not to check the quality of products, but to establish the quality in the production process. In recent years, the most far-reaching quality management standards in the world are ISO9000 series standards. ISO9000 was originally aimed at manufacturing industry, but now it has been extended to hardware, software and even services. ISO9000 emphasizes control, auditability, inspection and verification, and process improvement. The basic requirements are: “Say what you do”, “Do what you say” and “Demostrate what you have done”。

ISO-9000 series standards include:

  1. ISO-9000 quality management and quality assurance standards - guidelines for selection and use;

  2. ISO-9001 quality system - quality assurance model in design/development, production, installation and service;

  3. ISO-9002 quality system - quality assurance model in production and installation;

  4. ISO-9003 quality system - quality assurance model in final inspection and testing;

  5. ISO-9004 quality management and quality system elements - guidelines。

ISO-9000 was originally stipulated for manufacturing industry and could not be directly applied to the software industry. Later, it added 9000-3 standard, which became “the guide to make ISO-9001 applicable to software development, supply and maintenance”。

The core idea of ISO-9000-3 is to “make quality into products”. That is to say, the improvement of software quality can not depend on the test after completion, but on all activities of the whole software lifetime. The main points of ISO-9000-3 are as follows:

  1. The ISO-9000-3 standard is not suitable for package software sold to most users, but only for developing software ordered separately according to the contract. It is also a guide for system departments of user enterprises in establishing quality assurance system;

  2. The ISO-9000-3 standard clearly stipulates the responsibilities of both suppliers and demanders, and does not simply impose obligations on suppliers;

  3. To review and document thoroughly all processes including contracts. Specifically, it is the cooperation between the buyer and the supplier to review, identify ambiguous issues, and record them in the document;

  4. ISO-9000-3 describes how the supplier and the demander cooperate in organizing quality assurance activities to produce perfect software, emphasizing that the quality assurance system runs through the whole development process, emphasizing that prevention is not an afterthought correction;

  5. The supplier should implement the internal quality audit system, requiring the supplier to rectify its organizational structure for quality management and establish a mechanism to supervise the quality system;

  6. The supplier shall review each contract。

CMM model for software process improvement

Since ISO-9000 series standards are not aimed at software enterprises, CMU’s SEI (Software Engineering Research Institute) put forward CMM(Capability Maturity Model for Software) in the early 1990s。

Compared with ISO9000, CMM only focuses on software, emphasizing continuous process improvement, while ISO9000 is the minimum guarantee to solve quality system。

CMM model describes and analyses software process the degree of capability development comprehensively [6]_, it establishes a hierarchical standard for describing the maturity of an organization’s software process. With this standard, software organizations can evaluate their current process maturity, and choose their own improvement strategies by proposing more stringent software quality standards and process improvement to achieve a higher level of maturity. The CMM model has five maturity levels, which are characterized by:

  1. Initial: Software processes are chaotic with almost no clearly defined steps. Success depends entirely on personal efforts and heroic core people。

  2. Repeatable: A basic project management process is established to track costs, progress and functions. Necessary process guidelines are needed to repeat previous successes in similar projects。

  3. Defined: The software process of management and engineering has been documented, standardized and integrated into the standard software process of the whole software development organization. All projects adopt the standard software process modified according to the actual situation to develop and maintain the software。

  4. Managed: It details metrics for software process and product quality are developed. Software process and product quality are understood and mastered by members of the development organization。

  5. Optimizing: Quantitative analysis has been strengthened to continuously improve the process through feedback from process quality and new concepts and technologies。

CMM defines the critical process scope for each maturity level (Fig. 15-11). Only when a software organization meets each goal within the scope can it be considered to achieve the maturity level. This is actually the guidance for a software organization to achieve higher maturity。

../../_images/img_154.png

Fig. 15-11: Five maturity levels in the CMM model, their key process scopes [CMU SEI]

CMM establishes an available standard description, which can be used for risk assessment when signing software project contracts. Software enterprises can use CMM framework to improve their development and maintenance process。

Although CMM lists the characteristics and key processes of each maturity level, it does not answer the question of how to achieve a higher maturity level. It does not propose specific software technologies, it does not involve how to manage personnel specifically. All these need to be solved by the organizations applying CMM in the process of practice according to their specific conditions。

  • 1. Geographical Cognition of the Real World
  • 2. The abstraction of the real world
  • 3. Bit world
  • 1. Data meaning and data type
  • 2. Measurement scale of data
  • 3. GIS data quality
  • 1. Map digitization
  • 2. Processing of spatial data entry
  • 1. Computer network technology
  • 2. Distributed geographic information system
  • 3. WebGIS - World Wide Web Geographic Information System
  • 1. Socialization of GIS
  • 2. Other problems of GIS socialization
  • 3. The impact of society on the development of GIS

Powered by TorCMS (https://github.com/bukun/TorCMS).