|
Software Project Management under Uncertainties
Introduction
Project scheduling is an important step in the software development process. Software project managers often use scheduling to perform preliminary time and resource estimates, general guidance, and analysis of project alternatives. One of the major challenges in software project management is that it is difficult to adhere to the schedules due to the uncertainties related to requirements, schedules, personnel, tools, architectures, budgets, etc.
Software project managers recognize the importance of managing uncertainties. The iterative development process, identification and analysis of potential risks and utilization of other best practices can reduce uncertainties and help deliver the project according to the original time estimate, scope, and cost
[1,7]. However, software project managers are not always familiar with probabilistic scheduling and tracking techniques or consider it as overhead. Modeling the project schedule with uncertainties on the planning phase remains important because it allows the manager to estimate feasibility of the delivery date, analyze the project, and plan risk mitigation.
This paper proposes a methodology for managing uncertainties based on an analysis of project events or groups of related events (event chains). The methodology can be easily understood by project managers who are not familiar with advanced statistical theory. Managing uncertainties by the modeling of event chains is based on historical data, which leads to meaningful results. The software project scheduling using event chains methodology can be easy adapted. The implementation of the methodology does not require additional project management resources. In addition, off-the-shelf software tools that implement event chains methodology are available.
|