Case
Study – Cost Estimation with COCOMO
Form a team of 2 to 4 students.
You are about to develop an app that analyses data from software repos and
makes predictions about the technical debt contained in the next release.
You created a system specification and made Function Point estimate
resulting in 500 unadjusted Function Points.
The system shall be implemented in Java.
You make the following assumptions about the organizational and project
context:
- Your development organization/team has a thorough understanding of
the product objectives and much experience in working with similar
systems. There is neither a need for concurrent hardware development
nor a need for developing new/innovative data processing algorithms.
- There is no (or little) need for conformance with pre-established
requirements and external interface specifications. You use the ‘no
rush’ rule in your development teams.
- Your Architecture/Risk resolution is average with few (2-4) critical risk
items.
- All involved stakeholders share a common vision of the product to be
developed as well as a common communication and cooperation
culture. There exists a well-established trust relationship among all
stakeholders.
- Your organization has a maturity corresponding to a CMMI level of 3.
You make the following assumptions about the product to be developed:
- If the predictions produced by the app are repeatedly inaccurate, this
could imply a major financial loss.
- There is no or very little need for code reuse of the app to be
developed
You make the following assumptions about the available personnel:
- Your analyst and your programmers in the team have top design and
programming ability, work efficiently and thoroughly, and have the
ability to communicate and cooperate well with all team members.
- The team members have experience with programming in Java for at
least three years. The same applies to the experience with the
development platform and tools.
You make the following assumptions about the project constraints:
- Your team is distributed over offices in Tallinn and Tartu but has all
kinds of high-speed, multi-media communication tools available.
- The schedule should be optimal with regards to effort consumption.
To Do:
1. How much effort will the system consume (not including maintenance
in your estimate)?
2. How much will the system cost, if you assume a monthly salary of 3000
US $ per developer?
3. How will the effort and time estimates change, if you try to make the
project as short as possible (i.e., you try to compress the project
schedule as much as possible)?
Hints:
- Use the COCOMO Manual and Tool available on the course wiki.
- If you cannot identify information regarding a specific Scale Factor or
Effort Multiplier (Cost Factor), assume that it has the value “Nominal”