Cost Estimation Models
Introduction Goal of software project management: enable a group of engineers to work efficiently towards successful completion of a software project.
Responsibility of project managers Project proposal writing, Project cost estimation, Scheduling, Project staffing, Project monitoring and control, Software configuration management, Risk management, Managerial report writing and presentations, etc.
Introduction A project manager’s activities are varied. can be broadly classified into: project planning, project monitoring and control activities.
Project Planning Once a project is found to be feasible, project managers undertake project planning.
Project Planning Activities Estimation: Effort, cost, resource, and project duration Project scheduling: Staff organization: staffing plans Risk handling: identification, analysis, and abatement procedures Miscellaneous plans: quality assurance plan, configuration management plan, etc.
Project planning Requires utmost care and attention --- commitments to unrealistic time and resource estimates result in: irritating delays. customer dissatisfaction adverse affect on team morale poor quality work project failure.
Sliding Window Planning Involves project planning over several stages: protects managers from making big commitments too early. More information becomes available as project progresses. Facilitates accurate planning
SPMP Document After planning is complete: Document the plans: in a Software Project Management Plan(SPMP) document.
Software Cost Estimation Determine size of the product. From the size estimate, determine the effort needed. From the effort estimate, determine project duration, and cost.
Software Cost Estimation Effort Estimation Cost Estimation Size Estimation Staffing Estimation Duration Estimation Scheduling
Software Cost Estimation Three main approaches to estimation: Empirical Heuristic Analytical
Software Cost Estimation Techniques Empirical techniques: an educated guess based on past experience. Heuristic techniques: assume that the characteristics to be estimated can be expressed in terms of some mathematical expression. Analytical techniques: derive the required results starting from certain simple assumptions.
Software cost estimation Predicting the resources required for a software development process
Fundamental estimation questions How much effort is required to complete an activity? How much calendar time is needed to complete an activity? What is the total cost of an activity? Project estimation and scheduling and interleaved management activities
Software cost components Hardware and software costs Travel and training costs Effort costs (the dominant factor in most projects) salaries of engineers involved in the project Social and insurance costs Effort costs must take overheads into account costs of building, heating, lighting costs of networking and communications costs of shared facilities (e.g library, staff restaurant, etc.)
Costing and pricing Estimates are made to discover the cost, to the developer, of producing a software system There is not a simple relationship between the development cost and the price charged to the customer Broader organisational, economic, political and business considerations influence the price charged
Software pricing factors