22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov.

Slides:



Advertisements
Similar presentations
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 1.
Advertisements

Agile Planning Dealing with Reality. Reality Basic agile principle – don’t expect static plans to hold, be flexible and expect changes.
AgileMan Consulting So what the heck is Agile? It came about as a response to the high failure rate of software projects (> 60%), where failure means late,
The Relationship between Cost & Quality Submitted by: Haya A. El-Agha Submitted to: Eng. Hani Abu Amr.
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,
Agile Project Management with Scrum
Risks  All projects have some degree of risk  Risks are issues that can cause problems  Delay in schedule  Increased project costs  Technical risk.
OO Development Process. UML and Process UML standardizes notation, not process –Increase likelihood of widespread acceptance There is significant variability.
Software Engineering.
CSE 403 Lecture 8 Risk assessment. Lecture goals Understand risk management and assessment techniques Guarding against failure to meet delivery deadline,
Object-oriented Analysis and Design
Outline (Mis)communicating expectations Schedule of class-related deliverables Specific final release deliverables Your questions Intellectual activity:
10 Aug 2005CSE403, Summer'05, Lecture 15 Lecture 15: Configuration Management, Software Maintenance, and Code Reviews (Part I) Valentin Razmov.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Applied Software.
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.
Applied Software Project Management Andrew Stellman & Jennifer Greene Applied Software Project Management Why Software.
SE is not like other projects. l The project is intangible. l There is no standardized solution process. l New projects may have little or no relationship.
CSE Senior Design II Staged Delivery Instructor: Mike O’Dell.
Outline Your questions Upcoming milestone deliverables Testing in the project lifecycle Analyzing scenarios using inference diagrams Mistakes to avoid.
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Organizing Requirements & Managing Scope (Chapters of the requirements text ) Steve Chenoweth & Chandan Rupakheti RHIT Which brings up Question 1,
1 Design and Integration: Part 1 Nuggets about Design vs Project Management.
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.
CSE G674/2009 Project Project Management Section Presented by: Amir Aref Adib.
Software Project Planning CS470. What is Planning? Phases of a project can be mostly predicted Planning is the process of estimating the time and resources.
CS 360 Lecture 3.  The software process is a structured set of activities required to develop a software system.  Fundamental Assumption:  Good software.
COMP 208/214/215/216 Lecture 3 Planning. Planning is the key to a successful project It is doubly important when multiple people are involved Plans are.
Chapter 3: Project Management Omar Meqdadi SE 2730 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
When Things Go Right Cornell’s PeopleSoft 8.9 Upgrade Lisa Stensland Manager, CIT Project Management Office May 15, 2008.
Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Analysis Design Implementation System Integration and Testing Maintenance.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
13-January-2003cse LifeCycle © 2003 University of Washington1 Lifecycle CSE 403, Winter 2003 Software Engineering
Planning with Use Cases Extracts from the Lamri Use Case Survival Guide™ Mark Aked Managing Consultant For more information visit or .
STEP 4 Manage Delivery. Role of Project Manager At this stage, you as a project manager should clearly understand why you are doing this project. Also.
06 Jul 2006CSE403, Summer'06, Lecture08 Lecture 08: Requirements Gathering Techniques (Part II) Valentin Razmov “The goal of requirements engineering is.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Project & Risk Management
WATERFALL DEVELOPMENT MODEL. Waterfall model is LINEAR development lifecycle. This means each phase must be completed before moving onto the next!!! WHAT.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Software Engineering for Capstone Courses Richard Anderson CSE 481b Winter 2007.
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.
CSE Senior Design II Staged Delivery Instructor: Manfred Huber Partially adapted from Mike O’Dell.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Welcome to Software Project Management. CONVENTIONAL SOFTWARE MANAGEMENT The BEST and WORST thing about software is its flexibility. 1.Software development.
Deliverables: Beta Release Installation package Application sources and binaries One-step build for all sources Latest specification & design documents.
1 Chapter 2 SW Process Models. 2 Objectives  Understand various process models  Understand the pros and cons of each model  Evaluate the applicability.
Deliverables: Zero-Feature Release Build process, installation process, code repository, automated testing framework, bug tracking system Maybe no tests.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
1 Team Skill 4 Managing the scope Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and Information Technology Based.
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:
CS223: Software Engineering
Managing the Project Lifecycle
Classroom Interaction via Tablet PCs and Student Submissions
Mike Cohn - Agile Estimating and Planning
Lecture 11: Scheduling, Estimation, and Prioritization
Chapter 2 SW Process Models
Taking an Iteration Down to Code
Lecture 02: Software Lifecycle Models
Lecture 03: Software Lifecycle Models
Outline Your one-minute feedback from last week Peer reviews
How to fail at delivering software
PMI-SVC Scheduling Forum
Projects, Assignments, and other Assessments
Lecture 15: Scheduling, Estimation, and Prioritization (Part II)
Lecture 07: Team Environment Issues (Part I)
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

22 Jul 2005CSE403, Summer'05, Lecture 12 Lecture 12: Scheduling, Estimation, and Prioritization (Part II) Valentin Razmov

22 Jul 2005CSE403, Summer'05, Lecture 12 Outline 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

22 Jul 2005CSE403, Summer'05, Lecture 12 Resources Rapid Development, by Steve McConnell Code Complete, by Steve McConnell

22 Jul 2005CSE403, Summer'05, Lecture 12 How These Three Concepts Tie Together (reminder) 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.

22 Jul 2005CSE403, Summer'05, Lecture 12 Scheduling If your project moves forward on budget and on schedule, you are in the minority… What can you do if that’s not the case?

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Fall Behind Schedule

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Fall Behind Schedule Which of these would you choose? Negotiate an increase in the amount of time Add more people to the team Hope that you can catch up later Be upfront about it Hide it “under the rug” and move forward Negotiate a reduction in the scope of the project

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Fall Behind Schedule (cont.) Negotiate an increase in the amount of time Sometimes not an option, but it may be possible Increase by how much? By the slipped time or more? Avoids addressing the bigger problem that caused the delay Expand the team “Adding people to a late software project makes it later.” (Brooks, 1975) Why? Under what circumstances? There is a limit to schedule compression.

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Fall Behind Schedule Hope that you can catch up later Statistics show this to be an illusion: you’re more likely to fall further behind Be upfront about it; don’t try to “hide it under the rug” If you conceal the truth, you will lose the customer's faith in your team / company Negotiate a reduction in the scope of the project Prioritize the optional and nice-to-have features, then drop the least essential ones Can you save time by providing similar (but perhaps rough) useful functionality?

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Are Ahead of Schedule

22 Jul 2005CSE403, Summer'05, Lecture 12 Your Options If You Are Ahead of Schedule Strive to maintain that edge Allows you to gently exceed expectations again and again Gives you a “cushion” in case difficulties arise in the future Spend the earned capital by giving everyone on the team extra breathing room May help if the team really needs it, e.g., near the burn-out point. Push to get even further ahead. May needlessly burn out the team early on If you can, your original schedule was probably too conservative. Listen to what upper-level management says As much as you may not want to do that…

22 Jul 2005CSE403, Summer'05, Lecture 12 Frequent Mistakes Students in Previous SE Classes Have Made Scheduling and prioritization-related: Not exploring all unknowns (risks) early on to create a realistic schedule Not maintaining an up-to-date schedule with all remaining tasks and how they map to the resources (time, people) in the team Leaving too few resources (people) for a critical task that can’t be delayed Not leaving enough “safety net” time before major releases in case something unexpected happens It often happens in the most inopportune moments.

22 Jul 2005CSE403, Summer'05, Lecture 12 Frequent Mistakes Students in Previous SE Classes Have Made Scheduling and prioritization-related: Underestimating the challenges of a new development environment Overly relying on similarities to known environments Spending time on “cool” features that are not central to the needs of the users while delaying the development of promised features A real project is not about what developers enjoy doing, it’s about what brings value to customers. Hopefully, the two are similar, but if not, the latter should take precedence.

22 Jul 2005CSE403, Summer'05, Lecture 12 Best Practices in Project Scheduling Building in a margin of safety into the schedule Continuously measuring progress and re- estimating resources needed The daily builds are the pulse of your project. Using multiple project estimation approaches and studying the differences between them Scrubbing the requirements

22 Jul 2005CSE403, Summer'05, Lecture 12 Scheduling in the Context of Your Team’s Project According to data in Code Complete, the breakup of development time for a 10-15KLOC project is: 13% - architecture 20% - detailed design 20% - coding and debugging 20% - unit testing 12% - integration 15% - system testing Is this reflected on your latest schedule? How far into each phase is your project? Whose job is it to take care of scheduling on your team? Who owns and manages the schedule?

22 Jul 2005CSE403, Summer'05, Lecture 12 Scheduling in the Context of Your Team’s Project (cont.) “Once you have a delivery date and a product specification, the main problem is how to control the expenditure of human and technical resources for an on-time delivery of the product.” (Steve McConnell, Code Complete) Case: Your team has a fixed delivery date and an existing product specification, as well as relatively fixed (but flexible) human resources. What aspects can you vary and where is your leverage if a project estimate suddenly reveals that you cannot deliver for another 6 weeks?

22 Jul 2005CSE403, Summer'05, Lecture 12 Scheduling in the Context of Your Team’s Project (cont.) Case: Your team has a fixed delivery date and an existing product specification, as well as relatively fixed (but flexible) human resources. What aspects can you vary and where is your leverage if a project estimate suddenly reveals that you cannot deliver for another 6 weeks? Reduce / renegotiate functionality Push to version 2 certain non-essential features Use outside technical resources Reuse code Delegate tasks

22 Jul 2005CSE403, Summer'05, Lecture 12 Favorite Related Quotes “Doing things at the last minute is much more expensive than just before the last minute.” (Randy Pausch) “If you haven’t got time to do it right, you don’t have time to do it wrong.” “Good judgement comes from experience. Experience comes from bad judgement.” “Failing to plan is planning to fail.” “Work expands so as to fill the time available for its completion.” (Parkinson's Law, 1957)