Download presentation
Presentation is loading. Please wait.
Published byRebecca Long Modified over 9 years ago
1
Copyright 1995-2009, Dennis J. Frailey CSE7315 – Software Project Management CSE7315 M01 - Version 9.01 SMU CSE 7315 Planning and Managing a Software Project Module 01 Process - The Framework for Software Engineering Futrell, chapter 3; Humphrey, chapters 1-2
2
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 2 CSE 7315 PLANNING AND MANAGING A SOFTWARE PROJECT
3
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 3 CSE 7315 BUNGLING AND MANGLING A SOFTWARE DISASTER
4
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 4 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
5
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 5 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 BOUNDED SET OF INTERRELATED ACTIVITIES that takes one or more kinds of inputs and creates outputs that are of value to the customer by means of one or more transformations. -- Futrell, Quality Software Project Management WHAT HAPPENS when you perform a task. -- Dennis Frailey
6
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 6 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
7
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 7 Process Description vs. Process Computer Program (process description) FOR I = 1 TO 10 DO IF A > B THEN CASE J OF 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.)...
8
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 8 Uniprocessing Processor or agent Program: xxxxxxx A process happens when a processor executes a process description
9
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 9 Multiprocessing Program (process model): xxxxxxx Process # 1 Process # 2 Process # 3 Process # 4 Processor or agent
10
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 10 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
11
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 11 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
12
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 12 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.
13
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 13 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)
14
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 14 Process, Methods and Tools METHODS Detailed Instructions -- how to do it Eg. - Object Oriented Analysis - Structured Walkthroughs TOOLS Automation -- do it efficiently Eg. - 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
15
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 15 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
16
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 16 Why Process is Important Relative 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 somewhere –And you may go fast –But you may not get to the right place very soon
17
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 17 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
18
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 18 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
19
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 19 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
20
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 20 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 –...
21
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 21 Representing a Process It depends on who will enact the process Process Description Agent Process
22
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 22 Alternative Representations Process Description Computer Program RoadmapRecipe AgentComputerDriverCook 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
23
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 23 Possible Exam Question Fill in the chart on the previous page (assuming some parts are blank)
24
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 24 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
25
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 25 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
26
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 26 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
27
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 27 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
28
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 28 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
29
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 29 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)
30
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 30 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
31
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 31 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
32
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 32 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.
33
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 33 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).
34
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 34 Software is No Exception to 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
35
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 35 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. In other words, if you don’t use a good process you should not be surprised at poor quality products
36
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 36 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
37
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 37 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
38
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 38 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
39
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 39 Possible Exam Question Explain at least two basic principles of quality management
40
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 40 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.
41
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 41 But.... Software is Not a Manufacturing Process! Does this apply to software? Isn’t software different? For the most part, the answer is NO! But many software experts THINK it’s 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
42
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 42 The Perception of Uniqueness Inhibits Learning from Others “We’re different, so we have nothing to learn from others” Interesting fact: many important scientific discoveries were made by people who were not part of the “in crowd” and who were looking at something outside their field of expertise –The concept of plate tectonics (continental drift) –Einstein’s theory of relativity –...
43
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 43 But Software Is Different in Some Ways Software does have some special characteristics that must be dealt with We will address these in the next module
44
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 44 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
45
Copyright 1995-2009, Dennis J. Frailey CSE7315- Software Project Management CSE7315 M01 - Version 9.01 45 END OF MODULE 01
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.