4 Productivity estimates

Views:
 
Category: Entertainment
     
 

Presentation Description

You can find all presentations on www.Softwaredu.com for communication http://about.me/hakankasap

Comments

By: kasap (9 month(s) ago)

You can find all presentations on www.Softwaredu.com for communication http://about.me/hakankasap

Presentation Transcript

Slide 1: 

1 SOFTWARE PROJECT MANAGEMENT Course Notes Chapter 4 Software effort estimation

Productivity estimates : 

Real-time embedded systems, 40-160 LOC/P-month. Systems programs , 150-400 LOC/P-month. Commercial applications, 200-900 LOC/P-month. In object points, productivity has been measured between 4 and 50 object points/month depending on tool support and developer capability.[4] Productivity estimates

Factors affecting productivity : 

Factors affecting productivity

Quality and productivity : 

All metrics based on volume/unit time are flawed because they do not take quality into account. Productivity may generally be increased at the cost of quality. It is not clear how productivity/quality metrics are related. If requirements are constantly changing then an approach based on counting lines of code is not meaningful as the program itself is not static; Quality and productivity

Estimation techniques : 

Estimation techniques There is no simple way to make an accurate estimate of the effort required to develop a software system Initial estimates are based on inadequate information in a user requirements definition; The software may run on unfamiliar computers or use new technology; The people in the project may be unknown. Project cost estimates may be self-fulfilling The estimate defines the budget and the product is adjusted to meet the budget.

Changing technologies : 

Changing technologies Changing technologies may mean that previous estimating experience does not carry over to new systems Distributed object systems rather than mainframe systems; Use of web services; Use of ERP or database-centred systems; Use of off-the-shelf software; Development for and with reuse; Development using scripting languages; The use of CASE tools and program generators.

Estimation techniques : 

Estimation techniques Algorithmic cost modelling. Expert judgement. Estimation by analogy. Parkinson's Law. Pricing to win.

Estimation techniques : 

Estimation techniques

Pricing to win : 

Pricing to win The project costs whatever the customer has to spend on it. Advantages: You get the contract. Disadvantages: The probability that the customer gets the system he or she wants is small. Costs do not accurately reflect the work required.

Top-down and bottom-up estimation : 

Top-down and bottom-up estimation Any of these approaches may be used top-down or bottom-up. Top-down Start at the system level and assess the overall system functionality and how this is delivered through sub-systems. Bottom-up Start at the component level and estimate the effort required for each component. Add these efforts to reach a final estimate.

Top-down estimation : 

Top-down estimation Usable without knowledge of the system architecture and the components that might be part of the system. Takes into account costs such as integration, configuration management and documentation. Can underestimate the cost of solving difficult low-level technical problems.

Bottom-up estimation : 

Bottom-up estimation Usable when the architecture of the system is known and components identified. This can be an accurate method if the system has been designed in detail. It may underestimate the costs of system level activities such as integration and documentation.

Estimation methods : 

Estimation methods Each method has strengths and weaknesses. Estimation should be based on several methods. If these do not return approximately the same result, then you have insufficient information available to make an estimate. Some action should be taken to find out more in order to make more accurate estimates. Pricing to win is sometimes the only applicable method.

Pricing to win : 

Pricing to win This approach may seem unethical and un-businesslike. However, when detailed information is lacking it may be the only appropriate strategy. The project cost is agreed on the basis of an outline proposal and the development is constrained by that cost. A detailed specification may be negotiated or an evolutionary approach used for system development.

Algorithmic cost modelling : 

Algorithmic cost modelling Cost is estimated as a mathematical function of product, project and process attributes whose values are estimated by project managers: Effort = A ´ SizeB ´ M A is an organisation-dependent constant, B reflects the disproportionate effort for large projects and M is a multiplier reflecting product, process and people attributes. The most commonly used product attribute for cost estimation is code size. Most models are similar but they use different values for A, B and M.

Estimation accuracy : 

Estimation accuracy The size of a software system can only be known accurately when it is finished. Several factors influence the final size Use of COTS and components; Programming language; Distribution of system. As the development process progresses then the size estimate becomes more accurate.

Estimate uncertainty : 

Estimate uncertainty