Software development effort/cost estimation


   Software development prices are related to workload, business costs, national taxes, and corporate profits. In order to facilitate the calculation, a calculation formula is given:
software development price = development workload × development cost/person·month

1.1 Development workload The
    software development workload is related to the estimated workload experience value, risk coefficient and reuse coefficient:
software Development workload =     estimated workload experience
value × risk coefficient × reuse coefficient
, these methods are difficult to implement. At present, it is still calculated based on past experience internationally, and domestic software companies also use empirical methods to estimate workload.
    In order to better standardize the estimation method, it is suggested that the workload can be calculated according to the activities of the software development process specified in the national standard "GB/T 8566-2001 Software Life Cycle Process".
    The calculation of the workload is based on the workload that a developer can complete in one month (the month in the calendar, that is, including the holidays stipulated by the state), which is usually referred to as "person-month".
    In particular, it should be reminded that the software development process includes not only the software development commonly referred to, but also various software testing activities.
1.1.2 Risk coefficient (represented by σ)
    There is also a greater risk in estimating the empirical value of workload, and there are many factors that cause software crisis, which is also a factor. Especially when the software enterprise is not familiar with or not very familiar with the business field of the information engineering project, and the users are unable or unable to express their real needs completely and clearly, so that the software enterprise needs to continuously improve the requirements acquisition, modify the design and so on. item work. Therefore:
l ≤ risk factor ≤ 1.5
    According to our understanding of software companies, it is unacceptable to exceed half of the estimated workload experience value, so we determine "1.5" as the limit value. Of course, this depends not only on the ability of the enterprise, but also on the level of user acceptance.
1.1.3 Reuse coefficient (represented by τ) to
    estimate the empirical value of workload is estimated by software companies undertaking general projects, but if software companies have adopted the "component-based development method" and have established reusable components The library (core asset library), or some existing software products, are only used for secondary development, thereby reducing the workload of software development. Therefore:
0.25 ≤ reuse factor ≤ 1
    According to the experience data of domestic and foreign software companies implementing the component-based development method (software product line), the work efficiency can be improved by 25% (the highest value).

1.2 Development cost/person·month
    The business cost, national tax, corporate profit, management cost and quality cost of the software enterprise. Can be apportioned to each software developer.
Development cost/person·month=(P+Q+R)×S×τ
1.2.1 P (capital cost)
    The headcount mainly refers to the staff's salary, bonus and various per capita expenses stipulated by the state. Its total business cost in software enterprises accounts for 70%-80%.
P = B × 1.476
    The state provides 7% of the provident fund, 12% of medical insurance, 22% of pension, 2% of unemployment benefits (the so-called four benefits), and 0.5% of the work-related injury security deposit calculated on the total salary , the maternity deposit is 0.5%, the disability fund is 1.6%, and the trade union fund is 2%, with a cumulative total of 47.6%.
    B is the average salary, that is, the sum of wages, bonuses, material rewards, etc. paid by the enterprise to employees, divided by the number of employees of the enterprise, and apportioned to each month.
1.2.2 Q (office fee)
    Office expenses include corporate office rental fees and property management fees, communication fees, office consumables, water, electricity and air conditioning fees, equipment depreciation, and travel expenses. In addition, it also includes the expenses paid by the enterprise for on-the-job training of employees. The total amount is in the software enterprise. The business cost accounts for 20%-30%.
Q = B/3
    The office expenses here are calculated at 25% of the business cost.
1.2.3 R (national taxation and corporate profits)
    Due to the preferential policies implemented by the state for the development of the software industry, it is not listed separately for calculation, but software companies still need to undertake the obligation to pay national taxation, which can be considered together with corporate profits.
    In addition, it is impossible for employees of software companies to work at full capacity throughout the year. Even if work is arranged for twelve months a year, they still need to take time out for on-the-job training and pre-job training for promotion. As far as we know, it is normal for employees of software companies to work for 10 to 11 months a year.
R = B/3
    Here is our proposal, and each software company may change it according to the situation.
1.2.4 S (management coefficient)
    Usually, each organization has a certain proportion of managers. Referring to the practice of some organizations, two managers are assigned for every ten software personnel, that is, the management cost:
1 ≤ S ≤ 1.2
1.2.5 T (Quality Factor) To
    improve software quality, there must be expenses, that is, quality cost. For different software companies, the quality cost is different.
    Software businesses, like other businesses, have a number of factors such as integrity and branding that increase their expenses.
    At present, we can determine it by passing ISO9000 quality system certification and CMM or CMMI certification, and the values ​​are 1.05, 1.1, 1.15, and 1.2 respectively.
    In the future, it is suggested that the qualifications of software companies can be divided into four levels. Determined by the software industry association based on various factors such as CMMI's certification, brand, and integrity. The construction of this system needs to be further explored.
    Accordingly, we combine the above points:
    development cost/person·month = (B × 1.476 + B/3 + B/3) × l.2 × T
                     = B × (1.476 + 2/3) × 1.2 × T
                     = B × 2 .575 × T
                     = B × λ
    When T = 1.05, λ = 2.7
    When T = 1.2, λ = 3.09
    Therefore, 2.7 ≤ λ ≤ 3.09
    For undertaking foreign software outsourcing business, on the one hand, the salary of employees is higher , In addition, the arrangement of work is also difficult to work at full capacity, so it is suggested that R=B/2. Therefore
    , development cost/person·month = B (1.476 + 1/3 + 1/2) × 1.2 × T
                     = B × 2.767 × T
                     = B × λ
    When T = 1.05, λ = 2.906
    When T = 1.2, λ =3.32
    Therefore, 2.9 ≤ λ ≤ 3.32
    Conclusion:
        Software development price = A × σ × τ × B × λ
            A: empirical value of estimated workload
            B: Average salary of software companies/person-month
            Q: Risk coefficient l ≤ Q ≤ 1.5
            T: Reuse coefficient 0.25 ≤ τ ≤ 1
           λ: Comprehensive coefficient 2.7 ≤ λ ≤ 3.09

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325340513&siteId=291194637