CS48720-1/39 Illinois Institute of Technology CS487 Software Engineering David A. Lash.

Slides:



Advertisements
Similar presentations
Estimation using COCOMO More Science, Less Art. COCOMO History COCOMO History Constructive Cost Model Dr. Barry Boehm TRW in 1970s COCOMO
Advertisements

Defining activities – Activity list containing activity name, identifier, attributes, and brief description Sequencing activities – determining the dependencies.
Project Estimation: Metrics and Measurement
Chapter 26 Estimation for Software Projects
Software Cost Estimation Main issues:  What factors determine cost/effort?  How to relate effort to development time?
ICS Management Poor management is the downfall of many software projects Software project management is different from other engineering management.
May 11, 2004CS WPI1 CS 562 Advanced SW Engineering Lecture #5 Tuesday, May 11, 2004.
Ch8: Management of Software Engineering. 1 Management of software engineering  Traditional engineering practice is to define a project around the product.
1 COST ESTIMATION Basics, COCOMO, FP. 2 What is estimated? TIME MONEY TIME: –duration, chronological weeks, months, years –effort, person-month (man-month)
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
Software Process CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology December 17, 2002.
Software Project Planning Infsy 570 Dr. R. Ocker.
1 Cost Estimation CIS 375 Bruce R. Maxim UM-Dearborn.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Information System Economics Software Project Cost Estimation.
Capability Maturity Model Part One - Overview. History Effort started by SEI and MITRE Corporation  assess capability of DoD contractors First.
Cmpe 589 Spring Software Quality Metrics Product  product attributes –Size, complexity, design features, performance, quality level Process  Used.
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 22 Instructor Paulo Alencar.
COCOMO Models Ognian Kabranov SEG3300 A&B W2004 R.L. Probert.
After Lesson 6 next is Lesson 13 to fit topic on Software Development SOFTWARE PROJECT MANAGEMENT.
J. R. Burns, Texas Tech University Capability Maturity Model -- CMM n Developed by the Software Engineering Institute (SEI) in 1989 –SEI is a spinoff.
Chapter 6 : Software Metrics
Project Management Estimation. LOC and FP Estimation –Lines of code and function points were described as basic data from which productivity metrics can.
By K Gopal Reddy.  Metrics in software are of two types.direct and indirect.  Function points as indirect metrics.  Function points are used to measure.
A Brief Introduction to COCOMO Hossein Saiedian EECS810: Software Engineering.
Group Members: Ayush Newatia, Barry Foye, Billy Felton, Kevin Anderson, Shahnaz Begum and Adam Jasinski Constructive Cost Model is a technique used to.
These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 6/e and are provided with permission by.
1 Lecture 17: Chapter 26 Estimation for Software Projects Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
1 Chapter 23 Estimation for Software Projects. 2 Software Project Planning The overall goal of project planning is to establish a pragmatic strategy for.
T. E. Potok - University of Tennessee CS 594 Software Engineering Lecture 3 Dr. Thomas E. Potok
Lecture 4 Software Metrics
10/27/20151Ian Sommerville.  Fundamentals of software measurement, costing and pricing  Software productivity assessment  The principles of the COCOMO.
Cost Estimation. Problem Our ability to realistically plan and schedule projects depends on our ability to estimate project costs and development efforts.
Project Estimation Model By Deepika Chaudhary. Factors for estimation Initial estimates may have to be made on the basis of a high level user requirements.
Estimating Software Projects & Activity Scheduling in the Dynamic, Multi-Project Setting: Choosing Heuristics Through Deterministic Simulation.
Cmpe 589 Spring 2006 Lecture 2. Software Engineering Definition –A strategy for producing high quality software.
SFWR ENG 3KO4 Slide 1 Management of Software Engineering Chapter 8: Fundamentals of Software Engineering C. Ghezzi, M. Jazayeri, D. Mandrioli.
Software Project Estimation IMRAN ASHRAF
©1999 Addison Wesley LongmanSlide 3.1 Managing IS Projects Planning –Decomposing Project into Activities –Estimating resources –Developing a schedule –Setting.
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.
Effort Estimation In WBS,one can estimate effort (micro-level) but needed to know: –Size of the deliverable –Productivity of resource in producing that.
Project, People, Processes and Products Project management skills – schedule, monitoring, risk management, … People management skills – delegation, mentoring,
9/8/99Lecture 51 CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 8, 1999 Marge Holtsinger.
CIS 4251 / CIS 5930 SOFTWARE DEVELOPMENT Fall 1999 Sept. 1, 1999 Marge Holtsinger.
1 Week 11 Software Engineering Fall Term 2015 Marymount University School of Business Administration Professor Suydam.
INFSY 570 DR. R. OCKER Software Project Planning.
بشرا رجائی برآورد هزینه نرم افزار.
Estimation Questions How do you estimate? What are you going to estimate? Where do you start?
Chapter 33 Estimation for Software Projects
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Project Estimation
Software Planning
Constructive Cost Model
COCOMO Model Basic.
Personal Software Process Software Estimation
Software Metrics “How do we measure the software?”
Activities During SPP Size Estimation
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.
COCOMO Models.
Cost Estimation Van Vliet, chapter 7 Glenn D. Blank.
Chapter 33 Estimation for Software Projects
Software metrics.
Software Engineering: A Practitioner’s Approach, 6/e Chapter 23 Estimation for Software Projects copyright © 1996, 2001, 2005 R.S. Pressman & Associates,
Software Cost Estimation
COnstructive COst MOdel
Software Project Management
Chapter 26 Estimation for Software Projects.
Presentation transcript:

CS /39 Illinois Institute of Technology CS487 Software Engineering David A. Lash

CS /39 Project Elements u The planning & monitoring & control of people, process and event as software evolves – 2-4 developers working together may not need much but... What about 30-40, 300? – Organized customer communication, right development process, estimated effort, quality checkpoints, on-going monitoring of tasks – Output is project plan with set(s) of tasks. – Manage, People, Product, Process and Project

CS /39 Problem u What is the appropriate level of rigor? u What, if any, standards apply? u Software Scope – Context. u How does this item fit into a larger picture – Information objective. u What is the customer going to see. – Function and performance. u How is the software going to process the information.

CS /39 People u All people who work in the development process are not interchangeable. u Many people find it objectionable to be called a resource. u Any time there are more than 1 person working to solve a problem, an organization is recommended

CS /39 Development Team u What is teamwork? – Joint action by a group of people, in which individual interests are subordinated to group unity and efficiency; coordinated effort, as of an athletic team. u Team size about 4 people. Requires minimal training for the leader. u Each individual should have a unique primary function i.e. leader, librarian, developer, tester. u Periodically switch functions to cross train.

CS /39 Development Team Organization u Democratic decentralized – no traditional leader. Works best when the average experience is 15 years +. Consensus decisions u Controlled decentralized – a defined leader with secondary leaders. Multiple teams. u Controlled Centralized – Managed by a team leader. Good for a cross section of people. Lead gets top-level decisions and internal coordination

CS /39 Process u Selecting the right process? – Waterfall – Traditional

CS /39 Process – Incremental – Solves a number of problems – Spiral – Must be adopted at the enterprise level.

CS /39 How do you evaluate process? u Are you using the process correctly? u Are you using the correct process? u What can you do better?

CS /39 Capability Maturity Model u Developed and controlled by the Software Engineering Institute (SEI) u What is the CMM?  Arbitrary  Not a process  Develop for the DOD to evaluate software contractors.  Being adopted by a number of regulators.  Defines activities that should be going on.  Arranged to make easy to progress through the 5 levels.

CS /39 CMM - Review 1. Chaotic - Productivity and Quality are based on individual effort. No control 2. Repeatable - Requirements Management, Project Planning, Quality Assurance, Configuration Management, Subcontractor management 3. Defined - Organization Process Focus, Organization Process Definition, Training Program 4. Managed - Quantitative Process Management, Software Quality Management 5. Optimizing - Defect Prevention, Technology change management, Process change management

CS /39 Project Planning u What are the tasks necessary for this project? u How do these tasks relate to each other? u Planning and scheduling are different: – Planning defines the tasks, personnel and equipment necessary to deliver the product. – To determine personnel requirements you must estimate the size of each task. – Planning is done at the beginning of the project when you know the least about the problem

CS /39 Estimating u How long is the project going to take? u First, how long is are the tasks going to take?

CS /39 Estimating u Done early in the process high degree of error u Can only accurately estimate the next step. u Must re-plan at the beginning of each phase. u Establish size metric. u Estimation requires – Experience building this specific application – Knowledge of the Environment – History of similar projects

CS /39 General Estimation Formula Where E is one person effort A, B and C are empirically derived constants EV is an estimation of some measure of size The values of A & B are calibrated for local environment using regression analysis and real data.

CS /39 Three-point u Three-point or expected value Where S opt - Optimistic Estimate S m - Most-likely Estimate S pess - Pessimistic Estimate EV- Estimation Variable

CS /39 Three-point u For example, assume to build a software module. Have some LOC estimates: – optimistic – most likely – pessimistic – ( * )/6 = 6800 u Can also be useful for time to complete

CS /39 Function Points u Good method for IT projects. Use Feature Points for embedded and systems projects u An estimation technique that uses the types of I/O for a problem to determine the size of the project u Called an early measure of size u Function Points convert directly to KLOC

CS /39 Function Points u Method – Count of Information elements u Input files u Output files u Inquiry transactions u Logical files u External interfaces – Total “complexity” factors

CS /39 Function Point Counting

CS /39 Function Points Calculation Where: - FP unadjusted = previous calculation - F i = sum of complexity adjustment values based on subjective ratings from 0-5 on 14 complexity items: no influence incidental moderate average significant Essential

CS /39 Complexity Factors

CS /39 Complexity Factors

CS /39 COCOMO Estimation u COnstructive COst Model - BB[89] COCOMO II BB[96] u Uses function points, KLOC or object points (A BB funct PT like metrics with different elements) u A hierarchy of estimation models for prototype, requirements established and post-architecture stages – Basic - Compute development effort as a function of size in KLOC – Intermediate - Compute development effort as a function of size and cost drivers (HW, people) – Advanced - Intermediate version plus assessment of cost driver impact on each step (e.g., analysis design, architecture)

CS /39 COCOMO Project Types u Organic – In-house development – Small teams with extensive application experience – Characteristics u Stable development environment u Minimal need for innovative data processing u Low premium on early completion

CS /39 COCOMO Project Types u Semidetached – One of two types of projects 1.An intermediate level of the project 2.A mixture of the organic and embedded – Characteristics u Team members have an intermediate level of experience u Team has a wide mixture of experienced and inexperienced people u Team members have experience related to some aspects of the system under development, but not others

CS /39 COCOMO Project Types u Embedded – Not limited to our current definition of embedded meaning firmware, but also includes large scale turn-key system – A major distinguishing factor is a need to operate within tight constraints – Require a high degree of rigor

CS /39 COCOMO: Basic Where E = Effort in person months D = Chronological months

CS /39 COCOMO: Basic

CS /39 COCOMO: Intermediate

CS /39 COCOMO: Intermediate Where E = Effort in person months D = Chronological months EAF = Effort Adjustment Factor - based on subjective rating from very low to extra high on 15 project attributes

CS /39 Effort Adjustment Cost Factors

CS /39 Effort Adjustment Cost Factors

CS /39 COCOMO example u Suppose used three-point analysis to estimate 33,200 LOC. u Using basic model get – E = 2.4(KLOC)**1.05 – -2.4(33.2)**1.05 – 96 person months u Duration would be – D = 2.5E**.38 – 2.5(95)**.38 – 12.3 months u Number of people = N=E/D N=96/12.3 = 8

CS /39 Project Estimation Problems u No Requirements u No Designs u What is a KLOC? – 1000 lines of source code u Are all definitions of a line of code the same?

CS /39 Project Scheduling and Tracking u When will the project finish? u Where is the project now?

CS /39 Project Scheduling u Project Scheduling – Adding resources and personnel to establish a list of dates that monitor the development process – The last completion is when the project is complete – Adding more personnel will make it later. It also can change a projects profile – It is always better to be early than late

CS /39 Project Scheduling Methods u PERT/CPM Charts – Calculate the path with the least amount of slack u Slack is the amount of time between when a task can begin and must begin u Timeline Charts

CS /39 Project Tracking u Get status in a timely manner – Weekly at a low level – Monthly at a high level u Time sheet status reports – Separate time into project and non-project – Project time bill to specific task not project, category or charge code u To avoid 90% complete for 80% of the project. Use Earned Value to determine % completed

CS /39 Project Tracking u Earned Value tells you where you are based on the completed tasks of your plan u Earned Value = task / project * 100 u Example: – In a 1000 hour project, a 15 hour task is 1.5% of the project. When it completes it adds 1.5% to the completion u Projected Earned Value tells you where your plan should be