Software Project Estimation: Key Steps and Considerations

Software Project Estimation: Key Steps and Considerations
Slide Note
Embed
Share

This content provides insights into software project estimation, focusing on key steps such as project planning, scope determination, risk analysis, quality management planning, and change management planning. It also delves into software scope and feasibility aspects, including defining scope through narrative descriptions and use cases, and assessing feasibility based on technology, finance, time, and resource dimensions. Resource estimation for software projects is also discussed in detail.

  • Software Development
  • Project Estimation
  • Scope Determination
  • Feasibility Analysis
  • Resource Estimation

Uploaded on Mar 15, 2025 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Software Project Estimation

  2. First step in project estimation is Project Planning 5 major activities performed in project planning

  3. 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.

  4. 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

  5. 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.

  6. 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

  7. 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.

  8. 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

  9. 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 - software tools - hardware - network resources

  10. 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

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

  12. 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

  13. 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

  14. Decomposition

  15. 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

  16. 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

  17. 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.

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

  19. 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

  20. 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

  21. Problem Based Estimation

  22. Problem Based Estimation Problem Based Estimation Is conducted using - LOC Based Estimation - Function Point Based Estimation - Process Based Estimation - Use Case Based Estimation

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

  24. 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

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

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

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

  28. 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

More Related Content