Copyright © 2005 Center for Software Engineering, University of Southern California
2
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
3
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
4
Project – Initial Days
Stakeholders
Development Team
Non-human Resources
Development Models
Copyright © 2005 Center for Software Engineering, University of Southern California
5
How to get from a Concept to a Product?
• Coordinate requirements definition, architecture definition, system implementation and testing efforts – Project Management
• Use process models to guide you through these activities– What activity needs to be done next– How much of the it needs to be done
• Project plan = Instance of process model
Copyright © 2005 Center for Software Engineering, University of Southern California
6
Project Plan – What does it provide
• Why?• What?• When?• Who?• Where?• How?• How Much?• Whereas
• Objectives• Milestones &
Products• Responsibilities
• Approach• Resources & Effort• Assumptions
Copyright © 2005 Center for Software Engineering, University of Southern California
7
MS Project Plan – What does it provide
• Why?• What?• When?• Who?• Where?• How?• How Much?• Whereas
• Objectives• Milestones &
Products• Responsibilities
• Approach• Resources & Effort• Assumptions
Copyright © 2005 Center for Software Engineering, University of Southern California
8
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
9
What is project management?
• Project management is the process of planning, organizing, and managing tasks and resources to accomplish a defined objective, usually within limitations on time, resources, or cost.
• Why do we do it?– Make sure all system aspects are accounted for– Reduce redundancy of work– Meet resource and time constraints– Communicate project changes and adjustments with
developers, managers, customers, users, etc.– Allow for good decision making and improved
likelihood of success
Copyright © 2005 Center for Software Engineering, University of Southern California
10
How does Microsoft Project help?
• MS Project stores details about your project in its database. Project then uses this information to calculate and maintain the project's schedule and costs, thereby creating your project plan.
• Project keeps the information you enter in fields, which usually appear in columns.
• Like a spreadsheet, Microsoft Project displays results of its calculations immediately.
• Provides graphical interfaces for, Gantt chart, Pert chart, resource allocation chart, etc., for creating and monitoring the schedules.
Copyright © 2005 Center for Software Engineering, University of Southern California
11
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
12
Project Element Definitions• Task:
– A division of all the work that needs to be completed in order to accomplish the project goals.
– Represents an amount of work with a clear deliverable; it should be short enough to track its progress regularly. Tasks should generally be between one day and two weeks long.
– Summary Task:• A task that is broken down into two or more smaller tasks
• Milestone:– is a task you use to identify significant events in your schedule, such as
the completion of a major phase. When you enter a duration of zero days for a task, Microsoft Project displays the milestone symbol on the Gantt Chart at the start of that day.
• Resource: – People – Equipment, materials or services that are needed to complete various
tasks.
Set Up A Project
Copyright © 2005 Center for Software Engineering, University of Southern California
14
Create a new project
• To start a new project in Microsoft Project, you can enter your project's start or finish date, but not both. It's recommended that you enter only your project's start date and let MS Project calculate the finish date after you have entered and scheduled tasks.– Step 1: Click New . – Step 2: Click Project Information on the Project menu. Type
or select a start date or a finish date for your project, and then click OK
– Step 3: Click Save . – Step 4: In the File name box, type a name for your project,
and then click Save.• Tips
– You can change the start or finish date at any time by clicking Project Information on the Project menu.
Copyright © 2005 Center for Software Engineering, University of Southern California
15
Set up the project calendar• You can change the project calendar to reflect the working days and hours
for everyone on your project. The calendar defaults are Monday through Friday, 8:00 A.M. to 5:00 P.M., with an hour off for lunch.
• You can specify nonworking times, such as weekends and evenings, as well as special days off, such as holidays.
– Step1: On the View menu, click Gantt Chart– Step2: On the Tools menu, click Change Working Time– Step3: Select a date on the calendar
• To change one day of the week for the entire calendar, for example, to have Fridays end at 4:00 P.M., click the abbreviation for that day at the top of the calendar.
• To change all working days, for example, to begin working days Tuesday through Friday at 9:00 A.M., click the day heading (such as T for Tuesday) for the first working day of the week. Hold down SHIFT, and then click the day heading for the last working day of the week (such as F for Friday).
– Step 4: Click Nonworking time for days off, or Nondefault working time to change the hours worked
– Step 5: If you clicked Nondefault working time in step 3, type the times you want work to start in the From boxes, and the times you want work to end in the To boxes
– Step 6: Click OK.
Enter A Task List
Copyright © 2005 Center for Software Engineering, University of Southern California
17
Enter Tasks and Durations
• Step 1: On the View menu, click Gantt Chart• Step 2: In the Task Name field, type a task name, and then
press TAB. Microsoft Project enters an estimated duration of one day for the task followed by a question mark.
• Step 3: In the Duration field, type the amount of time each task will take in months, weeks, days, hours, or minutes, not counting nonworking time. You can use the following abbreviations: months = mo, weeks = w, days = d, hours = h, minutes = m – Note To show an estimated duration, type a question mark after
the duration.• Step 4: Press ENTER.• Step 5: Enter additional tasks as needed for the project.• Tips
– You can also add a note about a task. Double-click in the task’s Name field, and then click Notes tab in the dialog box. Type your information in the Notes box, and then click OK.
Copyright © 2005 Center for Software Engineering, University of Southern California
18
Create a Milestone
• Step 1: In the Duration field, click the duration of the task you want to make a milestone, and then type 0d.
• Step 2: Press ENTER.
Copyright © 2005 Center for Software Engineering, University of Southern California
19
Create a recurring task
• Step 1: In the Task Name field, click the row where you want the recurring task to appear.
• Step 2: On the Insert menu, click Recurring Task.• Step 3: In the Task Name box, type the task name.• Step 4: In the Duration box, type or select the duration of a single
occurrence of the task.• Step 5: Under Recurrence pattern, click Daily, Weekly, Monthly, or
Yearly.• Step 6: To the right of Daily, Weekly, Monthly, or Yearly, specify the
task frequency.• Step 7: Under Range of recurrence, type a start date in the Start box
and then select End after or End by. – If you selected End after, type the number of occurrences for the task.– If you selected End by, type the date you want the recurring task to end.
• Step 8: Click OK.• Tip To view all instances of a recurring task in a task view, click the
plus sign next to the main recurring task.
Copyright © 2005 Center for Software Engineering, University of Southern California
20
Structure tasks into a logical outline Outlining helps organize your tasks into more manageable chunks. You can indent related tasks under a more general task, creating a hierarchy. The general tasks are called summary tasks; the indented tasks below the summary task are subtasks. A summary task's start and finish dates are determined by the start and finish dates of its earliest and latest subtasks.
To organize your outline, use outline buttons:
Schedule Tasks
Copyright © 2005 Center for Software Engineering, University of Southern California
22
Establish Dependencies between Tasks
• Step 1: On the View menu, click Gantt Chart.• Step 2: In the Task Name field, select two or more tasks to link in
the order you want them linked. To select adjacent tasks, hold down SHIFT, and then click the first and last tasks you want. To select nonadjacent tasks, hold down CTRL, and then click the tasks you want.
• Step 3: Click Link Tasks .• Step 4: To change the task link, double-click the link line between
the tasks you want to change. – Set the lead or lag time (see next slide).– In the Type box, select the type of dependency.
• Finish-to-Start (FS) is the default – Click OK.
• Tips – To unlink tasks, select the tasks you want to unlink in the Task Name
field, and then click Unlink Tasks . All links to the task are removed.
Copyright © 2005 Center for Software Engineering, University of Southern California
23
Set lead or lag time for task links
• Lead time: The overlap between tasks that have a dependency. – For example, if a task can start when its predecessor is half
finished, you can specify a finish-to-start dependency with a lead time of 50% for the successor task. You enter lead time as a negative value.
• Lag time: The delay between tasks that have a dependency. – For example, if you need a two-day delay between the finish
of one task and the start of another, you can establish a finish-to-start dependency and specify two days of lag time. You enter lag time as a positive value.
Assign Resources
Copyright © 2005 Center for Software Engineering, University of Southern California
25
Create a resource list
• Step 1: On the View menu, click Resource Sheet.
• Step 2: In the Resource Name field, type a resource name.
• Step 3: For each work resource type the percentage of resource units available for this resource in the Max. Units field. For example, type 25% to indicate 10 hours per week (based on a 40 hour work week).
• Step 4: In the Type field, specify the resource type: Work or Material.
Copyright © 2005 Center for Software Engineering, University of Southern California
26
Assign resources to tasks
• Step 1: On the View menu, click Gantt Chart.• Step 2: In the Task Name field, click the task to
which you want to assign a resource, and then click Assign Resources .
• Step 3: In the Name field, click the resource you want to assign to the task.
• Step 4: To assign a resource part-time, type or select a percentage less than 100 in the Units column to represent the percentage of working time you want the resource to spend on the task. – To assign several different resources, hold down CTRL and
click the names of the resources.• Step 5: Click Assign
Copyright © 2005 Center for Software Engineering, University of Southern California
27
Check Resource Assignments
• Step 1: On the View menu, click Resource Usage.
• Step 2: In the Resource Name column, review the resource assignments.
• Step 3: To reassign a task from one resource to another, select the entire row, position the pointer over the ID field (the leftmost column), and then drag the task under the new resource.
How do you view the schedule
Copyright © 2005 Center for Software Engineering, University of Southern California
29
See the entire project on the screen
• Step 1: On the View menu, click Gantt Chart.
• Step 2: On the View menu, click Zoom, click Entire project, and then click OK.
• Notes – To see the Gantt bars on a larger or smaller
timescale, click Zoom In or Zoom Out .
Copyright © 2005 Center for Software Engineering, University of Southern California
30
Identify the critical path
• Step 1: On the View menu, click Gantt Chart.• Step 2: Click Gantt Chart Wizard.
– Follow the Gantt Chart Wizard instructions to format critical path tasks.
• Alternate step 2: On the View menu, click Network Diagram.
Copyright © 2005 Center for Software Engineering, University of Southern California
31
Display specific information by using a filter
• Step 1: On the View menu, click Gantt Chart or Resource Sheet.
• Step 2: On the Project menu, point to Filtered for, and then click the filter you want to apply.
• Step 3: Click Apply to apply the filter, or click Highlight to apply a highlighting filter.
• Step 4: To turn off a filter, point to Filtered for on the Project menu, and then click All Tasks or All Resources.
Save the Plan
Copyright © 2005 Center for Software Engineering, University of Southern California
33
Save a baseline
• When you've entered all your project information and you're ready to start actual work, you can save a baseline of your project's information to compare with actual progress on your project. Using a baseline makes it possible for you to track progress, see variances, and make the necessary corrections. For example, you can see which tasks started later than planned, how much work assigned resources have actually performed, and whether your budget is on track.– Step 1: On the Tools menu, point to Tracking, and then click
Save Baseline.– Step 2: Click Entire project to save a project baseline. – (Click Selected tasks to add new tasks to an existing baseline.)– Step 3: Click OK.
Track Work
Copyright © 2005 Center for Software Engineering, University of Southern California
35
Update task progress
• Step 1: On the View menu, click Gantt Chart.
• Step 2: Click the task for which you want to update progress.
• Step 3: Click Task Information , then click the General tab.
• Step 4: In the Percent complete box, type a whole number between 0 and 100.
• Step 5: Click OK.
Copyright © 2005 Center for Software Engineering, University of Southern California
36
Updating Actual start and finish dates, and task duration
– Step 1: On the View menu, click Gantt Chart– Step 2: In the Task Name field, click the row you
want to update– Step 3: On the Tools menu, point to Tracking, and
then click Update Tasks– Step 4: In the Actual box update the actual start
and finish dates.– Step 5: In the Actual duration box update the
actual duration.– Step 6: Click ok.
Copyright © 2005 Center for Software Engineering, University of Southern California
37
Compare actual task information to the baseline
• Step 1: On the View menu, click Tracking Gantt. – The Tracking Gantt view shows task
variances graphically, making it easier to analyze progress in your schedule.
• Step 2: On the View menu, point to Table, and then click Variance.
Copyright © 2005 Center for Software Engineering, University of Southern California
38
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
39
Process Elements: Definition
• Process Element (PE) is a:– Group of project activities or other process
elements– Related by logical dependencies– When executed provides value to the
project
Copyright © 2005 Center for Software Engineering, University of Southern California
40
Process Element: Description
Past process activities
information
Past effort and resource
information
Process dependencies
Project Effort and resource estimates
Intermediate value
Pre-conditions and Inputs
Post-conditions and Outputs
Experience Base
Variants
Invariants
Process Element
Copyright © 2005 Center for Software Engineering, University of Southern California
41
Example: Framework built with Process Elements
Identify Objectives, Constraints and
Priorities (OC&Ps)
Do Relevant COTS Products Exist?
COTS Assessment
Tailoring Required?
Single Full-COTS solution satisfies all OC&Ps
Yes or Unsure
Can adjust OC&Ps?No
No acceptable COTS-Based Solution
Multiple COTS cover all OC&Ps?
Partial COTS solution best
Custom Development
NoYes
COTS Glue Code Development
Coordinate custom code and glue code
development
Custom Code Development
No, Custom codeRequired to satisfy
all OC&Ps
Yes
COTS TailoringProductize, Test and
Transition
NoYes
Deploy
Deploy
Process Element
Decision/Review
No
Start
Copyright © 2005 Center for Software Engineering, University of Southern California
42
Example PE: COTS Assessment
Artifact Invariant Project Activities or Sub Process Element
Entry points
Entry Conditions:- Objectives, Constraints and Priorities (OC&Ps)
Establish evaluation criteria, weights; Identify COTS candidates
Initial Filtering: document/
literature review
Prepare for detailed
assessment
Detailed Assessment
Collect data and analyze assessment
results
Market Trend Analysis
Remaining COTS candidates
Changes of COTS Vendor/Standards
Can adjust OC&Ps?
No acceptable COTS-Based
Solution
Clear Choice?
Multiple COTS cover all OC&Ps?
No acceptable COTS-Based
Solution
Partial COTS solution best
Single Full-COTS solution satisfies all OC&Ps
COTS Assessment Background
(CAB)
COTS Assessment
Process(CAP)
COTS Assessment
Report(CAR)
Tailoring Required?
Variant Project Activities or Sub Process Element
Copyright © 2005 Center for Software Engineering, University of Southern California
43
Detailed Assessment Tasks
Copyright © 2005 Center for Software Engineering, University of Southern California
44
Example PE: COTS Assessment
Assessment process element
Digital asset mgt system – 10
weeks, 7 person equivalent
- Set of OC&Ps- Existence of one or more COTS software
- Project effort and resource estimates
- COTS assessment report- Definition of a single feasible architecture
Pre-conditions and Inputs
Post-conditions and Outputs
Experience Base
Variants
Invariants
Assessment Process Element
-COCOTS
-Index, Store and Retrieve digital image files-System scalable to 5000 users …
Copyright © 2005 Center for Software Engineering, University of Southern California
45
Spiral Model and Process Element Derived Framework
P1: Identify Objective, Constraints and Priorities
(OC&Ps)
P2: Do Relevant COTS Products Exist?
P3: Assess COTS Candidates
P4: Tailoring Required?
Single Full-COTS solution satisfies all OC&Ps
Yes or unsure
P6: Can adjust OC&Ps?No
No acceptable COTS-based solution
P5: Multiple COTS cover all OC&Ps?
Partial COTS solution best
P7: Custom Development
NoYes
P10: Develop Glue Code
P8: Coordinate custom code and glue code
development
P9: Develop Custom Code
No, Custom codeRequired to satisfy
all OC&Ps
Yes
P11: Tailor COTS P12: Productize, Test and Transition
Yes
A
T
No
G
Start
C
C
Deploy
Deploy
LCA
LCA
IOC
Establish evaluation criteria, weights; Identify COTS candidates
Initial Filtering: document/
literature review
Prepare for detailed
assessment
Detailed Assessment
Collect data and analyze assessment
results
Market Trend Analysis
Remaining COTS candidates
Changes of COTS Vendor/Standards
Can adjust OC&Ps?
No acceptable COTS-Based
Solution
Clear Choice?
Multiple COTS cover all OC&Ps?
No acceptable COTS-Based
Solution
Partial COTS solution best
Single Full-COTS solution satisfies all OC&Ps
Tailoring Required?
LCO
Copyright © 2005 Center for Software Engineering, University of Southern California
46
Outline
• Why Plan
• What can Microsoft Project do for me
• Hands on training with Microsoft Project
• Process Elements: Reusable Process Assets
• Build a CSCI 577 plan using reusable Process Assets
Copyright © 2005 Center for Software Engineering, University of Southern California
47
Planning with Reusable Process Assets
• Go to the website at: http://greenbay.usc.edu/processelements/pages/introduction.html
• Download Spiral Outline Template• Select and add process elements to the
template as needed• Update dependencies, effort and resource
information• Save a baseline plan• Add/Modify/Remove process elements as
needed
Copyright © 2005 Center for Software Engineering, University of Southern California
48
Example Process ElementActivity Duration Start/End Predecessor Artifacts Resources
Copyright © 2005 Center for Software Engineering, University of Southern California
49
Questions