Computer Science 280:

Principles of Software Development

Gregory M. Kapfhammer

flickr photo shared by Sebastiaan ter Burg under a Creative Commons ( BY ) license

Color Scheme

Key Concept

Corresponding Diagram

In-Class Discussion

In-Class Activity

Details in SETP or MMM

Project Management



Feature demonstrations

Demonstrations of characteristics

What characteristics?

Reliability, security, performance


Part of the project that takes place over a period of time

An example of this in the context of software engineering?


Completion of an activity at a particular point in time

An example of this in the context of software engineering?

Activity Graphs

Nodes and edges

Critical paths?

Calculate Slack time

Consider and plan for time and resource constraints!

Critical Path Method

Longest path with a slack of zero

Path that determines whether you are on schedule

More than one in the activity graph

No margin for error when performing these tasks!

Gantt Chart

Another visualization of project progress

Many software tools support their creation

Allows for the definition of tasks and milestones

The pgfgantt package is an option!

Staff Roles

Review page 95 for a nice listing!

What roles have you been fulfilling?

How well have you performed in them?

Do you like the roles you picked?

flickr photo shared by MyDigitalSLR under a Creative Commons ( BY-NC-ND ) license

Work Styles

Extroverts and introverts

Intuitive and rational

See Figure 3.10 for a nice summary!

Organize yourselves according to this grid

What does this tell us about our teams?

Structure Versus Creativity

Effort Estimation

Causes of Inaccurate Estimates

Estimation Strategies

Expert judgement

Human-derived equations

Machine-derived equations

flickr photo shared by Pioneer Library System under a Creative Commons ( BY-NC-ND ) license

Risk Management

See Sidebar 3.4 on Page 119

Have you seen these risks in your teams?

Must practice assessment and control!

See Figure 3.15 on Page 121