Schedule and Effort. Planning Big Project: Waterfall-ish Style 1.Figure out what the project entails Requirements, architecture, design 2.Figure out dependencies.

Slides:



Advertisements
Similar presentations
COST ESTIMATION TECHNIQUES AND COCOMO. Cost Estimation Techniques 1-)Algorithmic cost modelling 2-)Expert judgement 3-)Estimation by analogy 4)-Parkinsons.
Advertisements

CP Chapter 4 Schedule Planning.
Work Breakdown Structures
Diagram Notations
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
CS3500 Software Engineering Project Management (1) In 1986 one well-known software engineer (Tom DeMarco) made the simple but important observation: “You.
Software Design Process A Process is a set of related and (sequenced) tasks that transforms a set of input to a set of output. Inputs Outputs Design Process.
CS3773 Software Engineering Lecture 8 Software Planning and Estimation.
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
Customer Collaboration. Central Principles The customer is part of the team The customer plays key role in directing the team 1.
So far.. We have covered a) Requirements gathering: observation & interview. b) Requirements specification. c) Requirements validation. d) Design/paper.
Two main requirements: 1. Implementation Inspection policies (scheduling algorithms) that will extand the current AutoSched software : Taking to account.
Lecturer: Dr. AJ Bieszczad Chapter 33-1 Planning and managing the project Tracking project progress Project personnel and organization Effort and schedule.
Schedule & effort.
Diagram Notations
SE 555 Software Requirements & Specification Requirements Management.
Requirements
Software project management Module 1 -Introduction to process management Teaching unit 1 – Introduction Ernesto Damiani Free University of Bozen-Bolzano.
Roberta Russell & Bernard W. Taylor, III
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.
OPERATIONS MANAGEMENT for MBAs Fourth Edition
Project planning. Software project management Informal definition of management – The art of getting work done through other people Software project management.
Software Design Processes and Management
Chapter : Software Process
Toolkit 4.
2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain the purpose and various phases of the traditional systems development.
ELP Helper MSE Project Presentation I Aghsan Ahmad Major Professor: Dr. Bill Hankley.
Copyright 2006 John Wiley & Sons, Inc. Beni Asllani University of Tennessee at Chattanooga Project Management Operations Management - 5 th Edition Chapter.
Schedule & effort.
Project Management Project Planning Estimating Scheduling.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 23Slide 1 Chapter 23 Software Cost Estimation.
Diagram Notations
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.
Software Project Management
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
© 2001 Business & Information Systems 2/e1 Chapter 8 Personal Productivity and Problem Solving.
Lead Black Slide Powered by DeSiaMore1. 2 Chapter 8 Personal Productivity and Problem Solving.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
1 Project Management Software Engineering
In-Class Interviewing Activity (Grocery example) You can conduct a semi-structured/unstructured interview: How: Use the process outlined here. Individually.
Schedule & effort.
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
REAL TIME GPS TRACKING SYSTEM MSE PROJECT PHASE I PRESENTATION Bakor Kamal CIS 895.
Fall CS-EE 480 Lillevik 480f06-l10 University of Portland School of Engineering Senior Design Lecture 10 Webs Scheduling MS Project (Optional)
Collecting requirements – Different methods Defining scope – Estimates for all resources Creating the WBS – Different approaches Verifying scope – Formal.
Systems Analysis and Design in a Changing World, Fourth Edition
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Copyright 2006 John Wiley & Sons, Inc. Beni Asllani University of Tennessee at Chattanooga Project Management Operations Management - 5 th Edition Chapter.
Chapter 6 CASE Tools Software Engineering Chapter 6-- CASE TOOLS
Scheduling Work I love deadlines. I love the sound they make as they fly by. -- Douglas Adams.
Information Systems System Analysis 421 Chapter 3 Managing the Information Systems Project.
Project Management. Introduction  Project management process goes alongside the system development process Process management process made up of three.
Schedule & effort.
Project Time Management
SPI NIGHTLIES Alex Hodgkins. SPI nightlies  Build and test various software projects each night  Provide a nightlies summary page that displays all.
PROJECT PLANNING & MANAGEMENT Brittany Hamilton. PROGRESS TRACKING Do we understand customer’s needs? Can we design a system to solve customer’s problems.
Continuous Improvement. Start Simple and Continually Improve E.g., Gmail Labels 1.
Copyright 2006 John Wiley & Sons, Inc. Beni Asllani University of Tennessee at Chattanooga Project Management Operations Management - 5 th Edition Chapter.
Develop Schedule is the Process of analyzing activity sequences, durations, resource requirements, and schedule constraints to create the project schedule.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Project Scope, Time and Cost IT Project Management PM Knowledge Areas:
Project Cost Management
Schedule & effort
COCOMO Model Basic.
Tools for Visualization
More on Estimation In general, effort estimation is based on several parameters and the model ( E= a + b*S**c ): Personnel Environment Quality Size or.
I love the sound they make as they fly by.
Chapter 2: Building a System
Building a “System” Moving from writing a program to building a system. What’s the difference?! Complexity, size, complexity, size complexity Breadth.
Presentation transcript:

Schedule and Effort

Planning Big Project: Waterfall-ish Style 1.Figure out what the project entails Requirements, architecture, design 2.Figure out dependencies and priorities What has to be done in what order? 3.Figure out how much effort it will take 4.Plan, refine, plan, refine… 1

Example: Twitter Repression Report 2 Repressed citizen UC#1: Report repression UC#2: Clarify tweet Concerned public UC#3: View reports UC#3a: View on map UC#3b: View as RSS feed

One Possible Architecture 3 Twitter Façade Twitter Façade Geocoder Façade Geocoder Façade Database Apache+PHP Mapping Web site Google maps RSS Web service RSS Web service Tweet processor Tweet processor MySQL

Activity Graph: shows dependencies of project’s activities Filled circles for start and finish One circle for each milestone Labeled arrows indicate activities What activity must be performed to achieve a milestone? Dashed arrows indicate null activities 4

Activity Graph: shows dependencies of project’s activities 5 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b 4 4 Do Twitter facade Do geocode facade Do tweet processor Do map output Test & debug map Test & debug RSS Advertise 3 3 Milestone 2: DB contains real data Milestone 3: DB contains real, reliable data Milestone 4: Ready for public use Test & debug components Design db

Effort Estimate for Activities Expert judgment Records of similar tasks Effort-estimation models Any combination of above 6

Expect to Refine Effort Estimations 7

Effort: Expert Judgment Not a terrible way to make estimates, but… Often vary widely Often wrong Can be improved through iteration and discussion How long to do the following tasks: Read tweets from Twitter via API? Send tweets to Twitter via API? Generate reports with Google maps? 8

Effort: Records of Similar Tasks Record the size of the component (lines of code) Breakdown # of lines added, reused, modified, deleted Record time taken Breakdown planning, design, implementing, testing, … Refer to this data when making future predictions aka Personal Software Process (PSP) Can also be done at a team level 9

Effort: Estimation Models Algorithmic (e.g., COCOMO) Inputs: description of team + project Outputs: estimate of effort required Machine learning (e.g., CBR) Gather descriptions of old projects + time taken Create a model (aka custom algorithm) (Same inputs / outputs as algorithmic estimation) 10

COCOMO-like Models 1.Assess the system’s complexity 2.Compute the number of application points 3.Assess the team’s productivity 4.Compute the effort 11

1. Assessing Complexity 12 e.g.: A screen for editing the database involves 6 database tables, and it has 4 views. This would be a “medium complexity screen”. This assessment calls for lots of judgment.

2. Computing Application Points (a.p.) 13 e.g.: A medium complexity screen costs 2 application points. 3GL component = reusable programmatic component that you create

3. Assessing Team Capabilities 14 e.g.: Productivity with low experience + nominal CASE… productivity = (7+13)/2 = 10 application points per person-month (assuming NO vacation or weekends!!!!!)

Typical CASE Tools Configuration management Data modeling Model transformation Program transformation Refactoring Source code generation UML 15 CASE: Computer Aided Software Engineering

Identify Screens, Reports, Components 16 Twitter Façade Twitter Façade Geocoder Façade Geocoder Façade Database Apache+PHP Mapping Web site Google maps RSS Web service RSS Web service Tweet processor Tweet processor MySQL 3GL components - Tweet processor - Twitter façade - Geocoder façade Reports - Mapping web site - RSS web service

Use Complexity to Compute Application Points 17 3GL components - Tweet processor - Twitter façade - Geocoder façade Reports - Mapping web site - RSS web service Simple model assumes that all 3GL components are 10 application points. Displays data from only a few database tables (3? 4?) Neither has multiple sections.  Each is probably a “simple” report, 2 application points. 2*2 = 4 a.p. 3*10 = 30 a.p = 34 a.p.

Assess the Team’s Productivity and Compute Effort E.g., Extensive experience with websites, XML No experience with Twitter or Geocoders Since 20 of 34 a.p. are on new stuff, assume very low experience (4) and no CASE maturity (4) Productivity = (4 + 4) / 2 = 4 a.p. / month So 34 a.p. would take 8.5 person-months Note: assumes no vacation or weekends 18

Distribute Person-months over Activity Graph 19 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b Do Twitter façade (1.25) Do geocode façade (1.25) Design db (0.25) Do tweet processor (1.00) Do map output (0.25) Do RSS output (0.25) Test & debug map (0.25) Test & debug RSS (0.25) Advertise (1.0?) Test & debug components (3.75)

The Magic Behind Distributing Person-months Divide person-months between implementation and other activities (design, testing, debugging) Forgot to include an activity for testing and debugging components, revise activity graph Notice that some activities aren’t covered E.g., Advertising; either remove from diagram or use other methods of estimation 20

Do You Believe Those Numbers? Ways to get more accurate numbers: Revise numbers based on expert judgment or PSP Perform a “spike”: try something out, see how long it takes Use more sophisticated models to analyze how long components will really take User several models and compare Expect to revise estimates as progress proceeds 21

Further Analysis May Revise Estimates 22 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b Do Twitter façade (1.50) Do geocode façade (0.75) Design db (0.25) Do tweet processor (0.50) Do map output (0.50) Do RSS output (0.25) Test & debug map (0.25) Test & debug RSS (0.25) 3 3 Test & debug components (4.25)

Critical Path: Longest Route Through Activity Graph Sort all the milestones in “topological order” i.e., Sort milestones in terms of dependencies For each milestone (in order), compute the earliest that the milestone can be reached from its immediate dependencies 23

Example: Computing Critical Path 24 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b Do Twitter façade (1.50) Do geocode façade (0.75) Design db (0.25) Do tweet processor (0.50) Do map output (0.50) Do RSS output (0.25) Test & debug map (0.25) Test & debug RSS (0.25) 3 3 Test & debug components (4.25)

Example: Tightening the Critical Path 25 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b Do Twitter façade (1.50) Do geocode façade (0.75) Design db (0.25) Do tweet processor (0.50) Do map output (0.50) Do RSS output (0.25) Test & debug map (0.25) Test & debug RSS (0.25) Test & debug components (4.25) What if we get started on the reports as soon as we have a (buggy) version of the database and components?

Slack Time Activity slack = latest possible start time – earliest possible Indicates how much “spare time” that activity has In case something goes wrong Activities on the critical path always have zero slack time 26

Example: Tightening the Critical Path 27 1a1a 1a1a 1c1c 1c1c 2 2 1b1b 1b1b 3a3a 3a3a 3b3b 3b3b Do Twitter façade (1.50) Do geocode façade (0.75) Slack = 0.75 Design db (0.25) Slack = 1.25 Do tweet processor (0.50) Do map output (0.50) Slack = 3.50 Do RSS output (0.25) Slack = 3.75 Test & debug map (0.25) Slack = 3.50 Test & debug RSS (0.25) Slack = Test & debug components (4.25) e.g.: If the finish is done at 6.25, then 3a cannot start later than The slack is then latest start – earliest = 6.00 – 2.50 = 3.50.

Gantt Chart Shows activities on a calendar Useful for visualizing ordering of tasks and slack Useful for deciding how many people to hire One bar per activity Line (or arrows) show dependencies between activities Milestones appear as diamonds 28

Example Gantt Chart 29 Gantt chart quickly reveals that we only need to hire two people (blue & green)

Next Steps Final Vision Statement DUE THIS FRIDAY!! (11/21) Midterm due 11/25 Homework #6 due 12/03 30