[Note] 4. Relationship between software scale and development

Source: Internet
Author: User

Preface:
Anyone who knows about engineering projects in other fields other than the software field, such as chemical engineering and ships, should know that the scale of the project is expanded, and other corresponding labor costs and process computing are involved, the engineering cycle is not linear. More often, you will find that sometimes the scientific theoretical systems applicable to small projects and big projects are different.

Judging from the experience of small projects is a pure fantasy. What are the noteworthy or interesting laws in the software field?

 

Relationship between software scale and communication
The potential communication channels for multiplayer projects are N (N-1)/2. For example, if n = 10, there are 45 potential communication channels.
The more ways to communicate, the more time consumed, and the higher the possibility of communication errors.

Improvement path:
Break down the project team size whenever possible.
Reading and writing documents is one of the effective ways to reduce the number of interactions.

Relationship between software scale and bug
The software scale affects both the number of bugs and the type of bugs.
In small software projects, the developer's skills have the greatest impact on quality.
The larger the number of software projects, the greater the impact of incorrect requirements and architecture on quality. However, no matter how large a project is, developers still bring more than 50% of the total number of problems.

When other conditions are equal, the productivity of large software projects is lower than that of small software projects.

Project size [CodeLine] Number of lines of code per year [cocomo II mean in brackets]
1 K 2500-25000 [4000]
10 K 2000-25000 [3200]
100 K 1000-20000 [2600]
1000 K 700-10000 [2000]
10000 K 300-5000 [1600]

When other conditions are equal, the bug rate of large software projects is higher than that of small software projects.

Project size [code line] Typical bug density [thousands of bugs]
<2000 0-25
2000-16000 0-40
16000-64000 0.5-50
64000-512000 2-70
> 512000 4-100

A lightweight method is better than a heavyweight method.

With the increase of the project scale, the activities with the workload exceeding the linear growth include:
Communication
Plan
Management
Requirement Analysis
System Function Design
Interface design and specifications
Architecture
Integration
Eliminate Defects
System Test
Document generation

In addition, other activities are basically linear.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.