softwareproject planning

43

Upload: saurabhshertukde

Post on 20-Jan-2015

1.411 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Softwareproject planning
Page 2: Softwareproject planning

Objectives: To provide a framework that enables the

manager to make reasonable estimates of resources, cost and schedule.

Activities associated with project planning :1.Determination of software scope :

Describes the function, performance constraints, interfaces of the software.

Page 3: Softwareproject planning

How to determine the scope ?Conduct a preliminary meeting /interview between the customer and

developer(analyst)Set of questions asked :1. Context free questions :Questions that determine the overall goal of the system and identifies the people who

want a solution.

Page 4: Softwareproject planning

Eg:Who is behind the request for the work?Who will use the soln ?What will be the economic benefit of a successful soln. ?1. Next set of questions :What problems will the soln. address ?What should be the most important goal of the

proposed system?What are the functionalities expected of the

software ?

Page 5: Softwareproject planning

3. Meta questions : Focuses on the effectiveness of the meeting .

1.Are my questions relevant to the problem that you have ?

2.Am I asking too many questions ?3.Should I be asking anything else ?4.Can anyone else provide additional

information .

Page 6: Softwareproject planning

2. Determine feasibility.Ask Is the software feasible ?4 types of feasibility :1.Technical feasibility :

Is the project technically feasible ? Does the organization have the necessary

h/w , s/w and operating system environment required to deploy the software ?

Page 7: Softwareproject planning

2. Cost The project financially feasible ?Can the development be completed at the

cost of the client / can the market afford it.

3. Time :Will the project be completed within the time

frame dictated by the customer.

Page 8: Softwareproject planning

3. Analyze the risk for the project .

Page 9: Softwareproject planning

4. Estimate the resources required to accomplish the software development effort.

Three major categories of software engineering resources◦ People◦ Development environment◦ Reusable software components

Each resource is specified with◦ A description of the resource◦ A statement of availability◦ The time when the resource will be required◦ The duration of time that the resource will be applied

Time windowOf the resource

Page 10: Softwareproject planning

1. Human ResourceFactors considered are --a) Skills : * Organizational Position : Manager, senior

s/w engineer.* Specialty : Telecomm, database ,

client/server.b) Location : For large projects software team has to be geographically

dispersed across a no. of different locations. Hence location of each human resource is specified.c) No. of people required for a software project. Estimate the development effort (person –month)

Page 11: Softwareproject planning

2) Reusable software resource :4 resource categories are considered :

Off-the-shelf components Acquired from 3rd party or developed internally for a

past project Ready for use on the current project and have been

fully validated Full-experience components

Existing specifications, designs, code or test data (developed for past projects) that are similar to the software to be built for the current project

Members of the current software team have had full experience in the application area represented by these components; therefore low-risk modifications

Page 12: Softwareproject planning

Partial-experience components (high risk) Existing specifications, designs, code or test data

(developed for past projects) that are related to the software to be built for the current project

Require substantial modification Members of the team have only limited experience;

therefore modifications required for partial-experience components have a fair degree of risk

New components Software components that must be built by the

software team specifically for the needs of the current project

Page 13: Softwareproject planning

3) Environmental resources * Software tools, hardware, network resources. * Prescribe the time window required for these

resources and verify that these will be available.

Page 14: Softwareproject planning

project

people

skills

number

location

reusable software

OTS components

full-experience components

new components

part.-experience components

environment

hardware

software tools

network resources

Page 15: Softwareproject planning

5) Estimate cost and effort Decomposition techniques

◦ These take a "divide and conquer" approach◦ Cost and effort estimation are performed in a stepwise

fashion by breaking down a project into major functions and related software engineering activities

Empirical estimation models◦ Offer a potentially valuable estimation approach if the

historical data used to seed the estimate is good

Page 16: Softwareproject planning

Decomposition Technique Before an estimate can be made and

decomposition techniques applied, the planner must ◦ Understand the scope of the software to be built◦ Generate an estimate of the software’s size

Then one of two approaches are used◦ Problem-based estimation

Based on either source lines of code or function point estimates

◦ Process-based estimation Based on the effort required to accomplish each task

Page 17: Softwareproject planning

Problem based decomposition1)LoC based estimationEg: Consider a software package to be developed for a CAD

application for mechanical components.The CAD s/w will accept 2-D and 3-D geometric data from an

engineer. The engineer will interact and control the CAD system through a UI. All geometric data and other supporting info. Will be maintained in a DB.

Design analysis modules will be developed to produce the required o/p which will be displayed on a variety of graphics devices. The s/w will be designed to control and interact with peripheral devices that include a mouse, digitizer, laser printer and plotter.

Page 18: Softwareproject planning

Major s/w functions :1.UI and Control facilities.2.2-D geometric analysis.3.3-D geometric analysis.4.DBMS5.Computer graphics and display facility.6.Peripheral control function.7.Design analysis modules

Page 19: Softwareproject planning

Step1 : A range of LOC estimates is developed for each function.

Eg : LOC estimate for 3-D geometric analysis: optimistic -- 4600

Most likely – 6900 Pessimistic -- 8600Step2 :Expected value ‘S’ can be computed

S = (Sopt + 4Sm + Spess)/6

Page 20: Softwareproject planning

Estimation table ---1. UI and Control facilities. 23002. 2-D geometric analysis. 53003. 3-D geometric analysis. 68004. DBMS 33505. Computer graphics and display facility. 49506. Peripheral control function. 2100

7. Design analysis modules 8400

Step 3 : Estimated LOC 33200

Page 21: Softwareproject planning

Step 4 : Review the historical data to find average productivity

Step 5 : Based on historical productivity data and LOC estimate--

Estimate the project cost and effortEg : Avg. productivity (from historical data) =620 LOC/pmLet the labor rate be $8000 per monthTherefore Cost /LOC= $8000/620= $13Total LOC is 33200Therefore Project Cost = 33200 x 13 = #431000Effort in person month = 33200/620=54 person month

Page 22: Softwareproject planning

Drawbacks : Focuses only on the coding activity. Total effort estimation should include effort put

in analysis, design , testing and maintenance also.

LOC is language dependent. Style of Programming varies from one person to

another. Different programmers get different LOC.

Difficult to estimate LOC from problem specification.

Page 23: Softwareproject planning

Measures size not in terms of LOC of each function but from user’s point of view i.e on the basis of what the user requests and receives in return from the system.

Based on the countable measures of software’s information domain and assessment of software complexity.

5 information domain characteristics are determined and are counted :

1. No. of user inputs : Individual data items input by the user are not counted in the calculation of the no. of inputs, but a group of related inputs are considered as a single input. Eg. While entering the data concerning an employee, to employee pay roll software , the data items age, sex, name, address etc.

Page 24: Softwareproject planning

are considered as a single input.2. No. of user outputs : Refers to reports, screen outputs, error messages produced. Individual items within a report/screen are not considered.3. No. of inquiries : No. of interactive queries which are made by the users. Requests for instant access to information. Eg. Retrieve account balance.4. No. of files : Each logical file is counted.5. Number of interfaces : Information exchanges with

other systems are counted.

Page 25: Softwareproject planning
Page 26: Softwareproject planning

FP = count-total X [0.65 + 0.01 X Sum (Fi)]

Sum (Fi)]------------Answer the following questions(14) using a scale of [0-5]: 0

not important; 5 absolutely essential. We call them influence factors (Fi).

1. Does the system require reliable backup and recovery?2. Are data communications required?3. Are there distributed processing functions?4. Is performance critical?5. Does the system require on-line data entry?

Page 27: Softwareproject planning

2) Process Based EstimationThe process is decomposed into a relatively small set of tasks and the effort required to accomplish each task is estimated.Steps in process-based estimation --1. Delineation of software functions obtained from the project scope.2. A series of software process activities must be performed for each function.3. Once problem functions and process activities are combined, the planner estimates the effort (e.g., person- months) that will be required to accomplish each software process activity for each software function.

Page 28: Softwareproject planning

The following table depicts the process based estimation for developing a CAD software System :

Page 29: Softwareproject planning

Based on an average burdened labor rate of $8,000 per month,

the total estimated project cost is

8000*46=

$368,000

and the estimated effort is 46 person-months.

Page 30: Softwareproject planning

A formula is used to estimate effort using size (LOC) as an input.

The formula is derived from data collected from past software projects

COCOMO (Constructive Cost Model ) is an empirical estimation model developed by Barry Boehm.

COCOMO I has 3 levels: 1. Basic COCOMO2. Intermediate COCOMO3. Advanced COCOMO

Page 31: Softwareproject planning

1. Basic COCOMO : Applies to 3 classes of software projectsa) Organic projects :

• Relatively small, simple software projects.• Small teams with good application

experience work to a set of less than rigid requirements.

• Similar to the previously developed projects.• relatively small and requires little innovation.Eg: Leave management project with intranet

facilities

Page 32: Softwareproject planning

b) Semi-Detached Projects

Intermediate (in size and complexity) software projects in which teams with mixed experience levels must meet a mix of rigid and less than rigid requirements.

Eg : S/w project for a large bank, including daily customer operations and ATM service.

Page 33: Softwareproject planning

c) Embedded Projects :

Software projects that must be developed

within a set of tight hardware, software, and

operational constraints.Eg. S/w for a nuclear power plant

Page 34: Softwareproject planning

E=a (KLOC) b

D=c (E) d

P=E/D

Where E is the effort applied in person-months,

D is the development time in chronological months,

P is the number of people required.

Page 35: Softwareproject planning

Software project a b c d

Organic 2.4 1.05 2.5 0.38 Semi-detached 3.0 1.12 2.5 0.35 Embedded 3.6 1.20 2.5 0.32

Page 36: Softwareproject planning

2. The Intermediate COCOMO

Is an extension of the Basic COCOMO. Considers a set of "cost driver attributes" that

can be grouped into four major categories, each with a number of subcategories:

1. Product attributes 2. Hardware attribute 3. Personnel attributes 4. Project attributes

Page 37: Softwareproject planning

Product attributes Required software reliability Size of application database Complexity of the product Hardware attributes Run-time performance constraints Memory constraints Volatility of the virtual machine environment Required turnabout time Personnel attributes Analyst capability Software engineer capability Applications experience Virtual machine experience Programming language experience Project attributes Use of software tools Application of software engineering methods Required development schedule

Page 38: Softwareproject planning

Each of the 15 attributes is rated on a 6-point scale that ranges from "very low" to "extra high" (in importance or value).

Based on the rating, an effort multiplier is determined from the table below. The product of all effort multipliers results in an 'effort adjustment factor (EAF). Typical values for EAF range from 0.9 to 1.4.

Page 39: Softwareproject planning
Page 40: Softwareproject planning

The Intermediate Cocomo formula now takes the form...E=EAF *a * (KLOC)b

where E is the effort applied in person-months, KLOC is the estimated number of delivered lines of

code for the project and EAF is the factor calculated above. The coefficient

a and the exponent b are given in the next table. Software project ai bi

Organic 3.2 1.05 Semi-detached 3.0 1.12 Embedded 2.8 1.20

Note : D and P are calculated in the same way as Basic COCOMO

Page 41: Softwareproject planning

Calculate COCOMO effort, TDEV, average staffing, and productivity for an organic project that is estimated to be 39,800 lines of code.An organic project uses the application formulas. 1. E=2.4 * (KLOC)1.05

=2.4 * (39.8) 1.05

= 2.4 * 47.85 = 114.8 Person-months.2. TDEV = 2.5 * (114.8) 0.38

= 2.5 * 6.06 =15.15 months3. Average staffing = E/TDEV = 114.8/15.15= 7.6 persons4. Productivity = 39,800/(114.8)

= 346.6 LOC /PM

Page 42: Softwareproject planning

We have determined our project fits the characteristics of Semi-Detached modeWe estimate our project will have 32,000 Delivered Source Instructions. Using the formulas, we can estimate:Effort = 3.0*(32) ^1.12 = 146 man-monthsSchedule = 2.5*(146)^ 0.35 = 14 monthsProductivity = 32,000 DSI / 146 MM = 219 DSI/MMAverage Staffing = 146 MM /14 months

= 10 people

Page 43: Softwareproject planning

6) Develop a schedule