Project Scheduling in a project refers to roadmap of all activities to be done with
specified order and within time slot allotted to each activity. Project managers tend to define various tasks, and project milestones and then arrange them keeping various factors in mind. They look for tasks like in critical path in the schedule, which are necessary to complete in specific manner (because of task interdependency) and strictly within the time allocated. Arrangement of tasks which lies out of critical path are less likely to impact over all schedule of the project.
For scheduling a project, it is necessary to
• Break down the project tasks into smaller, manageable form
•Find out various tasks and correlate them •Estimate time frame required for each task •Divide time into work-units •Assign adequate number of work-units for each task •Calculate total time required for the project from start to finish Resource management All elements used to develop a software product may be assumed as resource for that project. This may include human resource, productive tools, and software libraries. The resources are available in limited quantity and stay in the organization as a pool of assets. The shortage of resources hampers development of the project and it can lag behind the schedule. Allocating extra resources increases development cost in the end. It is therefore necessary to estimate and allocate adequate resources for the project. Resource management includes:
Defining proper organization project by creating a project team and allocating
responsibilities to each team member Determining resources required at a particular stage and their availability Project Risk Management Risk management involves all activities pertaining to identification, analyzing and making provision for predictable and non-predictable risks in the project. Risk may include the following: Experienced staff leaving the project and new staff coming in. Change in organizational management. Requirement change or misinterpreting requirement. Under-estimation of required time and resources. Technological changes, environmental changes, business competition. Risk Management Process
There are following activities involved in risk management process:
1. Identification - Make note of all possible risks, which may occur in the project 2. Categorize - Categorize known risks into high, medium and low risk intensity as per their possible impact on the project. 3. Manage - Analyze the probability of occurrence of risks at various phases. Make plan to avoid or face risks. Attempt to minimize their side-effects. 4. Monitor - Closely monitor the potential risks and their early symptoms. Also monitor the effective steps taken to mitigate or avoid them Why scheduling is Important? • In order to build a complex system, many software engineering tasks occur in parallel. • The result of work performed during one task may have a profound effect on work to be conducted in another task. • These interdependencies are very difficult to understand without a schedule. • its also virtually impossible to assess progress on a moderate or large software project without a detailed schedule. What are the steps? The software engineering tasks dictated by the software process model are refined for the functionality to be built. Effort and duration are allocated to each task and a task network (also called an ―activity network‖) is created in a manner that enables the software team to meet the delivery deadline established. Basic Principles of Project Scheduling 1. Compartmentalization: The project must be compartmentalized into a number of manageable activities and tasks. To accomplish compartmentalization, both the product and the process are refined. 2. Interdependency: The interdependency of each compartmentalized activity or task must be determined. Some tasks must occur in sequence, while others can occur in parallel. Other activities can occur independently. 3. Time allocation: Each task to be scheduled must be allocated some number of work units (e.g., person‐ days of effort). In addition, each task must be assigned a start date and a completion date. Whether work will be conducted on a full-time or part-time basis. 4. Effort validation: Every project has a defined number of people on the software team. The project manager must ensure that no more than the allocated number of people have been scheduled at any given time. 5. Defined responsibilities. Every task that is scheduled should be assigned to a specific team member. 6. Defined outcomes: Every task that is scheduled should have a defined outcome. For software projects, the outcome is normally a work product (e.g., the design of a component) or a part of a work product. Work products are often combined in deliverables. 7. Defined milestones: Every task or group of tasks should be associated with a project milestone. A milestone is accomplished when one or more work products has been reviewed for quality and has been approved. Each of these principles is applied as the project schedule evolves