![]() ![]() Otherwise said it dates from the prehistory. If you use other definitionsĪnd assumptions, you need to either adjust the COCOMO II estimates or These and otherĭefinitions (.)were used in collecting all the data assumptions about what life-cycle phases and labor categories areĬovered by its effort and schedule estimates. This is reminded in the manual you are referring to: But it is also based on a statistical model assuming a large historical base. Of course, COCOMO II enlarges the base and the criteria taken into account. The idea is that items sharing the same characteristics are relatively homogeneous.įor instance, the initial COCOMO was developed using regression analysis on a limited set of projects in one industrial branch. Statistical estimation models such as COCOMO and alike are based on assumption on the characteristics of software and the development environment, as well as a large statistic of existing projects. In Computer Science, as for any science, before use a mathematical tool, you need to thoroughly assess if your intend use corresponds to the domain of validity of the tool. I will provide an answer that will certainly not please you, but I have to raise your attention on some points. If you want to add more work to refine that, then yes, I've found function points to be a reasonable approach-it's usually fairly straightforward to translate a set of requirements into at least some notion of function points (and if you can't, it's usually because the requirements lack the detail necessary to give a meaningful estimate). Looking at a previous project and saying: "that took about six months, and this is around twice the size, so it'll probably take around a year" tends to be at least as accurate with a lot less work. My own take: lines of code does more to distract than help. At least in my experience, most contributors on most projects don't really know how many lines of code ended up in that project without doing some looking (and given things like code reuse, that usually involves quite a bit more than running wc on the project's directory tree(s) too). Realistically, for most people this is a nearly necessary step though. Looking at similar projects is basically just a method of educating (or maybe reeducating) yourself on project sizes. On one hand you note: "educated guess." On the other, you point to "use similar projects as a basis for their estimation." That said, it doesn't seem to me that you've really given separate alternatives. A fair number of people think that alternatives, such as function point analysis, make more sense (and some at least claim that experience bears out its superiority). ![]() ![]() Given a set of requirements, it may be easier to count the number of function points rather than attempt to estimate the number of SLOC.įirst, you should probably be aware that this has been cited as a problem with COCOMO for some time. Something else to consider would be to use function points in COCOMO II instead of SLOC. However, if you are using a new programming language or don't have a good history of past estimates, then the best method would be to keep decomposing the work into smaller, easily estimated pieces, estimate those, and then roll the total back up. If you have a previously made component that is similar in size and scope, then you can count that. If you have good historical projects, then you can use estimation by analogy or proxy-based estimates to compare with previous projects or components. If you do, you can use any number of techniques (including the other ones that I mention) as an individual contribution to the group estimating effort. For example, if you don't have a group of knowledgable people, you really can't use expert judgement in groups. The method you choose is likely to be determined by your environment. You can consider decomposition and recomposition, estimation by analogy, proxy-based estimates, and expert judgement in groups to estimate the size to use as an input into COCOMO. There are different estimation approaches that you can use to try to come up with an estimate for the size of the software application under design. The only way to get the SLOC input to COCOMO is to estimate that. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |