these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment. these slides include software project managment.
2. Getting started. Some definitions.
What is a Project?
• A temporary endeavor undertaken to create a
unique product, service, or result.
PMI Body of Knowledge, 2008, p434
• “Projects , rather than repetitive tasks, are
now the basis for most value added in
business”
Tom Peters
2
3. Slide # 3
• People - Those who Perform the Software
Development
• Methods and Procedures -- How we Do the Work
– Design methods, testing procedures, configuration
control, etc.
Other Elements of Software Project
Management
4. Slide # 4
• Resources - What we Need to Do the Work
– Computers, Software, Test Equipment, Facilities, etc.
• Artifacts - Things Produced During the Course of
the Work
• Communication - Within and without
Other Elements of Software Project
Management
5. Slide # 5
The Course Combines These Elements
• Planning what to do
– Understanding the customer & requirements
– Selecting the lifecycle and the process
– Work breakdown structure
– Estimating the effort, size, and schedule
– Documenting the plans
6. Slide # 6
The Course Combines These Elements
• Managing the execution
– Managing risk
– Metrics
– Configuration management
• Improving
– Quality engineering
– Continuous process improvement
7. Getting started. Some definitions.
What is a Project?
• They are:
– Unique
– With a beginning and an end
– Of finite duration…………
7
The BIG DIG
9. Examples of Projects
Some Examples of Projects
• Developing a new product or service
• Effecting a change in an organisational structure
• Acquiring and implementing a new computer
system
• Constructing a building
• Improving a business process
9
11. Project Tradeoffs
• Even if similar projects have been conducted several times
• they will still follow these characteristics
• Uniqueness of a project may come from:
– a new team of people,
– a different budget,
– new technology,
– a new customer/client etc.
11
12. PROJECTS are composed of Processes
• A series of actions bringing about a result
• Performed by people
• Two major categories
• Project Management Processes describe,
organize and complete the work of the Project
• Product Oriented Processes specify and create
the project’s product
12
13. Slide # 13
A Process is Something that Happens
Over a Period of Time
• It involves activity
– Eg., swimming or walking or computing
• It is dynamic
– If it happens twice, that is two different processes
– Or two different instances of the same process model
• It can be described in words, pictures, diagrams, etc.
– The description is called a process model or description or
representation
14. Slide # 14
Process Description vs. Process
Computer Program
(process description)
FOR I = 1 TO 10 DO
IF A > B THEN
CASE J OF
ETC
ETC
ELSE
DO SOMETHING
ENDIF
Computer in
Execution (process)
...
as the computer
executes the
program, things
happen (variables
change, data are
communicated,
devices operate,
etc.)
...
15. Slide # 15
Examples of Processes
Process Description
Computer Program
Roadmap
Recipe
Set of instructions for
how to put up
wallpaper
Process
Program Execution
Take a Trip
Cook a Meal
Put up Wallpaper
16. Slide # 16
Several Interpretations of “Software
Process”
A Software Process Description is a definition -- it
tells you what process to follow when producing
software
Executing the Software Development Process is an
activity that produces programs
Programs are Computer Process Descriptions which
tell the computer what process to follow when
executing the program
Executing the Program produces some desired
outcome
17. Slide # 17
A Process has a Beginning and an End
in Time
Starting point - when the
process starts
....
....
.... something happens
....
....
Ending point - when the
process finishes
(or it could be indefinite)
When the
process is
happening, we
say the process
is being
instantiated or
enacted or
executed.
18. Slide # 18
A Process Description or Model exists
before and/or after the process is
enacted
Process Description
(prescriptive) -- What
is Supposed to Happen
Process Description
(descriptive) -- What
Actually Happened
Process
(something
happens)
19. Slide # 19
Process, Methods and Tools
A Map -- WHAT to do
PROCESS (description)
METHODS
TOOLS
Detailed Instructions - HOW to Do It
AUTOMATION - Do it Efficiently
Eg. - Design, then Review
- Plan Tests with Requirements
Eg. - Object Oriented Analysis
- Structured Walkthroughs
Eg. - Compiler, - CASE,
- Test Generator,
- Measurement Tool
“If you automate without a process, you
mess up more efficiently” -- Anonymous
INCREASING
KNOWLEDGE
20. Slide # 20
Why Process is Important
• Tools without Processes or Methods are like a
Fast Car with an Inexperienced Driver
– You may drive fast
– But who knows where you will end up?
– Wrecks are likely
• Methods tell you how to drive - like giving
driving lessons
21. Slide # 21
Why Process is Important
• But Methods without Processes are like a
Good Driver who Doesn’t know Where He Is or
Where He is Going
– You may eventually get there
– And you may go fast
– But you won’t get to the right place very soon
22. Slide # 22
Process Gives Knowledge
• Where to Go
• How to Get There
• Which Shortcuts will work
• Which Shortcuts will NOT work
• Risks of Each Option
• Why, not just What
23. Slide # 23
How to Describe or Document a
Process
It depends on who will use the description and for
what purpose
But there are three essential elements of a process
description:
-- Tasks or Activities to be Performed
-- Artifacts (inputs needed and outputs
produced)
-- Relationships and Sequences among these
24. Slide # 24
Process Descriptions Include ...
• Tasks or Activities -- What to do
• Sequencing and Information Flow -- When to do
what
• Information or Data (Artifacts)
(compare with a computer program)
• Executable Statements
• Statement Sequence; Conditional Statements;
Loops; Go To; other Flow of Control constructs
• Data Declarations; Procedure Parameters
25. Slide # 25
Optional Information
• Additional information depends on the purpose
of the process description
• Examples of additional information include:
– Comments and Documentation
– Entry and/or Exit Criteria
– Why
– Who
– What and When to Measure
– Risks
– References
– ...
26. Slide # 26
Representing a Process
• It Depends on Who will Enact the Process
Process
Description
Agent
Process
27. Slide # 27
Alternative Representations
Process
Description
Computer
Program
Roadmap Recipe
Agent Computer Driver Cook
Process
Enaction
A Specific
Invocation
of the
Program
A Specific
Trip
Preparation
of A
Specific
Dish
Data Flow or
Petri Nets or
English, etc.
SW
Developer
Development
of
Software
28. Slide # 28
Goals of a Process Representation
• Specific Enough to Enable a Correct Outcome
– A map should be accurate
• Flexible Enough to Allow Judgment
– A good map:
• Shows alternate routes
• Does not dictate speed, type of car, or other excessive details
that can vary
• Does not have to be to scale or precise so long as it serves its
purpose
29. Slide # 29
Compare with a Good Recipe
• Specific Enough to Enable a Correct Outcome
– Lists all ingredients
– Indicates the proper sequence and procedures for
preparing
• Flexible Enough to Allow Judgment
– Allows some variation in ingredients without total failure
– Warns about which steps must be followed precisely
30. FIVE PROJECT MANAGEMENT PROCESSES
• Initiating –authorizing the project or phase
• Planning – defining and refining objectives
and selecting the best courses of action
• Executing – coordinating people and other
resources to carry out the plan
• Controlling – regularly monitoring and
measuring to identify variances; so that
corrective action may be taken
• Closing – formal acceptance; orderly end to
the project
30
32. Why do Projects? Projects are the
instruments/vehicle of change
Today’s State
A
Needs
Requirements
Expectations
Constraints
PROJECT
-Scope
-Schedule
-Cost
-Quality
-Procurement
-Human Resources
-Risk
-Communications
-Integration
Future State
B
32
33. Process & Project Work
PROCESS
1. Repeat process or product
2. Several objectives
3. Ongoing
4. People are homogeneous
5. Performance, cost, & time
known
6. Part of the line organization
7. Bastions of established
practice
8. Supports status quo
PROJECT
1. New process or product
2. One objective
3. One shot – limited life
4. More heterogeneous
5. Performance, cost & time
less certain
6. Outside of line organization
7. Violates established
practice
8. Upsets status quo
33
34. What then is Project
Management?
• A set of principles, practices, and techniques applied to LEAD
project teams and CONTROL project schedule, cost and
performance risks to result in delighted customers.
Project Management is a discipline. A Behavior!
34
35. What Project Management is not!
• A collection of elaborate, sophisticated rules,
principles and the like, whose goal is to drive
up your overhead or to require mountains of
paperwork.
• NOTE: Software packages do not manage
projects! People manage Projects!
35
36. Four P’s of Project Management
• Project
• Product
• Process
• People
(Software Project Management)
(Product Project People | Process)
36
37. Software Project Management
• Concerned with activities involved in ensuring
that software is delivered:
– on time
– on budget
– in accordance with the requirements of the
organization developing and procuring the
software
37
38. Slide # 38
Some Types of Software Project
Management Problems
• Software development costs more
time/money/resources than anticipated
– Business plans new data base for $250K and 9 months
– After $2.5 Million and Two years, they still need $1M to
complete
– Program is canceled
• Software development costs more
time/money/resources than it should
– Who knows how much it should cost?
– Different contractors often give very different estimates
39. Slide # 39
More Problems
• Fails to meet requirements
– System delivers only half of promised features
(Functional requirements -- what it is supposed to do)
– CAD system operates so slowly that it is unusable
(Performance requirements -- speed, space, etc.)
40. Slide # 40
More Problems
• Fails to meet standards of quality or safety
– X-ray machine gives 10,000X dose of radiation to
patient due to faulty software
– Buggy software is constantly crashing
– Microsoft Windows calculator has bug in second digit
41. Slide # 41
More Problems
• Software causes unanticipated results
– Insurance software for claims processing sends $60M
in double payments. 35,000 policy holders quit.
We could go On and On
The basic message is that Software Must be Better
Managed in Order to Produce Acceptable
Products
42. Slide # 42
But .... Software is Not a
Manufacturing Process!
• Does this apply to Software?
• Isn’t Software Different?
One of the most insidious problems with improving
anything is the
PERCEPTION OF UNIQUENESS
Example: almost every small town thinks its sports
teams are the best because they are unique
Nevertheless, software does have some special
characteristics that must be dealt with
43. Project Stakeholders
• Stakeholders are the people involved in or
affected by the project actives
– Stakeholders include
• The project sponsor and project team
• Support staff
• Customers
• Users
• Suppliers
• Opponents to the project
43
44. Project Manager's Role
• The role of the project manager is one of great
responsibility. The project manager's job is to direct,
supervise and control the project from beginning to
end. Project managers should not carry out project
work.
44
45. Project Manager's Role
• The project manager must
– define the project,
– reduce it to a set of manageable tasks,
– obtain appropriate resources and
– build a team to perform the work.
• The project manager must
– set the final goal of the project and
– motivate the project team to complete the project on time.
• The project manager must
– inform all stakeholders of progress on a regular basis.
• The project manager must
– assess and monitor risks to the project and mitigate them.
45
46. Project Manager's Role
• Important:
– No project ever goes quite as planned.
– Project managers must learn to adapt to and
manage change.
46
47. Project Manager's Skill
• Leadership
• People management
– (customers, suppliers, functional managers and project team)
• Effective communication (verbal and written)
• Negotiation
• Conflict management
• Planning
• Contract management
• Estimating
• Problem solving
• Creative thinking
• Time management
47
48. 48
Management
Project
Software
23. Appraising Performance
24. Handling Intellectual Property
25. Holding Effective Meetings
26. Interaction and Communication
27. Leadership
28. Managing Change
29. Negotiating Successfully
30. Planning Careers
31. Presenting Effectively
32. Recruiting
33. Selecting a Team
34. Teambuilding
12. Building a WBS
13. Documenting Plans
14. Estimating Costs
15. Estimating Effort
16. Managing Risks
17. Monitoring Development
18. Scheduling
19. Selecting Metrics
20. Selecting Project Mgmt Tools
21. Tracking Process
22. Tracking Project Progress
1. Assessing Processes
2. Awareness of Process Standards
3. Defining the Product
4. Evaluating Alternative Processes
5. Managing Requirements
6. Managing Subcontractors
7. Performing the Initial Assessment
8. Selecting Methods and Tools
9. Tailoring Processes
10. Tracking Product Quality
11. Understanding Development Activities
34 Competencies Every Software Project Manager Needs to Know
People
Project
Product
People
Project
Product
49. Why are projects (and Project
Management) more important today,
than ever?
• Shortened product life cycles
• Narrow product launch windows
• Increasingly complex and technical products
• Emergence of global markets
• Economic period marked by low inflation
• Resource Constraints
PROJECTS NEED TO BE MANAGED WELL!!!
49