Key Software Metrics and its Impact on each other for Software Development Projects

Every software development project is unique and different from repeatable manufacturing process. Each software project share different challenges related to technology, people and timelines. If every project is unique, how project manager can estimate project in a consistent way by applying his past experience. One of the major challenges faced by the project manager is to identify the key software metrics to control and monitor the project execution. Each software development project may be unique but share some common metric that can be used to control and monitor the project execution. These metrics are software size, effort, project duration and productivity. These metrics tells project manager about what to deliver (size), how it was delivered in past (productivity) and how long will it take to deliver with current team capability (time and effort). In this paper, we explain the relationship among these key metrics and how they statistically impact each other. These relationships have been derived based on the data published in book "Practical Software Estimation" by International Software Benchmarking Group. This paper also explains how these metrics can be used in predicting the total number of defects. Study suggests that out of the four key software metrics software size significantly impact the other three metrics (project effort, duration and productivity). Productivity does not significantly depend on the software size but it represents the nonlinear relationship with software size and maximum team size, hence, it is recommended not to have a very big team size as it might impact the overall productivity. Total project duration only depends on the software size and it does not depend on the maximum team size. It implies that we cannot reduce project duration by increasing the team size. This fact is contrary to the perception that we can reduce the project duration by increasing the project team size. We can conclude that software size is the important metrics and a significant effort must be put during project initiation phases to estimate the project size. As software size will help in estimating the project duration and project efforts so error in estimating the software size will have significant impact on the accuracy of project duration and effort. All these key metrics must be re-calibrated during the project development life cycle