27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems:

Slides:



Advertisements
Similar presentations
1 / 27 CS 709B Advanced Software Project Management and Development Software Estimation - I Based on Chapters 1-3 of the book [McConnell 2006] Steve McConnell,
Advertisements

The Mythical Man-Month By: Zac Lippard CS 470. What is the “Man-Month”? This is the idea that men and months are interchangeable between each other. This.
T /5115 Software Development Project I/II Project Planning Jari Vanhanen Ohjelmistoliiketoiminnan ja –tuotannon laboratorio Software Business and.
12 Aug 2005CSE403, Summer'05, Lecture 15 Updated Schedule of Remaining Class-Related Deliverables Fri, Aug 10pm: hw#4 responses due Sun, Aug
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
CS 501: Software Engineering
29 Jul 2005CSE403, Summer'05 Student Startup Sequence Verify network connection Rotate to Landscape mode Start Presenter 2.0 Maximize Application Role->Student.
Administrivia Lifecycle Architecture (LCA) group assignment will go out later today. Informal feedback meetings with LCO groups EasyShare: Mon, 2:45pm-3:15pm,
1 Jul 2005CSE403, Summer'05, Section 02 Section 02: Life Cycle Architecture Review Valentin Razmov.
15 Jul 2005CSE403, Summer'05, Lecture 10 Lecture 10: Incremental Releases Valentin Razmov.
Outline Your questions Upcoming milestone deliverables Testing in the project lifecycle Analyzing scenarios using inference diagrams Mistakes to avoid.
Stoimen Stoimenov QA Engineer QA Engineer SitefinityLeads,SitefinityTeam6 Telerik QA Academy Telerik QA Academy.
CSE Senior Design I Risk Management Instructor: Mike O’Dell This presentations was derived from the textbook used for this class: McConnell, Steve, Rapid.
13 Jul 2006CSE403, Summer'06, Lecture10 Lifecycle Architecture Review: Preliminary Feedback Valentin Razmov.
1 CSE 403 Software Lifecycle Models Reading: Rapid Development Ch. 7, 25 (further reading: Ch. 21, 35, 36, 20) These lecture slides are copyright (C) Marty.
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY Requirements Prioritization Laura Lehtola QURE Project.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.
CSE 403, Spring 2007, Alverson Software Projects – the challenges we face RD:McConnell.
“WHY ARE PROJECTS ALWAYS LATE?” (“and what can the Project Manager DO about that?) Craig Henderson, MBA, PMP ARVEST Bank Operations.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
1 CSE 403 Software Requirements Reading: Pragmatic Programmer Ch. 7: Before the Project These lecture slides are copyright (C) Marty Stepp, 2007, with.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
The Art of Estimating Programming Tasks Adriana Lopez Development Director Dragon Age II.
CS 5150 Software Engineering Lecture 3 Software Processes 2.
Prof. Aiken CS 169 Lecture 21 Software Process CS169 Lecture 2.
CSE 403, Spring 2008, Alverson Estimation What to say when asked for an estimate “I’ll get back to you” Pragmatic Programmer Deadly sins material adapted.
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
05 Jul 2006CSE403, Summer'06, Lecture07 Administrivia Informal feedback meetings with LCO groups FantasySportsLeague: still to come today Individual assignment.
11 Jul 2005CSE403, Summer'05, Lecture 08 Lecture 08: Best Practices for Software Design (Part I) Valentin Razmov.
CSE SW Project Management / Module 15 - Introduction to Effort Estimation Copyright © , Dennis J. Frailey, All Rights Reserved CSE7315M15.
1 Text Layout Introduction (1-4) Team Skill 1 – Analyzing the problem (5-7) Team Skill 2 – Understanding User and Stakeholder Needs (8-13) Team Skill 3.
About taking measurements, The meaning of ‘variation’, ‘range’ and ‘mean (average)’, The meaning of ‘accuracy’ and ‘precision’. Learning Objectives You.
07 Jul 2006CSE403, Summer'06, Lecture10 Lecture 10: Core Principles and Best Practices for Software Design (Part I) “Treat design as a wicked, sloppy,
05 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Techniques for Gathering Requirements Valentin Razmov “The goal of requirements engineering is to develop.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
Listening & Note Taking University of Louisville Disability Resource Center.
Software Engineering Management
Managing the Project Lifecycle
Classroom Interaction via Tablet PCs and Student Submissions
CS 5150 Software Engineering
Lecture 11: Scheduling, Estimation, and Prioritization
Taking an Iteration Down to Code
Section 01: Life Cycle Objectives Review
Lecture 02: Software Lifecycle Models
Lecture 06: Team Environment Issues
Software Development Process
Chapter 2 – Software Processes
Lecture 07: Techniques for Gathering Requirements
Chapter 5: Software effort estimation
How Science works: Taking measurements.
Lecture 03: Software Lifecycle Models
Outline Your one-minute feedback from last week Peer reviews
Lecture 09: Software Architecture (Part I)
CSE 303 Concepts and Tools for Software Development
How to fail at delivering software
How Science works: Taking measurements.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Valentin Razmov Dept. of Computer Science & Engineering
Project Management Concepts May 5th, 2016
CSE 403 Scheduling These lecture slides are copyright (C) Marty Stepp, 2007, with significant content taken from slides written by Valentin Razmov. They.
Lecture 15: Scheduling, Estimation, and Prioritization (Part II)
Section 01: Life Cycle Objectives Review
Lecture 07: Team Environment Issues (Part I)
Presentation transcript:

27 Jul 2006CSE403, Summer'06, Lecture 15 Midterm Exam Statistics Other statistics: Average: 40.6 Median: 42.3 Std Dev: 6.2 Max: 46.5 Min: 28 Easiest Problems: 4, 3, 11 Hardest Problems: 8, 2, 10, 9 Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Lecture 15: Scheduling, Estimation, and Prioritization (Part I) “Good judgement comes from experience. Experience comes from bad judgement.” “Doing things at the last minute is much more expensive than just before the last minute.” -- Randy Pausch “Plans are worthless, but planning is everything.” -- Dwight Eisenhower Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Outline Software project estimation Prioritization Scheduling Being behind schedule, ahead of schedule Frequent scheduling and prioritization-related mistakes students make Best practices for project scheduling Scheduling in the context of your projects Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Resources Rapid Development, by Steve McConnell Ch. 8, 9 Ch. 29, 32 (short summaries of best practices) (optional) Ch. 14 Death March (2 nd ed.), by Ed Yourdon Critical-Chain Scheduling (pp ) The Mythical Man-Month, by Fred Brooks Code Complete, by Steve McConnell Software Requirements, by Karl Wiegers Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 How The Three Concepts Tie Together You need an up-to-date schedule to keep you on track in the project. Items on the schedule must be continuously estimated (both in length and in start / completion times). Items on the schedule must have realistic priorities. Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Software Project Estimation Approaches Estimate pieces of the project, then add the pieces together. Refer to estimate data from previous projects. Use an algorithmic approach (e.g., COCOMO). Use established time-tested models. E.g.: expected-time = 3.0 * man-months 1/3 Use scheduling software. Have outside experts do the project estimate. and many others... Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 How Are Software Projects Estimated? Software project estimation, as software development, is done through gradual refinement. You will know better when you have seen more. An estimate is best represented as a range of values with an associated confidence level. Not a single point! There is a trade-off between estimation accuracy and project control. Why? Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Advice on Giving Estimates Avoid giving estimates that are more precise than you can make them. Otherwise, you risk hurting the estimate’s accuracy. Estimates should not be “the most optimistic prediction that has a non-zero probability of coming true.” If you don’t know, don’t make up a quick estimate under pressure. Say you don’t know but will let them know as soon as you do. “I’ll get back to you” is the mantra to remember. Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Does This Apply to You Too? As you practice estimating (and see where you were initially wrong), you will learn to do it more accurately and reliably over time. Rule of thumb: If you don’t have any idea how long things will take, they will probably take ~3 times as long as you would guess. Practicing in a safe environment now is much better than practicing in a high-stakes situation later when your job may be on the line. Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Prioritization “… means balancing the business benefit of each requirement [component] against its cost and any implications it has for the architectural foundation and future evolution of the product.” Helps to resolve conflicts, plan for staged deliveries, and make needed trade-offs Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Prioritization: Questions Who does requirements / task prioritization? Developers, managers, or customers? When is the best time to set priorities? Early in the project? Just-in-time with the development of the relevant piece? OR After a simple prototype of the feature / component has been completed? At what level do you prioritize? Use cases, features, or detailed functional requirements? Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Prioritization – A Simple Example A knapsack problem: Fill a knapsack that can hold maximum 10 lbs of weight with as much value as possible from the following ingredients: Value per unitWeight per unit (in lbs) A101 B503 C706 D605 Valentin Razmov Student Submission

27 Jul 2006CSE403, Summer'06, Lecture 15 Prioritization Factors Assume you have 100 features to implement. What are the main factors to consider when prioritizing features for your project? How do you put them together in a formula to arrive at a priority level for each feature? Valentin Razmov

27 Jul 2006CSE403, Summer'06, Lecture 15 Scheduling Concepts Schedule Pressure Valentin Razmov Schedule pressure Stress Mistakes Schedule slips

27 Jul 2006CSE403, Summer'06, Lecture 15 Scheduling Woes If your project moves forward both on budget and on schedule, you are in the minority… What can you do if that’s not the case? Valentin Razmov