Open In App

Belady’s and Lehmann’s Model in Software Engineering

Belady and Lehmann (1972) were among the first researchers to try to capture maintenance effort in a predictive model. This model clear the concept that if poor software development approach is used then the effort and costs can be increased exponentially and the person who develops that software is no longer available to perform the maintenance of the software. Belady and Lehmann capture these effects in an equation:

M = P + Ke(c-d)



This equation plays a very important relationship among the factors determining maintenance effort. In the given relation, if somehow the software is not developed by using software engineering process, then the value of ‘c’ increases. Of course ‘c’ will be higher for a large software product with a high degree of systematic structure than a small one with the same degree. If the software is maintained without a understanding of the structure, the function and purpose of the software, then the value of the ‘d’ will be low. In this way, the result found as the maintenance cost increases exponentially. Thus, to economize on maintenance, the best approach is to build the system using good-software engineering practices and to give the maintainers time to become familiar with the software.

Example: The development effort for a software project is 300 persons-months. The empirically determined constant (K) is 0.3. The complexity of the code is equal to 8 ( quite high value ). Calculate the total effort (M) if



  1. The maintenance team has good level of understanding of the project (d = 0.9).
  2. The maintenance team has poor understanding of project )d = 0.1)

Solution : Development effort (P) = 300 PM

K = 0.3
C = 8

1. The maintenance team has good level of understanding (d = 0.9)

M = P + ke(c-d)
  = 300 + 0.3e(8-0.9)
  = 300 + 363.59
  = 663.59 PM

2. The maintenance team has poor level of understanding (d = 0.1)

M = P + Ke(c-d)
  = 300 + 0.3e(8-0.1)
  = 300 + 809.18
  = 1109.18 PM

Thus it is clear from the above example that if poor software engineering approaches are used than the effort increases exponentially and also the understandability of the project is also poor. 

Article Tags :