Why developing a software is complex



At the time of developing software we consider that it is uniquely complex, here are some reasons why it is too hard to develop a software:

1. Software construction is human-intensive.

2. Software is irregular, intangible, invisible.

3. Software is malleable -- we can modify the product itself.

4. Software application horizons expand with hardware capabilities.

5. Software problems are unprecedentedly complex.

6. Software solutions require unusual rigor.

7. Software has discontinuous operational nature.

8. Scaling up the system causes a nonlinear increase in complexity.