Software Project Scheduling Under Uncertainities
Essay by chaitra • April 17, 2016 • Case Study • 672 Words (3 Pages) • 1,286 Views
Scheduling is one of the most important phases during Software Project Implementation. After considering all the risks and uncertainties involved, the project manager has to come up with the Project Schedule. This is used in estimating the duration of the project, resources required and analysis of alternative approaches incase of any uncertainties.
It is often difficult to adhere to the schedules in a Software development cycle, because of uncertainties related to project requirements, resources involved, budget changes, management decisions and other unexpected events. Successful project managers, with their farsightedness will be prepared for such risks and make sure that it will have a minimum impact on the software delivery. Modeling the project schedule will be helpful in tracking and monitoring different activities, identification of risks involved and planning necessary actions to mitigate those risks. Project Managers are also influenced by certain biases during scheduling like, estimating a task’s completing stage from their previous experience, overestimating project’s success based on the success of different phases. Thus reliable historic data would help in analyzing the probability of an event/risk occurrence, best –worst case scenarios for a particular task in the past and keep the team prepared for such uncertainties.
There are different project scheduling models like Gantt charts (defining tasks and their relationship), CPM (identifying the critical path), PERT (weighted average of most optimistic, likely time and most pessimistic).Monte Carlo (based on probability and statistical distribution), Event Chain Methodology (Tasks and Event relationship).
Out of all the above methodologies, Event Chain is best suited for software development because:
- Project Parameters (Duration, start and finish time, costs) are uncertain at the initial stage of the project because of the uncertainties involving resources, schedule, budget, design, tools etc. But an event cannot be measured in terms of duration.
- Task or a group of tasks can be influenced by various conditional and probabilistic events. Based on the properties of probability (chance of occurrence, time of occurrence and outcome), statistical analysis and distribution can be done to arrive at the duration, success rate, cost of project.
- The correlation between the occurrence of events/event chains and the output project parameters (duration, start and end time, cost) is studied through sensitivity analysis.
- Dealing with events is easier because it can be broken into smaller events, handled easily if interdependent and probabilistic and hence can be analyzed through statistical distribution
- Event Chains provide flexibility for the PM to accommodate new tasks by rescheduling, changes in budget, changes in resource allocation and estimate the overall duration, cost of the project by considering only the real time data, ignoring the preceding events.
- It focuses on achieving the “best case scenario” and making ongoing changes to the task list and input parameters to accommodate the risks triggered by certain event or event chains.
However, I feel that Event Chain methodology keeps the PM and team prepared (focused on activity) and cautious to achieve the most optimum result. In case of any uncertainty by an event, they have got the alternative plan ready to work with same efficiency and to achieve the desired outcome. But this model relies on the previous project records and their data in probability determination and does not consider the process improvements which might have occurred during the timeline.
...
...