The role of Planning in the Software Development Process

Slides:



Advertisements
Similar presentations
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Advertisements

Software Process Models
Metrics for Process and Projects
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 7.
The Software Process Strategy The Software Process Strategy Part III.
6/19/2007SE _6_19_TSPImp_SVT_Lecture.ppt1 Implementation Phase Inputs: Development strategy & plan Completed, inspected & baselined SRS & SDS.
5/29/2007SE TSP Launch1 Team Software Project (TSP) May 29, 2007 Launch/Strategy Team Formation.
The Software Product Life Cycle. Views of the Software Product Life Cycle  Management  Software engineering  Engineering design  Architectural design.
Questions? Cycle 1 Process details Process Dashboard Coding vs. Testing ??? SE-280 Dr. Mark L. Hornick 1.
Personal software process Mohammed ahmed ali. What is psp The personal software process (psp) is a structured set of process descriptions, measurements.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
Introduction to SDLC: System Development Life Cycle Dr. Dania Bilal IS 582 Spring 2009.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
SE 501 Software Development Processes Dr. Basit Qureshi College of Computer Science and Information Systems Prince Sultan University Lecture for Week 8.
Estimation Why estimate? What to estimate? When to estimate?
Software Estimation and Function Point Analysis Presented by Craig Myers MBA 731 November 12, 2007.
Chapter 6 : Software Metrics
Personal Estimation with PROBE CS3300 Fall Code Size Estimation Wide Band Delphi (Boehm) Give the team the specs to study Discuss the project goals.
Software cost estimation Predicting the resources required for a software development process 1.
Lecture 4 Software Metrics
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Winter 2005SE-280 Dr. Mark L. Hornick Personal Software Process: Initial Process Overview.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 3 1 Software Size Estimation I Material adapted from: Disciplined.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Fall 2005.
This material is approved for public release. Distribution is limited by the Software Engineering Institute to attendees. Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #3 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Disciplined Software Engineering Lecture #2 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA Sponsored by the U.S. Department.
Copyright © 1994 Carnegie Mellon University Disciplined Software Engineering - Lecture 1 1 Disciplined Software Engineering Lecture #2 Software Engineering.
SE-280 Dr. Mark L. Hornick 1 Design and Code Reviews Review Checklists.
SOFTWARE ENGINEERING1 Introduction. SOFTWARE ENGINEERING2 Software Q : If you have to write a 10,000 line program in C to solve a problem, how long will.
©Ian Sommerville 2000Software Engineering, 7th edition. Chapter 26Slide 1 Software cost estimation l Predicting the resources required for a software development.
Implementation Phase CS4311 – Spring 2008 References: Shach, Object Oriented and Classical Software Engineering E. Braude, Software Engineering, an Object-Oriented.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SOFTWARE PROCESS AND PROJECT METRICS. Topic Covered  Metrics in the process and project domains  Process, project and measurement  Process Metrics.
CS 350: Introduction to Software Engineering Slide Set 2 Process Measurement C. M. Overstreet Old Dominion University Fall 2005.
Intoduction to Unit Testing Using JUnit to structure Unit Testing SE-2030 Dr. Mark L. Hornick 1.
Personal Estimation with PROBE CS3300 Fall Process Everybody has one !!! Formal – Completely defined and documented Informal – Just the way things.
Advanced Software Engineering Lecture 4: Process & Project Metrics.
CS223: Software Engineering Lecture 4: Software Development Models.
Introduction to the Personal Software Process. Overview Process Fundamentals PSP Concepts and Structure PSP Planning and Measurement PSP Quality Management.
Cost Estimation Cost Estimation “The most unsuccessful three years in the education of cost estimators appears to be fifth-grade arithmetic. »Norman.
CS 350: Introduction to Software Engineering Slide Set 3 Estimating with Probe I C. M. Overstreet Old Dominion University Spring 2006.
CSC 205 Programming II Lecture 1 PSP. The Importance of High-Quality Work Three aspects to doing an effective software engineering job producing quality.
By Manish Shrotriya CSE MS Software Estimation Effort Estimation: how much effort is required to complete an activity. (How to define efforts: Line.
Managing multiple projects or services? Have a mix of Microsoft Project and more simple tasks? Need better visibility and control?
SE-280 Dr. Mark L. Hornick 1 Measuring Software Size.
Watts Humphrey IBM director of programming and vice-president of technical development Joined CMU Software Engineering Institute in 1986 Initiator and.
Methodologies and Algorithms
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
The Five Secrets of Project Scheduling A PMO Approach
System Design Ashima Wadhwa.
Sizing With Function Points
Introduction SOFTWARE ENGINEERING.
CS 325: Software Engineering
Software Project Sizing and Cost Estimation
Why Do We Measure? assess the status of an ongoing project
A possible solution: Personal Software Process (PSP)
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Personal Software Process Software Estimation
The Role of Prototyping
Software Metrics “How do we measure the software?”
Why Do We Measure? assess the status of an ongoing project
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
A summary of part 1 of Chapter 7 CEP 812 Kay Paff March 24, 1999
Software metrics.
Software Engineering Practice: A Generic View
Why Do We Measure? assess the status of an ongoing project
Why Do We Measure? assess the status of an ongoing project
Software Effort Estimation
Presentation transcript:

The role of Planning in the Software Development Process Winter 2004 SE-280 Dr. Mark L. Hornick

Q: Why bother with Planning? Winter 2004 SE-280 Dr. Mark L. Hornick

Q: Why bother with Planning? In planning, we want to know the time and resources that will be needed for a project. Winter 2004 SE-280 Dr. Mark L. Hornick

Exercise How long would it take you to write a program that prompts a user to enter the names of students in a class in any order Sorts the students alphabetically Outputs the students in alphabetical order Winter 2004 SE-280 Dr. Mark L. Hornick

Planning is an important part of software development, especially for the team doing the work. We want to make realistic commitments to management Your reputation as an engineer will depend to large extent on your ability to fulfill your commitments In order to do this, we must Identify tasks Identify resources resources=time + people Winter 2004 SE-280 Dr. Mark L. Hornick

Exercise, part 2 How long would it take you to Understand the requirements (see previous slide) Design the program Implement the code Test the program (and fix errors) Summarize your results Compare plan vs. actual (time/resources/cost) What would have been done differently Winter 2004 SE-280 Dr. Mark L. Hornick

How do we make time and resource estimates? Do we guess? When management and a team are both only guessing about the resources and schedule for a software project, management will always win the argument. Winter 2004 SE-280 Dr. Mark L. Hornick

To do better than guessing, we need defined processes and good historical data on prior executions of those processes. To gather historical data, we need to accurately track and report progress. Actual size of the task vs. planned Actual development time vs. planned Actual schedule vs. planned Winter 2004 SE-280 Dr. Mark L. Hornick

Historical data implies measurement; in the PSP, there are four basic process measures. Size Size of what?? Time Minutes by phase Quality Defects by phase Schedule Task completion date To improve performance, we must be able to measure and make comparisons. Other measures, such as productivity and defect density, are derived from the base measures.

Why do we care about Software Size? It’s a basis for better planning: Development resources #People (effort) Cost (time*effort) Defect rates As a measurement criterion, it should be: Related to development effort Precise, easily countable Suitable for early planning Winter 2004 SE-280 Dr. Mark L. Hornick

How do we measure Software Size? SE-280 2/22/2019 How do we measure Software Size? Candidate measures “Function points”: #Input interfaces #Output (reports) #Queries #Data files #Interfaces to other apps # Pages in Requirements Document # of Prototype Screens # of Prototype Reports Lines of code (LOC) Function points – page 107 Winter 2004 SE-280 Dr. Mark L. Hornick Dr. Mark L. Hornick

Is LOC a good measure? What should we count? What are the advantages? SE-280 2/22/2019 Is LOC a good measure? What should we count? Logical lines of code? Physical lines of code? What are the advantages? What are some disadvantages? Logical lines of code Count “effective” LOC Invariant to formatting Correlate well with effort Complex to count precisely Physical lines of code Not invariant or uniquely definable Easy to count Winter 2004 SE-280 Dr. Mark L. Hornick Dr. Mark L. Hornick

Estimation Process Flow SE-280 2/22/2019 Estimation Process Flow Define requirements Conceptual design Size database Estimate size Productivity database Estimate effort Resources available Produce schedule Develop product Data analysis Winter 2004 SE-280 Dr. Mark L. Hornick Dr. Mark L. Hornick

Size and Effort have been shown to be correlated: SE-280 2/22/2019 Size and Effort have been shown to be correlated: Other examples on page 39. Winter 2004 SE-280 Dr. Mark L. Hornick Dr. Mark L. Hornick

Good Planning results in An overall Project Plan Team knows what each person is to do Composed of multiple “realistic” phase plans Team knows it’s succeeding Or where it needs to focus As “quality” of each phase increases, the overall project quality increases Winter 2004 SE-280 Dr. Mark L. Hornick

Bad planning results in Cost overruns Schedule slippage Loss of credibility Low morale Winter 2004 SE-280 Dr. Mark L. Hornick