Schedule & effort.

Slides:



Advertisements
Similar presentations
Work Breakdown Structures
Advertisements

Diagram Notations
Schedule and Effort. Planning Big Project: Waterfall-ish Style 1.Figure out what the project entails Requirements, architecture, design 2.Figure out dependencies.
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.
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.
1 RUP Workshop By George Merguerian Senior Partner Business Management Consultants
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.
Diagram Notations
CS 501: Software Engineering Fall 2000 Lecture 4 Management I: Project Management.
SE 555 Software Requirements & Specification Requirements Management.
Requirements
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 Management Chapter 3 BUSI 2106 – Operations Management.
Planning & Scheduling Your Projects 1. Planning Elements Work Breakdown Structure (WBS) ◦Identifying the tasks and organizing them Scheduling the WBS.
Software Design Processes and Management
University of Toronto Department of Computer Science © 2001, Steve Easterbrook CSC444 Lec22 1 Lecture 22: Software Measurement Basics of software measurement.
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.
CS 5150 Software Engineering Lecture 6 Project Management.
Lecture 7. Review of Lecture 6 Project Scheduling: The process of defining project activities, determining their sequence, estimating their duration Scheduling.
Chapter 3 Project Management Details Tracking Project Progress Project Estimation Project Risk Analysis Project Organization RUP Project Management Workflow.
In-Class Interviewing Activity (Grocery example) You can conduct a semi-structured/unstructured interview: How: Use the process outlined here. Individually.
Schedule & effort.
Cost Estimation What is estimated? –resources (humans, components, tools) –cost (person-months) –schedule (months) Why? –Personnel allocation –Contract.
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)
CS 501: Software Engineering Fall 1999 Lecture 6 Management I: Project Management.
UHD::3320::CH121 DESIGN PHASE Chapter 12. UHD::3320::CH122 Design Phase Two Aspects –Actions which operate on data –Data on which actions operate Two.
Collecting requirements – Different methods Defining scope – Estimates for all resources Creating the WBS – Different approaches Verifying scope – Formal.
INFO 636 Software Engineering Process I Prof. Glenn Booker Week 3 – Planning and Measuring 1INFO636 Week 3.
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Effort.vs. Software Product “Quality” Effort Product “Quality” Which curve? - linear? - logarithmic? - exponential?
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
Estimation using COCOMO
Function Points Synthetic measure of program size used to estimate size early in the project Easier (than lines of code) to calculate from requirements.
Estimating “Size” of Software There are many ways to estimate the volume or size of software. ( understanding requirements is key to this activity ) –We.
Schedule & effort.
DECISION MODELING WITH MICROSOFT EXCEL Chapter 14 Copyright 2001 Prentice Hall Publishers and Ardith E. Baker Part 3 andand PERT CPM.
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.
6/6/ SOFTWARE LIFE CYCLE OVERVIEW Professor Ron Kenett Tel Aviv University School of Engineering.
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.
BSBPMG503A Manage Project Time Manage Project Time Project Time Processes Part 2 Diploma of Project Management Qualification Code BSB51507 Unit Code.
Software project management 3rd Umer khalid Lecturer University of Lahore Sargodha campus.
Project Scope, Time and Cost IT Project Management PM Knowledge Areas:
Systems Analysis and Design in a Changing World, Fourth Edition
Project Cost Management
Schedule & effort
Having Fun with Gantt Version 1.2 (Dec 2017) Mark Kelly Vceit.com.
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.
Software Cost Estimation
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 & effort

1.Figure out what the project entails – Requirements, architecture, design 2.Figure out dependencies & priorities – What has to be done in what order? 3.Figure out how much effort it will take 4.Plan, refine, plan, refine, … Planning big projects

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

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

Activity graph: shows dependencies of a project’s activities 1a 1c 2 1b 3a 3b 4 3 Milestone 2: DB contains real data Milestone 3: DB contains real, reliable data Milestone 4: Ready for public use

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

Ways to figure out effort for activities – Expert judgment – Records of similar tasks – Effort-estimation models – Any combination of the above Effort

Expect to refine effort estimates Pfleeger & Atlee

Not a terrible way to make estimates, but… – Often vary widely – Often wrong – Can be improved through iteration & 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? Effort: expert judgment

Personal software process (PSP) – Record the size of a component (lines of code) Breakdown # of lines added, reused, modified, deleted – Record time taken Breakdown planning, design, implement, test, … – Refer to this data when making future predictions Can also be done at the team level Effort: records of similar tasks

Algorithmic (e.g.: COCOMO) – Inputs = description of project + team – Outputs = estimate of effort required Machine learning (e.g.: CBR) – Gather descriptions of old projects + time taken – Run a program that creates a model  You now have a custom algorithmic method Same inputs/outputs as algorithmic estimation method Effort: estimation models

1.Assess the system’s complexity 2.Compute the # of application points 3.Assess the team’s productivity 4.Compute the effort Using COCOMO-like models

Assessing complexity 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. Pfleeger & Atlee

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

Assessing team capabilities e.g.: Productivity with low experience + nominal CASE… productivity = (7+13)/2 = 10 application points per person-month (assuming NO vacation or weekends!!!!!) Pfleeger & Atlee

“Some typical CASE tools are: – Configuration management tools – Data modeling tools – Model transformation tools – Program transformation tools – Refactoring tools – Source code generation tools, and – Unified Modeling Language” – Wikipedia A word about CASE tools

Identify screens, reports, components Twitter Façade Geocoder Façade Database Apache+PHP Mapping Web site Google maps RSS Web service 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 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. 3*10 = 30 a.p. 2*2 = 4 a.p = 34 a.p.

At one company where I worked… – Extensive experience with websites, XML – But no experience with Twitter or geocoders – Since 20 of the 34 a.p. are on this new stuff, assume very low experience – Virtually no CASE support… very low  productivity = (4 + 4) / 2 = 4 a.p. / month So 34 a.p. would take 8.5 person-months Note: this assumes no vacation or weekends Assess the team’s productivity & compute effort

Distribute the person-months over the activity graph 1a 1c 2 1b 3a 3b 4 3

Divide person-months between implementation and other activities (design, testing, debugging) – Oops, forgot to include an activity for testing and debugging the components… revise activity graph Notice that some activities aren’t covered – E.g.: advertising; either remove from diagram or use other methods of estimation The magic behind distributing person-months

Ways to get more accurate numbers: – Revise numbers based on expert judgment or PSP – Perform a “spike”… try something out and actually see how long it takes – Use more sophisticated models to analyze how long components will really take – Use several models and compare Expect to revise estimates as project proceeds Do you believe those numbers?

Further analysis may give revised estimates… 1a 1c 2 1b 3a 3b 3

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 Critical path: longest route through the activity graph

Example: computing critical path 1a 1c 2 1b 3a 3b 3

Example: tightening the critical path 1a 1c 2 1b 3a 3b 3 What if we get started on the reports as soon as we have a (buggy) version of the database and components?

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

Example: computing slack time 1a 1c 2 1b 3a 3b 3 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.

Shows activities on a calendar – Useful for visualizing ordering of tasks & slack – Useful for deciding how many people to hire One bar per activity Arrows show dependencies between activities Milestones appear as diamonds Gantt Chart

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

Did you notice that this lecture started with a set of requirements and an architecture? In contrast, your textbook assumes that you are scheduling before you have requirements and an architecture. What are the pros and cons of each approach? Compare this lecture to your textbook

Updated vision statement – Your chance for extra credit!!!! – Make some small improvements to your vision statement & upload to blackboard – See assignment for details Midterm will be released this evening. – Take-home midterm – Will be an individual exam – Counts for approx. 13% of your grade What’s next for you?