Software Project Estimation First step in project estimation

  • Slides: 30
Download presentation
Software Project Estimation

Software Project Estimation

 • First step in project estimation – is – Project Planning • 5

• First step in project estimation – is – Project Planning • 5 major activities performed in project planning

 • Project Estimation – determine, scope of software product • Project Scheduling –

• Project Estimation – determine, scope of software product • Project Scheduling – determine, time required for each module & overall project • Risk Analysis – determine, problem complexity & risk • Quality Management Planning – determine, which quality metrics, are to be focused, while developing the software • Change Management Planning – if changes occur, how to handle them.

Software Scope & Feasibility • Software scope describes – four things – 1. The

Software Scope & Feasibility • Software scope describes – four things – 1. The function & features, that are to be delivered to end users 2. The data – which can be input & output 3. The content of the software – that is presented to the user 4. Performance, constraints, reliability & interfaces that bound the system

 • The scope can be defined – by 1. Using narrative description of

• The scope can be defined – by 1. Using narrative description of the software, obtained after Having communication with the stakeholders. 2. defining, a set of use cases.

 • After identifying scope of the project, its feasibility must be ensured. •

• After identifying scope of the project, its feasibility must be ensured. • Following are the four dimensions of software feasibility • Set of questions – based on these dimensions has to be answered

1. Technology - is the project technically feasible? - are the defects to be

1. Technology - is the project technically feasible? - are the defects to be reduced, to a level that satisfies the applications need? 2. Finance - is it financially feasible? - is the development cost – affordable & according to standards? 3. Time - will project finish, within the given time? 4. Resource - does the organization have – the resources – needed to complete the project.

Resource Estimation • After, identifying scope & feasibility – of the project, • Estimate

Resource Estimation • After, identifying scope & feasibility – of the project, • Estimate the resources, needed to complete the project • There are 3 major categories of – software engineering resources

 • People - number - skill - location • Reusable software components -

• People - number - skill - location • Reusable software components - OTS (off-the-shelf) component - full experience component - part experience component - new component • Development environment i. e. hardware & software tools - hardware - network resources

 • 4 characteristics of above mentioned resources • • Description of resource A

• 4 characteristics of above mentioned resources • • Description of resource A statement of availability Time when resources will be required Duration of the time that resource will be applied

1. People (Human Resources) • Number & The organizational position - manager, senior software

1. People (Human Resources) • Number & The organizational position - manager, senior software engineer, & so on • The skills - database, telecommunication, client/server, etc. • Location – • Are specified

2. Reusable Software Components • 4 categories of reusable software – 1. OTS (off-the-shelf)

2. Reusable Software Components • 4 categories of reusable software – 1. OTS (off-the-shelf) components - existing software acquired from a third party - or has been developed internally for a past project 2. full experience component – - the current software is same as the previous one - that was developed by the same working team 3. partial experience components 4. new components

3. Development Environment (Environmental Resources) • Software Engineering Environment (SEE) incorporates – hardware &

3. Development Environment (Environmental Resources) • Software Engineering Environment (SEE) incorporates – hardware & software • Hardware - provides a platform - for using tools - required to produce work products • Software – - Are the tools, required - To produce implementation details - Testing & debugging

Decomposition

Decomposition

 • Many times, in software engineering, - To solve the complex problem, it

• Many times, in software engineering, - To solve the complex problem, it need to be Broken into – smaller sub problems & solving each sub problem – individually • This is referred as – - decomposition or partitioning

 • Software sizing fuzzy logic sizing function point sizing standard component sizing change

• Software sizing fuzzy logic sizing function point sizing standard component sizing change sizing • Problem based estimation • Example of LOC based estimation • Example of FP based estimation • Process based estimation • Example of process based estimation • Estimation with use cases • Reconciling estimates

1. Fuzzy logic sizing • In this approach, planner must identify – • The

1. Fuzzy logic sizing • In this approach, planner must identify – • The type of application • Establish its magnitude on qualitative scale • & then refine the magnitude within the original range • Planner should also have access to – historical database of the project • So that • Estimates can be composed to actual experiences.

2. Function Point Sizing • Planner develops estimates of the information domain

2. Function Point Sizing • Planner develops estimates of the information domain

3. Standard Component Sizing • There are various standard components – used in the

3. Standard Component Sizing • There are various standard components – used in the software • These are – - subsystems, modules, - screens, reports, - interactive programs, files, - LOC and Object-level instruction • The project planner – - Estimates – the number of time, these standard components are used. • He then uses, historical project’s data – - to determine the delivered size per standard component

4. Change sizing • This approach is used - When existing software – has

4. Change sizing • This approach is used - When existing software – has to be modified - As per the requirement of - the project or user • The size of the software – is then estimated by - The number & type of reuse - Addition of code - change made in the code - deletion of code

Problem Based Estimation

Problem Based Estimation

Problem Based Estimation • Is conducted using – - LOC Based Estimation - Function

Problem Based Estimation • Is conducted using – - LOC Based Estimation - Function Point Based Estimation - Process Based Estimation - Use Case Based Estimation

 • LOC & FP based data are used in two ways, during software

• LOC & FP based data are used in two ways, during software estimation 1. These are useful to estimate the - size – each element of software

 • With a bounded statement of software scope, - A project planning process

• With a bounded statement of software scope, - A project planning process begins • & by using the statement of scope, - The software problem is decomposed into - The functions - That can be estimated individually. • LOC or FPs then estimated for each function

Example Of LOC Based Estimation • Consider an ABC project, with some important modules

Example Of LOC Based Estimation • Consider an ABC project, with some important modules – such as – 1. user interface & control facilities 2. 2 D graphics analysis 3. 3 D graphics analysis 4. Database management 5. Computer graphics display facility 6. Peripheral control function 7. Design analysis models • Estimate the project – based on LOC

 • Consider each module as separate function • The corresponding LOC can be

• Consider each module as separate function • The corresponding LOC can be estimated in the following table Function Estimated LOC User interface & control facilities 2500 2 D graphics analysis 5600 3 D graphics analysis 6450 Database management 3100 Computer graphics display facility 4740 Peripheral control function 2250 Design analysis models 7980 Total estimation in LOC 32620

 • Expected LOC for 3 d Geometric Analysis function – three point estimation

• Expected LOC for 3 d Geometric Analysis function – three point estimation is – • Optimistic estimation - 4700 • most likely estimation - 6000 • Pessimistic estimation – 10000 • S = [Sopt + (4 * Sm) + Spess ] / 6

 • Expected value [4700 + (4 * 6000) + 10000] / 6 =

• Expected value [4700 + (4 * 6000) + 10000] / 6 = 6450 A review of historical data indicates – 1. Average productivity is = 500 LOC/month 2. Average labor cost is = $6000/month Then cost for LOC can be estimated as – Cost/LOC = (6000/500) = $12/LOC By considering, total estimated LOC as = 32620 Total estimated project cost = (32620 * 12) = $391440 Total estimated project effort = (32620 / 500) = 65 Person-months