CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW Eng Copyright ©...
-
Upload
lynette-davis -
Category
Documents
-
view
218 -
download
0
Transcript of CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW Eng Copyright ©...
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW Eng Copyright © 1995-2006, Dennis J. Frailey, All Rights Reserved CSE7315M01
August 1, 2006 Slide # 1
SMU CSE 7315Planning and Managing a
Software Project
Module 01Process - The Framework for
Software Engineering
Humphrey, chapters 1-2
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 2
CSE7315M01
CSE 7315
PLANNING AND MANAGING A SOFTWARE
PROJECT
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 3
CSE7315M01
CSE 7315
BUNGLING AND MANGLING A SOFTWARE DISASTER
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 4
CSE7315M01
Warning from Dilbert
“If you’re not on a ‘project,’ then you probably have a thankless, boring,
repetitive job. ... But if you are working on a project, life is very different. ...
you spend much of your waking hours fantasizing about how great it would be to have a thankless, boring, repetitive
job.”
Adams, The Dilbert Principle
“If you’re not on a ‘project,’ then you probably have a thankless, boring,
repetitive job. ... But if you are working on a project, life is very different. ...
you spend much of your waking hours fantasizing about how great it would be to have a thankless, boring, repetitive
job.”
Adams, The Dilbert Principle
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 5
CSE7315M01
Process - The Framework for Software Engineering
A process is A SET OF TOOLS, METHODS AND PRACTICES used to produce a product.
-- Humphrey, Managing the Software Process
A process is WHAT HAPPENS when you perform a task.
-- Dennis Frailey
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 6
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 7
CSE7315M01
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.)
...
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 8
CSE7315M01
Uniprocessing
Processor or agent
Program:
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
A process happens when
a processorexecutes aprocess
description
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 9
CSE7315M01
MultiprocessingProgram (process model):
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
xxxxxxx
Process # 1
Process # 2
Process # 3
Process # 4
Processor or agent
Processor or agent
Processor or agent
Processor or agent
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 10
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 11
CSE7315M01
Several Interpretations of“Software Process”
A Software Development 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 causes a process to happen and produces some desired outcome
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 12
CSE7315M01
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.
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 13
CSE7315M01
A Process Description or Model Exists Before And/or After the Process Is Enacted
Process Description (prescriptive) -- What is Supposed to Happen
Wallpaper Hanging
Process Description (descriptive) -- What
Actually Happened
Process (something happens)
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 14
CSE7315M01
Process, Methods and Tools
METHODS
Detailed Instructions -- how to do itEg. - Object Oriented Analysis - Structured Walkthroughs
TOOLS
Automation -- do it efficientlyEg. - Compiler, - CASE, - Test Generator, - Measurement Tool
“If you automate without a process, you screw up more efficiently” -- Anonymous
INCREASING KNOWLEDGE
PROCESS (description)Eg. - Design, then Review - Plan Tests with Requirements
A Map -- what to do
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 15
CSE7315M01
Why Process is Important Relative to Tools
• Tools without processes or methods are like a fast car with an inexperienced driver – The driver may go fast– But who knows where they will end up?– Wrecks are likely
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 16
CSE7315M01
Why Process is ImportantRelative to Methods
• Methods tell you how to do something– like driving lessons or a driving manual
• 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 may not get to the right place
very soon
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 17
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 18
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 19
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 20
CSE7315M01
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– ...
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 21
CSE7315M01
Representing a Process
• It depends on who will enact the process
Process Description
Agent
Process
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 22
CSE7315M01
Alternative Representations
ProcessDescription
ComputerProgram
Roadmap Recipe
Agent Computer Driver Cook
ProcessEnaction
A SpecificInvocationof theProgram
A SpecificTrip
Preparationof A SpecificDish
Data Flow orPetri Nets orEnglish, etc.
SWDeveloper
Developmentof
Software
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 23
CSE7315M01
Possible Exam Question
Fill in the chart on the previous page
(assuming some parts are blank)
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 24
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 25
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 26
CSE7315M01
Flexibility vs. Exactness• Staying in the lane without constant
correction (experienced driver vs. novice)
• A computer program needs precise instructions with no room for variation– Because a computer cannot exercise
judgment
• A human being needs a degree of latitude
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 27
CSE7315M01
Human Processes Rely on Flexibility
• A process to be executed by humans (such as software development) relies on human judgment– Because of the large number of variables
in the environment and the application• But too much latitude can result in
chaos
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 28
CSE7315M01
Why All the Attention to Process?
• Software disasters are costing lots of money and getting more attention as software becomes a larger part of almost every manufactured product
• Process management is being recognized as a core issue behind software development problems
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 29
CSE7315M01
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 $1 Million more to complete the job – Program is canceled (1)
(1) McFarlan, F.W. "Portfolio Approach to Information Systems," Harvard Business Review (January, 1974)
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 30
CSE7315M01
More Software Project Management Problems
• Software development costs more time/money/resources than it should – Who knows how much it should cost?– Different contractors often give very different
estimates
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 31
CSE7315M01
More Problems
• Software 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.) (2)
(2) Frailey, Dennis, Private Communication with CAD system programmers who were fired as a result
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 32
CSE7315M01
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 (3)
– Buggy software is constantly crashing– Microsoft Windows calculator has bug in
second digit
(3) ACM/Corporation for Public Broadcasting, "The Machine that Changed the World," (volume 5), PBS
program available on video tape.
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 33
CSE7315M01
More Problems• Software causes unanticipated results– Insurance software for claims processing
sends $60M in double payments. 35,000 policy holders quit. (4)
We could go on and on
The basic message is that software must be better managed in order to produce
acceptable products
(4) Rothfeder, Jeffery, "It's Late, Costly, Incompetent - But Try Firing a Computer System." Business Week (November 7,
1988).
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 34
CSE7315M01
Software is No Exceptionto the Basic Principles of
Quality Management
• We have learned that process is the proper focus of attention for effective quality improvement
• Although this is NOT a course in quality engineering, we do need to be aware of certain basic principles of quality management
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 35
CSE7315M01
Quality Engineering Principle
The quality of a product is determined, in large part, by the
quality of the process used to develop and produce the product.
The quality of a product is determined, in large part, by the
quality of the process used to develop and produce the product.
In other words, if you don’t use a good process you should not be
surprised at poor quality products
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 36
CSE7315M01
Quality Management Principle
Consider the process of cooking and the application of these principles.
The way to improve quality is to:- Define (document) the process- Measure and evaluate the
process as it is executed- Improve the process based on
these measurements and evaluations
The way to improve quality is to:- Define (document) the process- Measure and evaluate the
process as it is executed- Improve the process based on
these measurements and evaluations
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 37
CSE7315M01
Process Automation Principle
In other words, you must know what process to follow before automating that process.
If you automate the wrong process, you simply do the
wrong thing more efficiently
If you automate the wrong process, you simply do the
wrong thing more efficiently
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 38
CSE7315M01
Productivity Principle:
Design the process for real people
Automate the parts that people do not do well.
If you design a process for perfect people, it will
probably fail when executed by normal human beings
If you design a process for perfect people, it will
probably fail when executed by normal human beings
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 39
CSE7315M01
Possible Exam Question
Explain at least two basic principles of quality management
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 40
CSE7315M01
Possible Exam Questions Explain why automation alone is not likely to improve a
company’s real productivity and quality
Give an example in the software process where automation is a good idea; give an example where automation does not work very well and people should be charged with doing the job.
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 41
CSE7315M01
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
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 42
CSE7315M01
But Software Is Differentin Some Ways
• Software does have some special characteristics that must be dealt with
• We will address these in the next module
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 43
CSE7315M01
Summary of Module
• Process is central to effective software development
• And to effective management of software development
• Basic principles of quality management apply to software management
August 1, 2006
CSE 7315 - SW Project Management / Module 1: Process - the Framework of SW
EngCopyright © 1995-2006, Dennis J. Frailey,
All Rights Reserved
Slide # 44
CSE7315M01
END OFMODULE 01