Quantitative Software Development Process Management

  Author: China Software Testing Center Bing Source: Reuters issued a document: 2003.12.22 

  Information Engineering Supervision of the central tasks of the progress of the information project goals, objectives and the quality of risk prevention, and the implementation of effective supervision, coordination and control.    In order to monitor and control the software development process, such as performance, the introduction of Quantitative Management is very necessary. 

  Contents 

  Software Development Commissioner to the introduction of quantitative software development quantitative reference to the Commissioner of the two basic "point" 
  Supervision on the progress of quantitative estimates of several four-step model introduced 

  Software Development Commissioner to the introduction of quantitative reference 

  Application software system development process, there is not only the risk of asymmetric information, the parties still exist in information processing capacity caused by asymmetric risk not only the special project risk, and project risk management; not only economic risks, and Time risk, psychological risks. 

  Quantitative process supervision is the purpose of quantitative supervision, control the software development process of the project, the software development process of the implementation of software process decided by the actual results. 

  Application software development is very professional, but also stresses the division.    Needs analysis, design, summary and detailed design, coding, testing, installation and maintenance, and so on, each process has its own fine of involving a wide range of professional, business and technical strong and visibility poor, the risks are great, predictable small.    Even if the construction of application software development model, according to standardize the requirements of a step-by-step, will encounter many unforeseen problems, not to mention the construction, there may be irregularities situation.    Information is the core of the system software, because of the difficulty of software engineering such as the quality and progress of effective monitoring, so it is not according to the construction specifications, design, implementation, testing, unnoticeable. 

  All this causes a lot of information systems engineering project is not successful, is imperfect, I can at long-term, "rubbish" endless project, has seriously affected the quality of information systems engineering and progress, not only damage the interests of both the contract, returned to the country and society caused many unnecessary losses.    Therefore, the Commissioner of the software development process, the introduction of quantitative methods, and means of application software development process certain aspects of quantitative calculation, analysis and verification, or through quantitative method of possible failures, risk analysis and judgement, or implementation to provide data verification, thereby reducing the risk of project construction, investment information system to play its due role is essential. 

  Quantitative Software Development Commissioner of the two basic "point" 

  China Software Testing Center through a lot of supervision practice, we have come to application software development process can be quantitatively supervision from the following three aspects, namely: the Commissioner of the progress of software development, software development, the quality of supervision and the development of software risk supervision.    In the progress, quality and quantitative risk Supervision, in accordance with the measurement, estimation two steps to quantitative analysis, and supervision. 

  Metric: Under certain metrics of the software development process data generated by the collection and collation, such as lines of code (LOC) and the functional point (FP) number.    It is estimated not, the slow progress, generally poor visibility provided correction method. 

  The main role of software metrics have two First, the use of software metrics to establish project baseline; second collection project the productivity and quality of the current state of the baseline use of the project to evaluate the current status, and to identify the software engineering process improvement goals. 

  Estimation: usually is defined as a non-zero possibility in the future that the most optimistic forecast.    Software project estimate is the basis of project activities, the estimate is a science, is also an art, it should be recognized that, the software will never assessment is an exact science. 

  On the progress of the four-step Quantitative Management 

  Software project's scale, its progress has been estimated is a complex issue, because of the complexity of the software itself, the lack of historical experience, the lack of tools, as well as some estimate human error, resulting in the size of the software project estimation and the actual situation is often far.    Therefore, the Commissioner is one of the priorities. 

  In order to reliably estimate of the software projects, we take the following four steps: The first step is to estimate the size of the software.    Is generally calculated LOC (line of source code) or function points (FP) completed, the process can be based on estimates; The second step is to estimate the workload of the software required for the project, the people, or human-hour units; section three steps, is the natural unit, estimates the progress of the project; fourth step is to estimate project costs.    Below introduced to the specific. 

  1, the size estimates 

  In the software project effectively estimate, the project depends on how much control the scope of the original information.    Usually, the demand should be based on a formal description estimate.    Formal demand can be described demand manuals, system specifications and software needs, such as brochures.    If at the beginning of a lack of official information can also be used verbal descriptions or draft mode began estimation process.    With the scope of the project after the official information must be re-estimated.    Estimation of the two main methods are: 

  The first method is based on item characteristics and estimation algorithm. 

  For example, according to the software system input and output, query, documents and external interfaces, and other information, use function point method to estimate the size of system.    Based on the estimates in accordance with the functional point of use (Use case) to do, rather than software features do.    Initial application needs through research to determine the various input and output, computing, and the number of database needs and characteristics.    Is the usual steps: 

  A, the calculation of input and output, query, interface control documents and the number of needs. 

  B, will be weighted by these data.    The following table is a typical weight table. 

  C, are estimated based on the complexity of judgement, the total value can be optimistic, or pessimistic may value value adjustment. 

  D, calculated using the following functions: 

  FP = Total numerical × [0.65 +0.01 × Σ Fi] 

  Among them, "total value" is the entry point of all the features of the sum. 

  Fi (i = 1 to 14) is based on Table 2 in response to the question and get the "complexity of the adjusted value" (0 to 5).    Equality in the domain of information and constant weighting factor is based on the experience determined. 

  Below will be a computer-aided design (CAD) applications as an example, the estimated development of the package import, export, enquiries, documents and external interfaces.    In order to achieve this objective estimation, we have assumed complexity of factors are weighted average.    According to the narrative scope of the software, the software functions of decomposition, identified several key features: user interface and control functions, the two-dimensional geometry of three-dimensional geometric analysis, database management, computer graphics displays, peripherals control and design analysis module.    Finally available as shown in table 2 of the table estimates. 

  Table 2 received by the total value of 318. 

  Then, of the estimated 14 complex weighted factor (Fi, according to the issue of the impact of the projects range is 0 to 5), Table 3 gives the factor value. 

  FP = Total numerical × [0.65 +0.01 × Σ Fi] = 366 

  The second method is using analog methods, based on historical data to estimate. 

  If there is a similar project done before and grasp the scale of the new project will be the major part of the original project and the corresponding parts of comparison, that a proportion of relations, and various parts of the original project size combined ratio calculated the size of the new project.    If estimates are experienced with the old and new projects projects have sufficient similarities, we can get a reasonable estimates. 

  But by analogy, often reusable code, we have to solve the problem of estimation.    Estimates of reusable code is the best way by the programmer or systems analyst to examine in detail the code has been in existence, a new project estimate reusable code to be re-designed code percentage to be re-coding or modification of the code as well as the percentage have to be re-tested code percentage.    Under this three percentage, the following calculation of the formula for calculating the equivalent of new lines of code: 

  Equivalent lines of code = [(redesign%% + + coding re-re-tested%) / 3] × have lines of code 

  For example: 10,000 lines of code, on the assumption that 35 per cent needs to be redesigned, and 55 percent need to re-coding, 75 per cent need to re-test, then its equivalent lines of code can be calculated as follows: 

  [(30% + 50% + 70%) / 3] = 5500 × 10000 equivalent lines of code.    : This reuse code equivalent to 10,000 lines of code prepared by the 5500 workload. 

  2, the workload estimates 

  Estimate the size of the software and the software development cycle definition, we began to estimate the workload of software projects.    The scale of estimation software is the result of the code, but the development of software projects, the implementation process is not only the work of coding, coding in the workload in the process is minimal.    Preparation of documents, architecture design, system design, testing and implementation of dissemination will take a lot of time.    Therefore, the estimated workload of the software project is to identify and estimate the amount of such a code required in a variety of jobs, the workload of the project be combined.    From the software-scale (of the code) to estimate project workload mainly uses the following two methods: 

  (1) the best way is to use historical data, based on previous similar projects done with the new scale of the ratio between the size of projects, control project before the workload of new projects obtained the workload. 

  Adopt this method on the assumption that: a. the previous project size and workload measurement is correct; b. at least one before the magnitude of the project and new projects similar c. new project development cycle, the development of methods to use, development tools similar to previous projects, and develop the skills and experience they can not original staff that much difference. 

  (2) If there are no historical data available, or new projects and projects done before larger difference may be used to estimate a mature model, such as the use of IBM model, Putnam COCOMO model or methodology, scale software projects will be converted into workload . 

  These models of large quantities of different types of organizations has been completed research projects, the scale of the project and that the relationship between workload and the conversion method.    These sectors of the model itself may not be as accurate historical data, but very effective.    At present, there is an estimation model can be applicable to all types and software development environment, the Commissioner of activities, from the results of these models must be based on the actual situation carefully use, or to use a number of models to estimate the workload master The basic scope of the workload and plan and the actual comparison. 

  Below the IBM model as an example for calculation.    In order to calculate, we should take advantage of the functional point of reverse transformation into a numerical equivalent of SLOC.    This step can use Table 4 to Table language equivalent completed: 

  Therefore, the use of java 2 completion of the project (366 function points), SLOC will require approximately the following: 

  L = 366 × 46 = 16,386 line = 16.386KLOC 

  E = 5.2 × L0.91 = 16.3860.91 = 5.2 × 66 / month 

  DOC = 49 × L1.01 = 49 × 826 = 16.3861.01 

  3, plans 

  In the software project estimation of the third step is the basis of the workload project planning, including personnel arrangements, the workload decomposition, starting and completion time, and so on.    Can be in accordance with their own historical data or industry decision model and the resources required to implement the project.    IBM can use the above model is the method or McConnell is roughly the duration of the project (for example IBM Model): 

  The needs of the project staff S = 0.54 × E0.6 = 0.54 × 660.6 = 7 

  Project Duration D = 4.1 × L0.36 = 4.1 × 16.3860.36 = November 

  4, cost estimates 

  Project cost estimate includes many factors: labor costs, office expenses, management fees, equipment and software acquisition costs, rental of premises, travel and so on.    The estimated cost of the project depends on the company's cost-accounting methods used.    Some companies and some of the costs not included in the project cost, but by sharing management costs.    Some historical data derived from productivity measurement and the cost per trip, trip / PM (people), and / lines, then the value of LOC and / cost will be multiplied by the value in line with LOC / PM相除be workload.    Specific companies can choose the specific circumstances. 

  Note: This article is given as an example of progress against the Commissioner of the quantitative estimation method is only one of numerous ways in kind.    The author is the purpose of the proposed supervision units in the project under the supervision of the actual situation in the appropriate use of quantitative methods.    More estimation method, the software can refer to the assessment of books and other information. 

  Several estimation model presentation 

  1, IBM Model 

  1977, IBM's Walston and Felix made the following estimates of the formula: 

  E = 5.2 × L0.91, L is the source code line number (KLOC), the workload is E (PM) 

  D = 4.1 × L0.36, D project duration (in months) 

  S = 0.54 × E0.6, S is a staff requirements (people) 

  DOC = 49 × L1.01.    DOC is the number of documents (page) 

  In this model, generally refers to a machine instructions to his source code.    A software source code line number does not include procedures Notes, operating order, debugging procedures,.    For non-machine instructions prepared by the source, such as language or high-level language compilation procedures should be converted into machine instructions source code line number to consider. 

  2, Putnam model 

  This is Putnam's 1978 model, is a dynamic multi-variable model.    It is presumed that the entire software development life there is a specific period of workload distribution.    This model is based on the number of large-scale projects (total workload to reach or exceed 30 individuals) collected in the distribution of the workload and derived, but also can be applied to some of the smaller software projects. 

  Putnam model can be exported a "software equation" and has been delivered to the source code (source statement) lines and development time and workload linked.    Among them, td the development of the duration (in years), K is the development and maintenance of software as a whole, the survival time spent by the workload (years), L is the source code line number (LOC), Ck is a technical state of constant, it reflects "impede the progress of programmers restrictions", and because development environment to another.    A typical value of the selection shown in the following table. 

  3, COCOMO model (COnstructive COst MOdel) 

  This is developed by TRW.    Boehm of the estimated cost structure model is a precise, easy-to-use method of cost estimation.    The model used in the basic rate of the following: DSI (directives of the few sources) for the definition of the code, or card form of source line number.    If his two statements, then counted as a directive.    It includes the operational control statements and statement formats, but does not include the Notes statements.    KDSI = 1000DSI.    MM (measured people), said that the development of the workload.    TDEV (metric units), said that the development progress.    It decided by the workload. 

  (1) the classification of software development projects 

  In the COCOMO model, considering the development environment, the overall software development projects can be divided into three types: type (Organic), embedded (Embedded), and between these two semi-independent software type (Semidetached). 

  (2) the classification of COCOMO model 

  COCOMO model according to the level of detail is divided into three: Basic COCOMO model, the middle COCOMO model, detailed COCOMO model.    Basic COCOMO model is a static single-variable model, which used to have a source of the estimated number of lines of code (LOC) as the independent variables (experience) function to calculate software development workload.    In the middle COCOMO model with variable LOC since the function of software development workload (now known as the name of the workload) on the basis of, and then relate to a product, hardware, personnel, and other aspects of the project attribute the impact of factors to adjust workload estimates.    COCOMO model includes detailed the middle of all of the COCOMO model, but with the various factors affecting the workload adjusted estimate, we must also consider the software engineering process in each step (analysis and design). 

Tags: ,

Releated Articles


0 Comments to “Quantitative Software Development Process Management”

No Comments. Send your comment.

Leave a Reply

You must be logged in to post a comment.