SlideShare a Scribd company logo
1 of 315
99
Back to contentsPrevious Next
The rationale for writing on this topic area came about from my
experience
with teaching adults on a variety of evening programmes.
Students from a
variety of backgrounds tend to enrol on business type courses
that are accred-
ited by the Institute of Commercial Management and Institute of
Public
Administration. In some cases, the students in these courses left
education
at a young age, often before they had completed secondary
education, often
due to not being comfortable with the teaching style that was
adopted by the
teacher in the classroom. Students felt that the teaching style
did not promote
learning in the classroom and that students were not allowed to
question the
material discussed in the classroom. When these students
enrolled in evening
programmes they were often surprised that they were allowed to
contribute
to discussions in relation to a variety of topics. The difference
in the teaching
style often encouraged students to further their education and to
participate in
more courses at a later stage.
While there may be similarities between adults and children in
how they learn
(such as language, interaction and communication), many
writers argue that
adult learners are different from child learners in a number of
ways. The aim
of this article is to review how adults learn through examining
one particular
theory of adult learning.
Adult learners need to know why they are learning new
knowledge before they
are willing to participate. In the context of evening courses such
as those focus-
ing on business subjects, employers seek to convince adult
learners to partic-
ipate in a course by emphasising the benefits of acquiring a
qualification or
learning new skills. This can be evidenced in situations where
adults partici-
Reviewing the Evidence on How Adult
Students Learn: An Examination of
Knowles’ Model of Andragogy
valerie mcgrath
100
Back to contents NextPrevious
pate in courses that focus on management, marketing and
accounting skills.
Students are encouraged to incorporate what they learn in the
classroom into
their everyday work lives via a work-based project. If adults are
aware why they
are learning new skills, there will be a ‘readiness’ to learn and
they will be more
willing to participate in discussions in the classroom or learning
context. Adult
learners who have been given a ‘second chance’ at education
might be more
motivated to learn than children or secondary school students
because they
will be able to draw a connection between the material that is
discussed in the
classroom and what is happening in their own lives. Unlike
children, adults
tend to take responsibility for their own learning and they do
not want to be
directed by the lecturer during class.
Two conflicting learning theories, known as andragogy and
pedagogy, have
a particular relevance to the adult educator. The pedagogical
theory assumes
that the student will simply learn what they have been told.
Some people would
associate pedagogy solely with children, but surprisingly it can
also be associ-
ated with adult learning. The majority of today’s adult learners
were exposed
to classroom learning in previous educational experiences that
promoted
pedagogical practices. As a result of this experience adults may
be unwilling
to participate in an adult education type course later in life as
they have the
perception that the same style of teaching and learning is still in
existence in
today’s adult classroom.
Of course in certain circumstances students come to a course
without having
any background knowledge of the field of study. For example, if
a person was
to attend an accounting course with no background knowledge
of the area,
the lecturer would have to use the pedagogical approach in
which they would
explain the basics of accounting to the student. As the course
progresses, the
student is asked to apply examples from their own interest or
field of practice
to the course so they can create a link between their own
experience and the
course material. However, by adopting this strategy it is very
difficult to change
direction and encourage the student away from being dependent
to being inde-
pendent learners because once the student is comfortable with
the style that is
being used in the classroom, they might fear a change in style of
teaching.
Even though Knowles was a keen advocate of the theory of
andragogy he noted
that ‘pedagogical strategy is appropriate at least as a starting
point (when
learners are indeed dependent) when entering a totally strange
content area’
(Knowles, 1998, p. 70). In a sense it is contradictory to what he
said previously,
101
Back to contentsPrevious Next
but in reality lecturers in many instances use a pedagogical
style of teaching at
the start of a course in order to ensure that students gain an
understanding of a
topic that they may not be very familiar with. However,
pedagogy is not with-
out its criticism.
Knowles et al (1998, p.61) stated that pedagogy is based on the
following
assumptions:
• Firstly, students only need to learn what the teacher teaches
them.
Students need only learn material that will be used to answer
questions
during an exam.
• Secondly, the pedagogical theory of learning implies that the
adult learn-
ers experience is not necessary for learning so adults who have
no expe-
rience in an area can gain entry onto a course and learn a new
skill. For
example, institutions that have courses in computers for
beginners often
state that it is not necessary for students to have previous
experience to
attend classes.
• Thirdly, according to Knowles et al (1998, p. 63), the
‘teachers concept of
the learner is that of a dependent personality.’ This is true in
the case of
students who have no knowledge in a particular area and
therefore they
have to depend solely on the teacher to learn the basics.
They assumed that the teacher’s job was to fill the students
minds with their
own information and the students were not encouraged to
question what they
were being taught.
The majority of today’s adult learners were exposed to
classroom learning in
previous educational experiences that promoted pedagogical
practices. Of
course in certain circumstances students come to a course
without having
any background knowledge of the area. For example, if a person
was to attend
an accounting course with no background knowledge of the
area, the lectur-
er would have to use the pedagogical approach in which they
would explain
the basics of accounting to the student. As the course progresses
the student is
asked to apply examples from their own background to the
course so they can
create a link between their own experience and the course
material.
102
Back to contents NextPrevious
One learning theory that has attempted to overcome some of the
negative
aspects of pedagogy is a theory that was introduced by Malcolm
Knowles
known as andragogy. Andragogy according to Henschke
(1998:8) can be
defined as ‘a scientific discipline that studies everything related
to learning and
teaching which would bring adults to their full degree of
humaneness.’ This
theory tried to identify how adult learners learn and how to
involve them in the
learning process ‘to free them from the oppression of
pedagogy.’ Unlike peda-
gogy, andragogy is centered on the idea that the lecturer does
not posses all the
knowledge and that students are encouraged to participate in the
classroom by
utilising their own experiences.
‘Adult education is quite distinctive in its approach in that it
aims to do sub-
stantially more than simply impart information to participants’
(Connolly,
1996, pp. 38-39). The lecturer should act as a facilitator in the
learning process.
This can be achieved by asking students questions that they can
relate to their
workplace. For example, once students are taught the basic
principle of a sub-
ject, they could be asked to apply those principles via a work-
based project to
their company. This will enable them to understand how the
theory they have
spoken about in class relates to a real life situation. The lecturer
can manage
this by asking students relevant questions pertaining to their
workplace, which
will require the student to think about what happens in their
organisation on
a day-to-day basis. This is further supported in research carried
out by Laird
(1998, p. 126) who stated that ‘the andragogic model holds the
view that the
instructor should guide and not manage the content, which is the
traditional
approach in pedagogy.’
Andragogy might be classed under the category of cognitive
theories in that
adults are allowed to analyse the material given to them in the
classroom and
they learn to make connections between the material and their
own life expe-
riences. In contrast pedagogy is associated with the behaviourist
stream of
learning where the student takes for granted what is being said
to them and
they learn it word for word so that they can receive positive
feedback from
their lecturers. Laird (1998, p. 125) stated that lecturers who
adopt the andra-
gogical theory of learning will ‘use more questions because
adults do know a
great deal.’
Andragogy is based on five key areas. Firstly, there is the issue
that adults need
to be made aware of the reason why they have to learn certain
material. Knowles
103
Back to contentsPrevious Next
has stated that it is important that students are informed of the
benefits of cov-
ering this material and how it will benefit them when the course
is finished.
It is imperative that students are furnished with the learning
objectives when
they start their course (Knowles et al 1998, p. 63). For the
majority of evening
courses students are given the course outline and objectives of
the course when
they enrol in the course.
The second area is the learner’s concept of himself or herself. If
the learner
is very self confident and what Maslow describes as having high
self-esteem
needs, then the lecturer has to ensure that they allow the student
to discuss or
present their views during the class session. If the lecturer starts
out using a
pedagogical method of teaching and encourages the student to
become depen-
dent on them for knowledge and then they are in essence
creating a dependent
student who will have low self-esteem, which will ensure that
the student never
questions what the lecturer says in class.
Thirdly, andragogy is based on is the experience of the learner
and the role that
it plays in the classroom. Andragogy assumes that the student
has a bank of
experience accumulated over their lifetime and that they would
like to apply
this ‘experience’ in the classroom so that they can understand
the material
that is being discussed in the session. Unlike pedagogy,
andragogical learners
resent having a lecturer’s ideas forced upon them and as stated
by Knowles, et
al. (1998, p. 65), ‘adults resent and resist situations in which
they feel others are
imposing their will on them.’ Therefore, they want to be
responsible for their
own learning. The andragogical model states that adults need to
be able to use
their experience in the classroom if they want to learn.
Lecturers should encourage the promotion of dialogue in the
adult classroom.
The use of dialogue in the classroom aids the students’
understanding of the
material discussed in the class (Quilty, 2003, p. 63). Dialogue
can be encour-
aged through the use of group work, where students are placed
in groups and
given scenarios or class studies that are relevant to the student’s
experience.
This may also encourage the quieter students in the classroom
to participate in
the learning process and to air their views through the group.
Fourthly, students want to learn. Motivation plays an important
part in adult
learning, firstly, in that if students are not motivated to learn
they may not par-
ticipate in the classroom and therefore may leave the course.
Secondly, as men-
104
Back to contents NextPrevious
tioned in the previous point, adult students may be more
motivated to learn
if the concept of groups were prompted by the lecturer. Maslow
stated in his
theory of motivation that people have a need to feel that they
belong. Students
are more motivated if they feel that they belong in the adult
classroom and for
most adult students they like to belong to a group that they can
discuss both
academic and personal issues.
Andragogy states that adults are motivated by both internal and
external fac-
tors. Lecturers have to recognise that by praising and building
on the self-
esteem of students as it motivates them to learn. Tough found
that ‘motivation
is frequently blocked by barriers such as negative self concept
and time con-
straints’ (cited in Knowles, 1994, p. 68). While adult learners
may respond to
external motivators such as bonuses from their employers when
they attain a
certain grade, it is the internal priorities that are more important
to the learner.
Fifthly, for andragogy to work effectively in the classroom the
lecturer must
promote a climate which provides a safe environment for the
student. Abraham
Maslow stated that students, especially those with low self-
esteem, need to have
a safe environment if they are participate in the learning
experience (Knowles,
1994, p. 14). In the instance where students are encourage to
discuss examples,
they are praised for their contribution and not mocked by either
the lecturer or
other students for their views on a particular issue. Students
could be further
motivated in the classroom if they are allowed to participate in
the planning of
the syllabi for the course.
However, in reality, the majority of syllabi are designed by
educational institu-
tions or other accreditation bodies such as FETAC or HETAC,
which result in
both lecturer and student having very little input in what should
be included
in the syllabi for the course. However, it should be remembered
that whether
an institution or an accreditation body designs the syllabi
students will learn
more effectively if they can apply their experience to the
subject matter being
discussed in the session. Adults will learn material if it is
presented in a way
that relates to real life situations. Lecturers who use the
andragogical method
of learning should therefore consider using case studies or
histories in class so
that students can apply the ‘theory’ to a practical situation.
Knowles (1980, p. 54) held the view that adults ‘tend to be
problem centered
in their orientation.’ This is something that lecturers or
facilitators need to
take into account when they are planning their classes, as they
have to allow
105
Back to contentsPrevious Next
for problem solving as well as interaction with the student.
Some adult stu-
dents prefer to be problem centered but others want the lecturer
to lead them
through the course, therefore problems arise when adults
suddenly find them-
selves in a situation that they have to think for themselves and
participate in
the class. Rogers (1989, p. 3) stated that when teaching (adults)
the custom-
er, not the subject, should comes first and is always right and
the customer is
the learner. This is often forgotten by colleges who see students
as a financial
gain and sometimes they are unaware of the method of teaching
used by their
lecturers in the adult classroom. Therefore, it is imperative that
educational
institutions should distribute a questionnaire at the end of a
course to enable
students to air their views on how the lecturer has performed on
the course.
Educational institutions such as the National College of Ireland
ask students
to complete questionnaires after each module on their front line
supervisory
management course.
Andragogy as with many theories is not without fault. Some
adult educators
are questioning whether it is really a theory. Hartee (1984, p.
205) suggested
that Knowles was really presenting guidelines for ‘what the
adult learner should
be like’ in the classroom but it was not really a tried and tested
theory of learn-
ing. Even Knowles (1989, p. 112) came to the conclusion that
‘andragogy is less
a theory of adult learning than a model of assumptions about
learning or a
conceptual framework that serves as a basis for an emergent
theory.’ Indicating
that it is a ‘conceptual framework’, suggests that there are
weaknesses with the
model and that is it not academically viewed as a theory of
adult learning.
Pratt (1993, p. 21) questioned whether andragogy could be
classed as a theory
of learning. He has admitted that it has helped adult educators
understand how
adults learn but in reality if andragogy was analysed more
closely ‘it has done
little to expand or clarify our understanding of the process of
learning nor has
it achieved the status of a theory of adult learning’ (Pratt, 1993,
p. 21).
When Knowles designed this model of adult learning he
assumed a number
of factors such as students’ desire to participate and learn.
However, in real-
ity lecturers are aware that this is not always the case. For
instance, employers
often send employees on training courses just to say that they
are developing
and training their students but in the majority of cases they do
not investi-
gate whether courses are suitable or of interest to students. As a
result students
attend classes that they have no interest in and since most
courses are funded
106
Back to contents NextPrevious
by employees on condition the student passes the course, they
are also forced to
study for exams that they do not really want to sit.
Lack of interest may also indicate that the student will
experience a lack of
motivation. Knowles (1994, p. 14) acknowledged that ‘adults
tend to be more
motivated to learning that helps them solve problems in their
lives.’ However,
students who are forced by their employers to attend courses
that have little or
no relevance to what they are doing in the workplace, will feel
that what is being
discussed in class is not going to help them perform better in
the workplace.
Therefore these students often attend courses with little or no
motivation.
Knowles’ theory of andragogy is very much based on the fact
that students
want to participate in the classroom and in order to participate
they must be
motivated. However, according to Tough ‘motivation is
frequently blocked by
barriers such as negative self concept and time constraints’
(cited in Knowles,
1994, p. 68). Adults have often experienced negative events
during their previ-
ous education and as a result they come to adult classes with
low self-esteem.
Rosenstock stated that ‘adult education required special
teachers, special meth-
ods and a special philosophy’ (Knowles et al, 1998, p. 59).
Therefore, the theory of andragogy cannot work in the
classroom if the lectur-
er is un-sympathetic to the fact that students may have low self-
esteem and if
they target them with questions that they may not be able to
answer in front of
the class. As a result, students may feel very uncomfortable and
choose to leave
the course rather than sit in the classroom with other students
who think that
they do not have the intellectual capacity to be in the course.
Another major factor associated with motivation is that fact that
mature stu-
dents, unlike children, teenagers and young adults, have time
pressures such as
family and full time jobs that often prevent them from attending
classes. Often
these pressures become so great that they are forced to leave a
course and fail
to return to education because they feel that they will not be
able to finish the
course the next time. Grace (1996, p. 386) acknowledged the
fact that ‘Knowles
never considered the organisation and social impediments to
adult learning;
he never painted the big picture.’ This would indicate that
Knowles never real-
ly considered the constraints on the mature student in a social
sense such as
barriers to gaining entry into courses and family life. In Ireland
those who are
considered socially disadvantaged such as travellers, single
parents and on low
107
Back to contentsPrevious Next
incomes are often excluded from joining courses that require a
fee to be paid.
Knowles concept of andragogy is coupled with the idea that
adults are ‘autono-
mous, free and growth orientated’ (Rodgers, 2000, p. 13). He
stated that stu-
dents should be allowed to use their past experiences to
participate in the
classroom. However, Quilty drew attention to the fact that
Dewey stated that
while ‘there are experiences in adult education that are
worthwhile there are
those that are not’ (Quilty, 2003, p. 62).
Some students may not be ready for their beliefs to be
challenged and as a result
they may feel threatened and not participate in future classes or
their past expe-
riences may hinder any new learning because they cannot accept
that their pre-
vious beliefs are wrong. Knowles was not aware of the fact that
some adults that
attend night courses are what we term ‘young adults.’ These
students are aged
eighteen to twenty-five; they may not have accumulated
sufficient knowledge
to participate in class debates. In some instances these students
may feel iso-
lated in that they cannot take part in a class debate if they do
not have the same
experience as other students in the classroom. This may result
in the student
‘switching off ’ and becoming bored in the classroom, which in
turn may lead to
the student leaving the course early.
Knowles vision of andragogy presents the individual learner as
one who is
autonomous, free and growth oriented. However, Grace (1996,
p. 383) and var-
ious other critics have argued the point that there is little
evidence that states
that adult students are influenced by their society and history
and that in real-
ity the educational establishment and awarding bodies set down
standards of
learning regardless of whether the student has certain life
experiences or not.
In theory it could be argued that the andragogical model would
be the most
suitable for the adult learner, but it fails to take into account
that at times lec-
turers have time pressures to which they must adhere. If they
were to allow
students to discuss material at length they may not be able to
cover the course
in the allocated time, as they may have to deprive students of
certain modules
on the course. For instance, in some of the business courses,
students have to
study two modules each night for two nights a week probably
over a period
of twenty-four weeks. If it is a three-hour course it means that
each module is
allocated only one and a half hours, which does not allow the
lecturer to discuss
material in great depth.
108
Back to contents NextPrevious
Lecturers, especially in colleges where students pay for their
courses, are likely
to be under pressure to achieve certain grades at the end of the
course. In some
of the private second level institutions the grades that students
achieve for
their Leaving Certificate are advertised so as to attract students
to the college.
Similarly, there are instances where private third level colleges
are now promot-
ing the fact that students have achieved certain awards by
external awarding
bodies such as ACCA as a way of attracting students. This may
place added
pressure on lecturers to ensure that students achieve similar
results. As a result,
lecturers may revert to pedagogical practices to try and ensure
high grades.
However, there are some lecturers who take the theory of
andragogy to the
extreme in that they are aware that mature students may be
anxious and may
have low self-esteem and with that in mind they adopt an
extremely empa-
thetic manner that often results in no learning in the classroom
because the
lecturer is afraid to challenge the student in case it would
damage their self-
esteem (Rodgers, 2000, p. 15).
Even though andragogy has numerous faults, Houle (1996, p.
29-30) was of
the opinion that andragogy is the ‘most learner centered of all
patterns of adult
education programmes.’ Over the past two decades it has drawn
adult educa-
tors’ attention to the fact that they ‘should involve learners in
as many aspects
of their education as possible and in the creation of a climate in
which both
they and the students can fruitfully learn’ (Houle, 1996, p. 30).
It has given adult
educators the option of using an alternative style in the
classroom.
By using the andragogical method they can encourage students
to return to
education and by allowing them to participate they are treating
them like
equals and the student is no longer dependent on them for
learning as they
would have been when they were children in primary and
secondary school.
This is very evident in the writings of Pratt who has stated that
‘andragogy has
been adopted by legions of adult educators around the world’
(1993, p. 21). He
was also of the opinion that in the majority of cases it is the
starting point to
which educators look when they start to teach adults.
Which theory is the most relevant for the adult learning in the
classroom? Most
teachers teach the way they learn. The majority of adult
educators were taught
using the pedagogical style during primary and secondary
schooling and in
the majority of cases their third level education was very much
centered on a
109
Back to contentsPrevious Next
lecturer again using the pedagogical style of teaching. As a
result of this many
adult educators are more inclined to use ‘what worked with
them’ (Brown,
2003, p. 1). It is imperative therefore that they are aware of the
theories that are
associated with adult learning and it would make sense that all
adult educators
should be educated ABOUT adult learning principles in some
shape or form.
Crews and McCannon stated than once the adult educator is
aware of the theo-
ries associated with adult learning principles they may
implement these in the
classroom making it a better learning environment for the adult
student (cited
in Brown, 2003).
Knowles stated that it is the ‘job of the adult educators to move
adult students
away from their old learning and into new patterns of learning
where they
become self directed taking responsibility for their own learning
and the direc-
tion it takes’ (Knowles et al, 1998, pp. 66-69).
The question that adult educators must ask themselves is,
should they allow
students to participate during the lesson on a continuous basis
or do they
allow it when it suits them? It is important that educators are
aware of what
the adult student truly wants from their educational experience.
It is impera-
tive that adults returning to education encounter positive
experiences that will
encourage them to further their education. Lecturers must be
aware that what-
ever learning styles and teaching methods are used in the adult
classroom that
adult education ‘began with the basic education needs of
learners. The learning
needs of the adult have to remain centre stage otherwise we will
have lost our
way’ (Vaughan, 2004).
Andragogy in essence aims to look at how learning in the
classroom can be
made more attractive for adult students. Therefore, it is
imperative that lectur-
ers/tutors are aware of the fact that adult needs are very
different to the needs
of children in relation to classroom learning. Thereby, the
teaching style that is
adopted in the adult classroom should be the focus of attention
for educational
institutions, and this should be monitored to ensure that adult
students enjoy
the educational experience.
Valerie McGrath has worked as a lecturer in the University of
Limerick, Limerick
Institute of Technology and the National College of Ireland. She
is also a voluntary lit-
eracy tutor.
110
Back to contents NextPrevious
References
Brookfield, S. (1987). Developing Critical Thinkers:
Challenging Adults to Explore
Alternative Ways of Thinking and Acting. Milton Keyes: Open
University Press.
Brookfield, S.D. (1986). Understanding and Facilitating Adult
Learning. San Francisco:
Jossey-Bass.
Brown, B.L. (2003). Teaching Style Versus Learning Style
(Myths and Realities No.26).
Educational Resources Information Centre ERIC.
Connolly, B. (1996). Community development and adult
education: Prospects for
change. In B. Connolly, T. Fleming, D. McCormack and A.
Ryan, Radical Learning for
Liberation. Maynooth: MACE.
Grace, A.P. (1996). Taking a critical pose: Andragogy-missing
links, missing values.
International Journal of Lifelong Education, 15(5), 382-392.
Hartee, A. (1984). Malcolm Knowles’ Theory of Andragogy: A
critique. International
Journal of Lifelong Education, 3(3), 203-210.
Henschke, J.A. (1998). Historical antecedents shaping
conceptions of andragogy: A com-
parison of sources and roots. Paper presented at the
International Conference on
Research in Comparative Andragogy, Radovljica, Slovenia.
Knowles, M.S. (1980). The Modern Practice of Adult
Education: From Pedagogy to
Andragogy. 2nd edition, New York: Cambridge Books.
Knowles. M. (1989). The Making of an Adult Educator. San
Francisco: Jossey-Bass.
Knowles, M.S. and Associates, (1984). Andragogy in Action:
Applying Modern Principles of
Learning, San Francisco: Jossey Bass.
Knowles, M.S., R. Elwood, R. Holton III and A. Swanson
(1998). The Adult Learner: The
Definitive Classic in Adult Education and Human Resource
Development. 5th edition,
new York: Heinemann.
Laird, D. (1998). Approaches to Training and Development. 2nd
edition, Reading, MA:
Addison-Wesley.
Pratt, D.D. (1993). Andragogy after Twenty-Five Years. In S.B.
Merriam (ed), Update on
adult learning theory. San Francisco: Jossey-Bass.
Quilty, A. (2003). Towards a pedagogy of demystification. The
Adult Learner, The Journal
of Adult and Community Education in Ireland, 57-66.
Rodgers, J. (2000). Adult Learning. 4th edition, Buckingham:
Open University Press.
Sitt-Ghodes, W.L. (2001). Business education students’
preferred learning styles and
their teachers’ preferred instructional styles: Do they match?
Delta Pi Epsilon Journal
43(3), 137-151.
Vaughan, G. (2004). Adult literacy then and now. The Adult
Learner, The Journal of Adult
and Community Education in Ireland, 78-84.
COCOMO II/Chapter 2/Boehm et al.
- 1 -
CHAPTER 2
COCOMO II: MODEL DEFINITION
2.1 Introduction
2.1.1 Overview
This chapter presents two models, the Post-Architecture and
Early Design
models. Recall from Chapter 1 that these two models are used
in the development
of Application Generator, System Integration, or Infrastructure
developments.
The Post-Architecture is a detailed model that is used once the
project is ready to
develop and sustain a fielded system. The system should have a
life cycle
architecture package, which provides detailed information on
cost driver inputs,
and enables more accurate cost estimates. The Early Design
model is a high-level
model that is used in the exploration of architectural
alternatives or incremental
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 2 -
development strategies. This level of detail is consistent with
the general level of
information available and the general level of estimation
accuracy needed.
The Post-Architecture and Early Design models use the same
approach for
product sizing (including reuse) and for scale drivers. These
will be presented
first. Then, the Post-Architecture model will be explained
followed by the Early
Design model. The chapter ends with a discussion and example
of using the
models for the eight decision analysis situations introduced at
the beginning of
Chapter 1.
2.1.2 Nominal-Schedule Estimation Equations
Both the Post-Architecture and Early Design models use the
same
functional form to estimate the amount of effort and calendar
time it will take to
develop a software project. The amount of effort in person-
months, PMNS, is
estimated by the formula:
∑
∏
=
=
×+=
××=
5
1j
j
n
1i
i
E
NS
SF0.01BE where
EMSizeAPM
Eqn. 2.1
The amount of calendar time, TDEVNS, it will take to develop
the product
is estimated by the formula:
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 3 -
( )
B)(E0.2D
SF0.2DF where
PMCTDEV
5
1j
j
F
NSNS
−×+=
×+=
×=
∑
=
Eqn. 2.2
The value of n is 16 for the Post-Architecture model effort
multipliers,
EMi, and 6 for the Early Design model. The values of A, B,
EM1, …, EM16, SF1,
…, and SF5 for the COCOMO II.2000 Post-Architecture model
are obtained by
calibration to the actual parameters and effort values for the 161
projects currently
in the COCOMO II database. The values of C and D for the
COCOMO II.2000
schedule equation are obtained by calibration to the actual
schedule values for the
161 project currently in the COCOMO II database.
The values of A, B, C, D, SF1, …, and SF5 for the Early Design
model are
the same as those for the Post-Architecture model. The values
of EM1, …, and
EM6 for the Early Design model are obtained by combining the
values of their 16
Post-Architecture counterparts; the specific combinations are
given in Section
2.3.2.2.
The subscript NS applied to PM and TDEV indicates that these
are the
nominal-schedule estimates of effort and calendar time. The
effects of schedule
compression or stretch-out are covered by an additional cost
driver, Required
Development Schedule. They are also included in the
COCOMO II.2000
calibration to the 161 projects. Its specific effects are given in
Section 2.4.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 4 -
The specific milestones used as the endpoints in measuring
development
effort and calendar time are defined in Appendix A, as are the
other definitions
and assumptions involved in defining development effort and
calendar time. Size
is expressed as thousands of source lines of code (SLOC) or as
unadjusted
function points (UFP), as discussed in Section 2.2.
Development labor cost is
obtained by multiplying effort in PM by the average labor cost
per PM. The
values of A, B, C, and D in the COCOMO II.2000 calibration
are:
A = 2.94 B = 0.91
C = 3.67 D = 0.28
Details of the calibration are presented in Chapter 4, which also
provides
formulas for calibrating either A and C or A, B, C, and D to
one’s own database
of projects. It is recommended that at least A and C be
calibrated to the local
development environment to increase the model’s accuracy.
As an example, let's estimate how much effort and calendar time
it would
take to develop an average 100 KSLOC sized project. For an
average project, the
effort multipliers are all equal to 1.0. E will be set to 1.15
reflecting an average,
large project. The estimated effort is PMNS = 2.94(100)1.15 =
586.61.
Continuing the example, TDEVNS =
3.67(586.6)(0.28+0.2×(1.15-0.91)) =
3.67(586.6)0.328 = 29.7 months. The average number of staff
required for the
nominal-schedule development is PMNS / TDEVNS = 586.6 /
29.7 = 19.75 or 20
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 5 -
people. In this example, an average 100 KSLOC software
project will take about
30 months to complete with an average of 20 people.
2.2 Sizing
A good size estimate is very important for a good model
estimation.
However, determining size can be challenging. Projects are
generally composed
of new code, code reused from other sources--with or without
modifications--and
automatically translated code. COCOMO II only uses size data
that influences
effort which is new code and code that is copied and modified.
For new and reused code, a method is used to make them
equivalent so
they can be rolled up into an aggregate size estimate. The
baseline size in
COCOMO II is a count of new lines of code. The count for
code that is copied
and then modified has to be adjusted to create a count that is
equivalent to new
lines of code. The adjustment takes into account the amount of
design, code and
testing that was changed. It also considers the
understandability of the code and
the programmer familiarity with the code.
For automatically translated code, a separate translation
productivity rate
is used to determine effort from the amount of code to be
translated.
The following sections discuss sizing new code and sizing
reused code.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 6 -
2.2.1 Counting Source Lines of Code (SLOC)
There are several sources for estimating new lines of code. The
best
source is historical data. For instance, there may be data that
will convert
Function Points, components, or anything available early in the
project to estimate
lines of code. Lacking historical data, using expert opinion can
be used to derive
estimates of likely, lowest likely, and highest likely size.
Code size is expressed in thousands of source lines of code
(KSLOC. A
source line of code is generally meant to exclude non-delivered
support software
such as test drivers. However, if these are developed with the
same care as
delivered software, with their own reviews, test plans,
documentation, etc., then
they should be counted [Boehm 81, pp. 58-59]. The goal is to
measure the
amount of intellectual work put into program development.
Defining a line of code is difficult due to conceptual differences
involved
in accounting for executable statements and data declarations in
different
languages. Difficulties arise when trying to define consistent
measures across
different programming languages. ). In COCOMO II, the
logical source statement
has been chosen as the standard line of code. The Software
Engineering Institute
(SEI) definition checklist for a logical source statement is used
in defining the line
of code measure. The SEI has developed this checklist as part
of a system of
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 7 -
definition checklists, report forms and supplemental forms to
support
measurement definitions [Park 1992, Goethert et al. 1992].
Figure 2.1 shows the SLOC definition checklist as it is being
applied to
support the development of the COCOMO II model. Each
checkmark in the
“Includes” column identifies a particular statement type or
attribute included in
the definition, and vice-versa for the excludes. Other sections
in the definition
clarify statement attributes for usage, delivery, functionality,
replications and
development status. The full checklist is provided at the end of
this chapter in
Section 2.7.3.
Some changes were made to the line-of-code definition that
departs from
the default definition provided in [Park 1992]. These changes
eliminate
categories of software, which are generally small sources of
project effort. Not
included in the definition are commercial-off-the-shelf software
(COTS),
government-furnished software (GFS), other products, language
support libraries
and operating systems, or other commercial libraries. Code
generated with source
code generators is handled by counting separate operator
directives as lines of
source code. It is admittedly difficult to count "directives" in a
highly visual
programming system. As this approach becomes better
understood, we hope to
provide more specific counting rules. For general source code
sizing approaches,
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 8 -
such as PERT sizing, expert consensus, analogy, top-down, and
bottom-up, see
Section 21.4 and Chapter 22 of [Boehm, 1981].
Measurement unit: Physical source lines
Logical source statements √
Statement type Definition √ Data Array Includes Excludes
When a line or statement contains more than one type,
classify it as the type with the highest precedence.
1 Executable Order of precedence 1 √
2 Nonexecutable
3 Declarations 2 √
4 Compiler directives 3 √
5 Comments
6 On their own lines 4 √
7 On lines with source code 5 √
8 Banners and non-blank spacers 6 √
9 Blank (empty) comments 7 √
10 Blank lines 8 √
11
12
How produced Definition √ Data array Includes Excludes
1 Programmed √
2 Generated with source code generators √
3 Converted with automated translators √
4 Copied or reused without change √
5 Modified √
6 Removed √
7
8
Origin Definition √ Data array Includes Excludes
1 New work: no prior existence √
2 Prior work: taken or adapted from
3 A previous version, build, or release √
4 Commercial, off-the-shelf software (COTS), other than
libraries √
5 Government furnished software (GFS), other than reuse
libraries √
6 Another product √
7 A vendor-supplied language support library (unmodified) √
8 A vendor-supplied operating system or utility (unmodified)
√
9 A local or modified language support library or operating
system √
10 Other commercial library √
11 A reuse library (software designed for reuse) √
12 Other software component or library √
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 9 -
13
14
2.2.2 Counting Unadjusted Function Points (UFP)
The function point cost estimation approach is based on the
amount of
functionality in a software project and a set of individual
project factors [Behrens
1983; Kunkler 1985; IFPUG 1994]. Function points are useful
estimators since
they are based on information that is available early in the
project life cycle. A
brief summary of function points and their calculation in
support of COCOMO II
follows.
Function points measure a software project by quantifying the
information
processing functionality associated with major external data or
control input,
output, or file types. Five user function types should be
identified as defined in
Table 2.1.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 10 -
Table 2.1 User Function Types
Function Point Description
External Input (EI) Count each unique user data or user control
input type that enters the
external boundary of the software system being measured.
External Output
(EO)
Count each unique user data or control output type that leaves
the external
boundary of the software system being measured.
Internal Logical File
(ILF)
Count each major logical group of user data or control
information in the
software system as a logical internal file type. Include each
logical file
(e.g., each logical group of data) that is generated, used, or
maintained by
the software system.
External Interface
Files (EIF)
Files passed or shared between software systems should be
counted as
external interface file types within each system.
External Inquiry
(EQ)
Count each unique input-output combination, where input
causes and
generates an immediate output, as an external inquiry type.
Each instance of these function types is then classified by
complexity
level. The complexity levels determine a set of weights, which
are applied to
their corresponding function counts to determine the Unadjusted
Function Points
quantity. This is the Function Point sizing metric used by
COCOMO II. The
usual Function Point procedure involves assessing the degree of
influence (DI) of
fourteen application characteristics on the software project
determined according
to a rating scale of 0.0 to 0.05 for each characteristic. The 14
ratings are added
together, and added to a base level of 0.65 to produce a general
characteristic
adjustment factor that ranges from 0.65 to 1.35.
Each of these fourteen characteristics, such as distributed
functions,
performance, and reusability, thus have a maximum of 5%
contribution to
estimated effort. Having, for example, a 5% limit on the effect
of reuse is
inconsistent with COCOMO experience; thus COCOMO II uses
Unadjusted
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 11 -
Function Points for sizing, and applies its reuse factors, cost
drivers, and scale
drivers to this sizing quantity to account for the effects of reuse,
distribution, etc.
on project effort.
The COCOMO II procedure for determining Unadjusted
Function Points
follows the definitions in [IFPUG, 1994]. This procedure is
used in both the
Early Design and the Post-Architecture models.
1. Determine function counts by type. The unadjusted function
counts should be
counted by a lead technical person based on information in the
software
requirements and design documents. The number of each of the
five user
function types should be counted (Internal Logical File (ILF),
External
Interface File (EIF), External Input (EI), External Output (EO),
and External
Inquiry (EQ)). See [IFPUG, 1994] for more detailed
interpretations of the
counting rules for those quantities.
2. Determine complexity-level function counts. Classify each
function count
into Low, Average and High complexity levels depending on the
number of
data element types contained and the number of file types
referenced. Use the
following scheme:
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 12 -
Table 2.2 FP Counting Weights
For Internal Logical Files and External Interface Files
Data Elements
Record Elements 1 - 19 20 - 50 51+
1 Low Low Avg.
2 - 5 Low Avg. High
6+ Avg. High High
For External Output and External Inquiry
Data Elements
File Types 1 - 5 6 - 19 20+
0 or 1 Low Low Avg.
2 - 3 Low Avg. High
4+ Avg. High High
For External Input
Data Elements
File Types 1 - 4 5 - 15 16+
0 or 1 Low Low Avg.
2 - 3 Low Avg. High
3+ Avg. High High
3. Apply complexity weights. Weight the number of function
types at each
complexity level using the following scheme (the weights
reflect the relative
effort required to implement the function):
Table 2.3 UFP Complexity Weights
Complexity-Weight
Function Type Low Average High
Internal Logical Files 7 10 15
External Interfaces Files 5 7 10
External Inputs 3 4 6
External Outputs 4 5 7
External Inquiries 3 4 6
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 13 -
4. Compute Unadjusted Function Points. Add all the weighted
functions counts
to get one number, the Unadjusted Function Points.
2.2.3 Relating UFPs to SLOC
Convert the Unadjusted Function Points (UFP) to Lines of
Code. The
unadjusted function points have to be converted to source lines
of code in the
implementation language (Ada, C, C++, Pascal, etc.).
COCOMO II does this for
both the Early Design and Post-Architecture models by using
tables to convert
Unadjusted Function Points into equivalent SLOC. The current
conversion ratios
shown in Table 2.4 are from [Jones, 1996]. Updates to these
conversion ratios as
well as additional ratios can be found at
http://www.spr.com/library/0Langtbl.htm.
USR_1 through USR_5 are five extra slots provided by USC
COCOMO
II.2000 to accommodate users' additional implementation
languages. These ratios
are easy to determine with historical data or with a recently
completed project. It
would be prudent to determine your own ratios for your local
environment.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 14 -
Table 2.4 UFP to SLOC Conversion Ratios
Language SLOC / UFP Language SLOC / UFP
Access 38 Jovial 107
Ada 83 71 Lisp 64
Ada 95 49 Machine Code 640
AI Shell 49 Modula 2 80
APL 32 Pascal 91
Assembly - Basic 320 PERL 27
Assembly - Macro 213 PowerBuilder 16
Basic - ANSI 64 Prolog 64
Basic - Compiled 91 Query – Default 13
Basic - Visual 32 Report Generator 80
C 128 Second Generation Language 107
C++ 55 Simulation – Default 46
Cobol (ANSI 85) 91 Spreadsheet 6
Database – Default 40 Third Generation Language 80
Fifth Generation Language 4 Unix Shell Scripts 107
First Generation Language 320 USR_1 1
Forth 64 USR_2 1
Fortran 77 107 USR_3 1
Fortran 95 71 USR_4 1
Fourth Generation Language 20 USR_5 1
High Level Language 64 Visual Basic 5.0 29
HTML 3.0 15 Visual C++ 34
Java 53
2.2.4 Aggregating New, Adapted, and Reused Code
A product’s size discussed thus far has been for new
development. Code
that is taken from another source and used in the product under
development also
contributes to the product's effective size. Pre-existing code
that is treated as a
black-box and plugged into the product is called reused code.
Pre-existing code
that is treated as a white-box and is modified for use with the
product is called
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 15 -
adapted code. The effective size of reused and adapted code is
adjusted to be its
equivalent in new code. The adjusted code is called equivalent
source lines of
code (ESLOC). The adjustment is based on the additional effort
it takes to
modify the code for inclusion in the product. The sizing model
treats reuse with
function points and source lines of code the same in either the
Early Design model
or the Post-Architecture model.
2.2.4.1 Nonlinear Reuse Effects
Analysis in [Selby 1988] of reuse costs across nearly 3,000
reused
modules in the NASA Software Engineering Laboratory
indicates that the reuse
cost function, relating the amount of modification of the reused
code to the
resulting cost to reuse, is nonlinear in two significant ways (see
Figure 2.2). The
effort required to reuse code does not start at zero. There is
generally a cost of
about 5% for assessing, selecting, and assimilating the reusable
component.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 16 -
The figure shows the results of the NASA analysis as blocks of
relative
cost. A dotted line is superimposed on the blocks of relative
cost to show
increasing cost as more of the reused code is modified. (The
solid lines are
labeled AAM for Adaptation Adjustment Modifier. AAM is
explained in
Equation 2.4.) It can be seen that small modifications in the
reused product
generate disproportionately large costs. This is primarily due to
two factors: the
cost of understanding the software to be modified, and the
relative cost of
checking module interfaces.
[Parikh and Zvegintzov 1983] contain data indicating that 47%
of the
effort in software maintenance involves understanding the
software to be
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 17 -
modified. Thus, as soon as one goes from unmodified (black-
box) reuse to
modified-software (white-box) reuse, one encounters this
software understanding
penalty. Also, [Gerlich and Denskat 1994] shows that, if one
modifies k out of m
software modules, the number of module interface checks
required, N, is
expressed in Equation 2.3.
( ) ⎟
⎠
⎞
⎜
⎝
⎛ −×+×=
2
1kkk-mkN Eqn. 2.3
Figure 2.3 shows this relation between the number of modules
modified k
and the resulting number, N, of module interface checks
required for an example
of m = 10 modules. In this example, modifying 20% (2 of 10)
of the modules
required revalidation of 38% (17 of 45) of the interfaces.
The shape of this curve is similar for other values of m. It
indicates that there are
nonlinear effects involved in the module interface checking
which occurs during
the design, code, integration, and test of modified software.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 18 -
For m = 10
0
10
20
30
40
50
0 2 4 6 8 10
k
N
Figure 2.3 Number of Module Interface Checks, N, vs. Modules
Modified, k
The size of both the software understanding penalty and the
module
interface-checking penalty can be reduced by good software
structuring.
Modular, hierarchical structuring can reduce the number of
interfaces which need
checking [Gerlich and Denskat 1994], and software which is
well structured,
explained, and related to its mission will be easier to
understand. COCOMO II
reflects this in its allocation of estimated effort for modifying
reusable software.
2.2.4.2 A Reuse Model
The COCOMO II treatment of software reuse uses a nonlinear
estimation
model, Equation 2-4. This involves estimating the amount of
software to be
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 19 -
adapted and three degree-of-modification factors: the
percentage of design
modified (DM), the percentage of code modified (CM), and the
percentage of
integration effort required for integrating the adapted or reused
software (IM).
These three factors use the same linear model as used in
COCOMO 81, but
COCOMO II adds some nonlinear increments to the relation of
Adapted KSLOC
of Equivalent KSLOC used to estimate effort. These are
explained next.
( ) ( ) ( )
AAMKSLOC Adapted KSLOC Equivalent
50AAFfor ,
100
UNFM)](SUAAF[AA
50AAFfor ,
100
UNFM))]SU0.02(AAF(1[AA
AAM
IM0.3CM0.3DM0.4AAF
⋅ =
⎪
⎪
⎩
⎪ ⎪
⎨
⎧
>
×++
≤
××++
=
×+×+×=
Eqn. 2.4
The Software Understanding increment (SU) is obtained from
Table 2.5.
SU is expressed quantitatively as a percentage. If the software
is rated very high
on structure, applications clarity, and self-descriptiveness, the
software
understanding and interface-checking penalty is 10%. If the
software is rated
very low on these factors, the penalty is 50%. SU is determined
by taking the
subjective average of the three categories.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 20 -
Table 2.5 Rating Scale for Software Understanding Increment
SU
Very Low Low Nominal High Very High
Structure
Very low
cohesion, high
coupling,
spaghetti
code.
Moderately low
cohesion, high
coupling.
Reasonably
well-structured;
some weak
areas.
High cohesion,
low coupling.
Strong
modularity,
information
hiding in data /
control
structures.
Application
Clarity
No match
between
program and
application
world-views.
Some
correlation
between
program and
application.
Moderate
correlation
between
program and
application.
Good
correlation
between
program and
application.
Clear match
between
program and
application
world-views.
Self-
Descriptive-
ness
Obscure code;
documentation
missing,
obscure or
obsolete
Some code
commentary
and headers;
some useful
documentation.
Moderate level
of code
commentary,
headers,
documentation.
Good code
commentary
and headers;
useful
documentation;
some weak
areas.
Self-
descriptive
code;
documentation
up-to-date,
well-
organized,
with design
rationale.
SU
Increment
to ESLOC
50
40
30
20
10
The other nonlinear reuse increment deals with the degree of
Assessment
and Assimilation (AA) needed to determine whether a reused
software module is
appropriate to the application, and to integrate its description
into the overall
product description. Table 2.6 provides the rating scale and
values for the
assessment and assimilation increment. AA is a percentage.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 21 -
Table 2.6 Rating Scale for Assessment and Assimilation
Increment (AA)
AA Increment Level of AA Effort
0 None
2 Basic module search and documentation
4 Some module Test and Evaluation (T&E), documentation
6 Considerable module T&E, documentation
8 Extensive module T&E, documentation
The amount of effort required to modify existing software is a
function not
only of the amount of modification (AAF) and understandability
of the existing
software (SU), but also of the programmer’s relative
unfamiliarity with the
software (UNFM). The UNFM factor is applied multiplicatively
to the software
understanding effort increment. If the programmer works with
the software every
day, the 0.0 multiplier for UNFM will add no software
understanding increment.
If the programmer has never seen the software before, the 1.0
multiplier will add
the full software understanding effort increment. The rating of
UNFM is in Table
2.7.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 22 -
Table 2.7 Rating Scale for Programmer Unfamiliarity (UNFM)
UNFM Increment Level of Unfamiliarity
0.0 Completely familiar
0.2 Mostly familiar
0.4 Somewhat familiar
0.6 Considerably familiar
0.8 Mostly unfamiliar
1.0 Completely unfamiliar
Equation 2.4 is used to determine an equivalent number of new
lines of
code. The calculation of equivalent SLOC is based on the
product size being
adapted and a modifier that accounts for the effort involved in
fitting adapted
code into an existing product, called Adaptation Adjustment
Modifier (AAM).
AAM uses the factors discussed above, Software Understanding
(SU),
Programmer Unfamiliarity (UNFM), and Assessment and
Assimilation (AA) with
a factor called the Adaptation Adjustment Factor (AAF). AAF
contains the
quantities DM, CM, and IM where:
• DM (Percent Design Modified) is the percentage of the
adapted
software’s design which is modified in order to adapt it to the
new
objectives and environment. (This is necessarily a subjective
quantity.)
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 23 -
• CM (Percent Code Modified) is the percentage of the adapted
software’s code which is modified in order to adapt it to the
new
objectives and environment.
• IM (Percent of Integration Required for Adapted Software) is
the
percentage of effort required to integrate the adapted software
into an
overall product and to test the resulting product as compared to
the
normal amount of integration and test effort for software of
comparable size.
If there is no DM or CM (the component is being used
unmodified) then
there is no need for SU. If the code is being modified then SU
applies.
The range of AAM is shown in Figure 2.2. Under the worst
case, it can
take twice the effort to modify a reused module than developing
it as new (the
value of AAM can exceed 100). The best case follows a one for
one
correspondence between adapting an existing product and
developing it from
scratch.
2.2.4.3 Guidelines for Quantifying Adapted Software
This section provides guidelines to estimate adapted software
factors for
different categories of code using COCOMO II. The New
category refers to
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 24 -
software developed from scratch. Adapted code is pre-existing
code that has
some changes to it, while reused code has no changes to the pre-
existing source
(used as-is). COTS is off-the-shelf software that is generally
treated the same as
reused code when there are no changes to it. One difference is
that there may be
some new glue code associated with it that also needs to be
counted (this may
happen with reused software, but here the option of modifying
the source code
may make adapting the software more attractive).
Since there is no source modified in reused and COTS, DM=0,
CM=0, and
SU and UNFM don’t apply. AA and IM can have non-zero
values in this case.
Reuse doesn’t mean free integration and test. However in the
reuse approach,
with well-architected product-lines, the integration and test is
minimal.
For adapted software, CM > 0, DM is usually > 0, and all other
reuse
factors can have non-zero values. IM is expected to be at least
moderate for
adapted software, but can be higher than 100% for adaptation
into more complex
applications. Table 2.8 shows the valid ranges of reuse factors
with additional
notes for the different categories.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 25 -
Table 2.8 Adapted Software Parameter Constraints and
Guidelines
Code Category
Reuse Parameters
DM CM IM AA SU UNFM
New
- all original
software
not applicable
Adapted
- changes to pre-
existing software
0% - 100%
normally > 0%
0+% - 100%
usually > DM and
must be > 0%
0% - 100+%
IM usually
moderate and
can be > 100%
0% – 8%
0% - 50%
0 - 1
Reused
- unchanged
existing software
0%
0%
0% - 100%
rarely 0%, but
could be very
small
0% – 8%
not applicable
COTS
- off-the-shelf
software (often
requires new glue
code as a wrapper
around the COTS)
0%
0%
0% - 100%
0% – 8%
not applicable
2.2.5 Requirements Evolution and Volatility (REVL)
COCOMO II uses a factor called REVL, to adjust the effective
size of the
product due to requirements evolution and volatility due to such
factors as
mission or user interface evolution, technology upgrades, or
COTS volatility. It is
the percentage of code discarded due to requirements evolution.
For example, a
project which delivers 100,000 instructions but discards the
equivalent of an
additional 20,000 instructions has an REVL value of 20. This
would be used to
adjust the project’s effective size to 120,000 instructions for a
COCOMO II
estimation.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 26 -
The use of REVL for computing size in given in Equation 2.5.
DSize100
REVL1Size ⋅ ⎟
⎠
⎞
⎜
⎝
⎛ += Eqn. 2.5
where
SizeD is the reuse-equivalent of the delivered software.
2.2.6 Automatically Translated Code
The COCOMO II reuse model needs additional refinement to
estimate the
costs of software re-engineering and conversion. The major
difference in re-
engineering and conversion is the efficiency of automated tools
for software
restructuring. These can lead to very high values for the
percentage of code
modified (CM in the COCOMO II reuse model), but with very
little
corresponding effort. For example, in the NIST re-engineering
case study [Ruhl
and Gunn 1991], 80% of the code (13,131 COBOL source
statements) was re-
engineered by automatic translation, and the actual re-
engineering effort, 35
person months, was more than a factor of 4 lower than the
COCOMO estimate of
152 person months.
The COCOMO II re-engineering and conversion estimation
approach
involves estimation of an additional factor, AT, the percentage
of the code that is
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 27 -
re-engineered by automatic translation. Based on an analysis of
the project data
above, the productivity for automated translation is 2400 source
statements /
person month. This value could vary with different
technologies and is
designated in the COCOMO II model as another factor called
ATPROD. In the
NIST case study ATPROD = 2400. Equation 2.6 shows how
automated
translation affects the estimated effort, PMAuto.
( )
ATPROD
100
ATSLOC Adapted
PMAuto
×
= Eqn. 2.6
The NIST case study also provides useful guidance on
estimating the AT
factor, which is a strong function of the difference between the
boundary
conditions (e.g., use of COTS packages, change from batch to
interactive
operation) of the old code and the re-engineered code. The
NIST data on
percentage of automated translation (from an original batch
processing
application without COTS utilities) are given in Table 2.9 [Ruhl
and Gunn 1991].
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 28 -
Table 2.9 Variation in Percentage of Automated Re-engineering
Re-engineering Target AT (% automated translation)
Batch processing 96%
Batch with SORT 90%
Batch with DBMS 88%
Batch, SORT, DBMS 82%
Interactive 50%
Automated translation is considered to be a separate activity
from
development. Thus, its Adapted SLOC are not included as Size
in Equivalent
KSLOC, and its PMAUTO are not included in PMNS in
estimating the project’s
schedule.
2.2.7 Sizing Software Maintenance
COCOMO II differs from COCOMO 81 in applying the scale
drivers to
the size of the modified code rather that to the size of the
product being modified.
Applying the scale drivers to a 10 million SLOC product
produced overlarge
estimates as most of the product was not being touched by the
changes.
COCOMO II accounts for the effects of the product being
modified via its
software understanding and unfamiliarity factors discussed for
reuse in Section
2.2.4.2.
The scope of “software maintenance” follows the COCOMO 81
guidelines in [Boehm, 1981, pp.534-536]. It includes adding
new capabilities and
fixing or adapting existing capabilities. It excludes major
product rebuilds
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 29 -
changing over 50% of the existing software, and development of
sizable (over
20%) interfacing systems requiring little rework of the existing
system.
The maintenance size is normally obtained via Equation 2.7,
when the
base code size is known and the percentage of change to the
base code is known.
[ MAFMCFSize) Code (Base(Size)M ]××= Eqn.
2.7
The Maintenance Adjustment Factor (MAF) is discussed below.
But first,
the percentage of change to the base code is called the
Maintenance Change
Factor (MCF). The MCF is similar to the Annual Change
Traffic in COCOMO
81, except that maintenance periods other than a year can be
used. Conceptually
the MCF represents the ratio in Equation 2.8:
SizeCode Base
Modified Size Added SizeMCF +=
Eqn. 2.8
A simpler version can be used when the fraction of code added
or
modified to the existing base code during the maintenance
period is known.
Deleted code is not counted.
MAFModified) Size Added (Size(Size)M ×+=
Eqn. 2.9
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 30 -
The size can refer to thousands of source lines of code
(KSLOC), Function
Points, or Object Points. When using Function Points or Object
Points, it is better
to estimate MCF in terms of the fraction of the overall
application being changed,
rather than the fraction of inputs, outputs, screens, reports, etc.
touched by the
changes. Our experience indicates that counting the items
touched can lead to
significant over estimates, as relatively small changes can touch
a relatively large
number of items. In some very large COBOL programs, we
found ratios of 2 to 3
FP-touched/SLOC-changed as compared to 91 FP/SLOC for
development.
The Maintenance Adjustment Factor (MAF), Equation 2.10, is
used to
adjust the effective maintenance size to account for software
understanding and
unfamiliarity effects, as with reuse. COCOMO II uses the
Software
Understanding (SU) and Programmer Unfamiliarity (UNFM)
factors from its
reuse model (discussed in Section 2.2.4.2) to model the effects
of well or poorly
structured/understandable software on maintenance effort.
⎟
⎠
⎞
⎜
⎝
⎛ ×+= UNFM
100
SU1MAF Eqn. 2.10
The use of (Size)M in determining maintenance effort, Equation
2.9, is
discussed in Section 2.5.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 31 -
2.3 Effort Estimation
In COCOMO II effort is expressed as Person-Months (PM). A
person
month is the amount of time one person spends working on the
software
development project for one month. COCOMO II treats the
number of person-
hours per person-month, PH/PM, as an adjustable factor with a
nominal value of
152 hours per Person-Month. This number excludes time
typically devoted to
holidays, vacations, and weekend time off. The number of
person-months is
different from the time it will take the project to complete; this
is called the
development schedule or Time to Develop, TDEV. For
example, a project may
be estimated to require 50 PM of effort but have a schedule of
11 months. If you
use a different value of PH/PM--say, 160 instead of 152--
COCOMO II adjusts
the PM estimate accordingly (in this case, reducing by about
5%). This reduced
PM will result in a smaller estimate of development schedule.
The COCOMO II effort estimation model was introduced in
Equation 2.1,
and is summarized in Equation 2.11. This model form is used
for both the Early
Design and Post-Architecture cost estimation models. The
inputs are the Size of
software development, a constant, A, an exponent, E, and a
number of values
called effort multipliers (EM). The number of effort multipliers
depends on the
model.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 32 -
II.2000) COCOMO(for 2.94A where
EM(Size)APM
n
1i
i
E
=
××= ∏
= Eqn. 2.11
The exponent E is explained in detail in Section 2.3.1. The
effort
multipliers are explained in Section 2.3.2. The constant, A,
approximates a
productivity constant in (Person Months) / (thousands of lines
of source code) for
the case where E = 1.0. Productivity changes as E increases due
to the non-linear
effects on Size. The constant A is initially set when the model
is calibrated to the
project database reflecting a global productivity average. The
COCOMO model
should be calibrated to local data which then reflects the local
productivity and
improves the model's accuracy. Chapter 4 discusses how to
calibrate the model.
The Size is in units of thousands of source lines of code
(KSLOC). This is
derived from estimating the size of software modules that will
constitute the
application program. It can also be estimated from unadjusted
function points
(UFP), converted to SLOC, then divided by one thousand.
Procedures for
counting SLOC or UFP were explained in Section 2.2, including
adjustments for
reuse, requirements evolution, and automatically translated
code.
Cost drivers are used to capture characteristics of the software
development that affect the effort to complete the project. A
cost driver is a
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 33 -
model factor that "drives" the cost (in this case Person Months)
estimated by the
model. All COCOMO II cost drivers have qualitative rating
levels that expres
the impact of the driver on development effort. These ratings
can range from
Extra Low to Extra High. Each rating level of each cost driver
has a value, called
an effort multiplier (EM), associated with it. This scheme
translates a cost dri
qualitative rating into a quantitative one for use in the model.
The EM value
assigned to a cost driver's nominal rating is 1.00. If a cost
driver's rating level
causes more software development effort, then its corresponding
EM is above 1.0.
Conversel
s
ver's
y, if the rating level reduces the effort then the corresponding
EM is less
than 1.0
uld
here are 7
Archite
.
This ex
e
.
The rating of cost drivers is based on a strong rationale that
they wo
independently explain a significant source of project effort or
productivity
variation. The difference between the Early Design and Post-
Architecture models
are the number of cost drivers and the areas of influence they
explain. T
cost drivers for the Early Design model and 17 cost drivers for
the Post-
cture model. Each set is explained with its model later in the
chapter.
It turns out that the most significant input to the COCOMO II
model is
Size. Size is treated as a special cost driver in that it has an
exponential factor, E
ponent is an aggregation of five scale drivers. These are
discussed next.
What is not apparent in the model definition form given in
Equation 2.11
is that there are some model drivers that apply only to the
project as a whole. Th
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 34 -
scale drivers in the exponent, E, are only used at the project
level. Addition
one of the cost drivers that is in the product of effort
multipliers, Required
Development Schedule (SCED) is only used at the project level.
The other cos
drivers, which are all represented in the product of effort
multipliers, and size
apply to individual project components. The model can be used
to estimate eff
for a project that has only one component or multiple
components. For multi-
component pro
ally,
t
ort
jects the project-level cost drivers apply to all components, see
ection 2.2.3.
.3.1 Scale Drivers
t is
r
standards
and adm
S
2
The exponent E in Equation 2.11 is an aggregation of five scale
drivers
that account for the relative economies or diseconomies of scale
encountered for
software projects of different sizes [Banker et al 1994a]. If E <
1.0, the project
exhibits economies of scale. If the product's size is doubled,
the project effor
less than doubled. The project's productivity increases as the
product size is
increased. Some project economies of scale can be achieved via
project-specific
tools (e.g., simulations, testbeds) but in general these are
difficult to achieve. Fo
small projects, fixed start-up costs such as tool tailoring and
setup of
inistrative reports are often a source of economies of scale.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 35 -
If E = 1.0, the economies and diseconomies of scale are in
balance. This
linear model is often used for cost estimation of small projects.
If E > 1.0, the project exhibits diseconomies of scale. This is
generally
due to two main factors: growth of interpersonal
communications overhead
growth of large-system integration overhead. Larger projects
will have more
personnel, and thus more interpersonal communications paths
consuming
overhead. Integrating a small product as part of a larger
product requires no
the effort
and
t only
to develop the small product, but also the additional overhead
effort to
design,
ee [Banker et al 1994a] for a further discussion of software
economies
and diseconomies of scale.
maintain, integrate, and test its interfaces with the remainder of
the
product.
S
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 36 -
Figure 2.4 Diseconomies of Scale Effect on Effort
quation 2.12 defines the exponent, E, used in Equation 2.11.
Table 2.10
provides the rating levels for the COCOMO II scale drivers.
The selection of
scale drivers is based on the rationale that they
exponential variation on a project’s effort or productivity
variation. Each scale
Very Low to Extra High. Each rating
level ha
t c
0
2000
6000
8000
12000
14000
KSLOC
P
er
so
n
M
hs
4000
10000
16000
0 500 1000
on
t
B=1.226
B=0.91
B=1.00
E
are a significant source of
driver has a range of rating levels, from
s a weight. The specific value of the weight is called a scale
factor (SF).
The project's scale factors, the selected scale driver ratings, are
summed and used
to determine a scale exponent, E, via equation 2.12. The B term
in the equation is
a constant tha an be calibrated. Calibration is discussed in
Chapter 4.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 37 -
II.2000) COCOMO(for 0.91B where
SF0.01BE
5
1j= Eqn. 2.12
j
=
×+= ∑
For example, scale drivers in COCOMO II with an Extra High
rating are
ach assigned a scale factor weight of (0). Thus, a 100 KSLOC
project with Extra
High ratings for all scale drivers will have ΣSFj = 0, E = 0.91,
and a relative effort
of 2 94(1 0.91 94 Pe onths. F COM 0 c on of
scale factors in Table 2.10, a project with Very Low ratings for
all scale drivers
will have ΣS , E = 1 a rela t of 1.226
Person Months. This represents a large varia but the increase
invo in a
one-unit change in one of the factors is only about 6%. For
very large (1,000
) p e eff ale uc s r
2
e
. 00) = 1 rson M or the CO O II.200 alibrati
Fj=31.6 .226, and tive effor 2.94(100) = 832
tion, lved
KSLOC roducts, th ect of the sc factors is m h larger, as een in
Figu e
.4.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 38 -
Table 2.10 Scale Drivers for COCOMO II Models
Scale
rivers Very Low Low Nominal High
Very High Extra High D
PREC
thoroughly
unprecedented
largely
unprecedented
somewhat
unprecedented
generally
familiar
largely
familiar
thoroughly
familiar
SFj: 6.20 4.96 3.72 2.48 1.24 0.00
FLEX rigorous occasional some general some general
goals relaxation relaxation conformity conformity
SF : 5.07 4.05 3.04 2.03 1.01 0.00 j
RESL little (20%) some (40%) often (60%) generally
(75%)
mostly
(90%)
full (100%)
SFj: 7.07 5.65 4.24 2.83 1.41 0.00
very difficult some difficult basically
cooperative
interactions
largely
cooperative
highly
cooperative
seamless
interactions TEAM interactions interactions
SFj: 5.48 4.38 3.29 2.19 1.10 0.00
PMA
SW-CMM Level
Lower
SW-CMM Level
1 U
SW-CMM Level
2
SW-CMM SW-CMM
Level 4
SW-CMM
T 1 pper Level 3 Level 5
SFj: 7.80 6.24 4.68 3.12 1.56 0.00
or the estimated Process M l (EMPL) aturity Leve
le drivers ess and Flexibility largely capture the
ifferences between the Organic, Semidetached, and Embedded
modes of the
Table 2.11 and Table 2.12 reorganize
oehm 1981; Table 6.3] to map its project features onto the
Precedentedness and
Development Flexibility scales. These table can be used as a
more in depth
explanation for the PREC and FLEX rating scales given in
Table 2.10.
2.3.1.1 Precedentedness (PREC)
The two sca , Precedentedn
d
original COCOMO model [Boehm, 1981].
[B
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 39 -
If a product is similar to several previously developed projects,
then the
igh.
dness Rating Levels
eature Very Low Nominal / High Extra High
precedentedness is h
Table 2.11 Precedente
F
Organizational understanding
of product objectives
General Considerable Thorough
Experience in working with
related software systems
Moderate Considerable Extensive
Concurrent de
associated ne
opera
Some velopment of
w hardware and
tional procedures
Extensive Moderate
Need
processing architectures,
algori
Minimal for innovative data
thms
Considerable Some
2.3.1.2 Development Flexibility (FLEX)
Table 2.12 Development Flexibility Rating Levels
Fe xtra High ature Very Low Nominal / High E
Need for software
confo
estab
Basic
rmance with pre-
lished requirements
Full Considerable
Need for software
confo
interface specifications
Full Considerable Basic
rmance with external
Comb
above with p
compl
Low ination of inflexibilities
remium on early
etion
High Medium
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 40 -
The PREC and FLEX scale factors are largely intrinsic to a
project and
uncontrollable. The next three factors identify management
controllables by
hich projects can reduce diseconomies of scale by reducing
sources of project
turbulence, entropy, and rework.
cture / Ris lution )
combines two of the scale drivers in Ada COCOMO, “Design
y Product Revi R)” a sk E by
oyce 1989; Figures 4 and 5]. Table 2.13 consolidates the
atings to fo a more c rehensive definition for the
SL rating levels. It also relates the rating level to the
ife Cycle A itecture ( ) milestone as well as to the wate
he RES g is th ective ed ave f the l
evels
w
2.3.1.3 Archite k Reso (RESL
This factor
Thoroughness b
PDR” [Boehm and R
Design ew (PD nd “Ri limination
Ada COCOMO r
COCOMO II RE
rm omp
MBASE/RUP L rch LCA rfall
PDR milestone. T
characteristics.
L ratin e subj weight rage o isted
Table 2.13 RESL Rating L
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 41 -
Charac
Low
Very
High
Extra
High
teristic Very Low Nominal High
Risk M
identifi
establis
resolvi
LCA.
Mostly Fully anagement Plan
es all critical risk items,
hes milestones for
ng them by PDR or
None Little Some Generally
Sched
internal mil
PDR o
Risk M
ostly Fully ule, budget, and
estones through
r LCA compatible with
anagement Plan.
None Little Some Generally M
Percent of de
schedu
establishing architecture,
given g
objecti
40 velopment
le devoted to
eneral product
ves.
5 10 17 25 33
Percen
softwa
to project.
40 60 80 100 120 t of required top
re architects available
20
Tool su rt available for
resolving risk items,
develo
archite
None Little Some Good Strong Full ppo
ping and verifying
ctural specs.
Level of uncertainty in key
architecture drivers: mission,
user interface, COTS
hardware, tech
perform
Extreme Significant Considera
ble
Some Little Very Little
,
nology,
ance.
Numbe
items.
> 10
Criti
5-10
Crit
2-4 Critical 1 Critical > 5Non-
C
< 5 Non-
al
r and criticality of risk
cal ical ritical Critic
2.3.1.4 Team Cohesion (TEA
eam Cohesion scale driver accounts for the sources of project
es in synchronizing the project’s
, maintainers, interfacers, others. These
ficulties may arise from differences in stakeholder objectives
and cultures;
; and stakeholders' lack of experience and
M)
The T
turbulence and entropy due to difficulti
stakeholders: users, customers, developers
dif
difficulties in reconciling objectives
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 42 -
familiarity in operating as a team. Table 2.14 provides a
detailed definition for
the ove
Characteristic
Very
Low
Low
Nominal
High
Very
High
Extra
High
rall TEAM rating levels. The final rating is the subjective
weighted
average of the listed characteristics.
Table 2.14 TEAM Rating Components
Consistency of stakeholder
obje
Little Some Basic Considera Strong Full
ctives and cultures ble
A
s
bili
takeholders to
accommod
stakeholders’ o
ble
trong Full ty, willingness of Little Some Basic Considera S
ate other
bjectives
Experience of stake s i
operating as a te
ittle Basic sidera
Extensive h
am
older n None Little L Con
ble
Stakeholder te to
achieve share
ommitments
tle Little Basic sidera
Extensive ambuilding
vision andd
None Lit Con
ble
c
Overall Ma
or
2.3.1.5 Process Maturity (PMAT)
turity Levels
The procedure for determining PMAT is organized around the
Software
Engineering Institute’s Capability Maturity Model (CMM). The
time period f
rating Process Maturity is the time the project starts. There are
two ways of rating
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 43 -
Process Maturity. The first captures the result of an organized
evaluation based
on the CMM.
Table 2.15 PMAT Ratings for Estimated Process Maturity Level
(EPM
PMAT Rating
Very Low - CM
L)
Maturity Level EPML
M Level 1 (lower half) 0
Low - CMM Level 1 (upper half) 1
Nominal - CMM Level 2 2
High - CMM Level 3 3
Very High - CMM Level 4 4
Extra High - CMM Level 5 5
Key Process Area Questionnaire
The second is organized around the 18 Key Process Areas
(KPAs) in the
SEI Capability Maturity Model [Paulk et al., 1993, 1993a]. The
procedure for
determining PMAT is to decide the percentage of compliance
for each of the
KPAs. If the project has undergone a recent CMM Assessment
then the
percentage compliance for the overall KPA (based on KPA Key
Practice
compliance assessment data) is used. If an assessment has not
been done then the
levels of compliance to the KPA’s goals are used (with the
Likert scale in Table
2.16) to set the level of compliance. The goal-based level of
compliance is
determined by a judgement-based averaging across the goals for
each Key
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 44 -
Process Area. See [Paulk et al., 1995] for more information on
the KPA
efinitions, goals and activities.
Table 2.16 KPA Ra
A
lm
o
ys
1
Fr
eq
ue
n
2
A
bo
ut
H
al
O
cc
a
4
R
ar
el
y
if
Ev
er
5
D
oe
s
N
o
pl
y6
D
on
’t
K
no
w
7
d
ting Levels
Key Process Areas (KPA)
st
A
lw
a
tly
f3
si
on
al
ly
t A
p
Requirements Management
ne for software engineering and management use.
ocated to software.
� � � � � � �
• System requirements allocated to software are controlled to
establish a baseli
• Software plans, products, and activities are kept consistent
with the
system requirements all
Software Project Planning
• Software estimates are documented for use in planning and
tracking
the software project.
d groups and individuals agree to their commitments related
• Software project activities and commitments are planned and
documented.
• Affecte
to the software project.
�
�
�
�
�
�
�
Software Project Tracking and Oversight
tracked against the software
actual
re commitments are agreed to by the affected
�
�
�
�
�
• Actual results and performances are
plans
• Corrective actions are taken and managed to closure when
results and performance deviate significantly from the software
plans.
• Changes to softwa
groups and individuals.
�
�
Software Subcontract Management
• The prime contractor selects qualified software
subcontractors.
• The prome contractor and the subcontractor agree to their
h other.
r and the subcontractor maintain ongoing
communications.
The prime contractor tracks the subcontractor’s actual results
and
performance against its commitments.
�
�
�
�
�
� commitments to eac
• The prome contracto
•
�
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 45 -
Table 2.16 (Cont'd)
Software Quality Assurance (SQA)
• SQA activities are planned.
• Adherence of software products and activities to the
applicable
standards, procedures, and requirements is verified objectively.
of• Affected groups and individuals are informed
ults.
software quality
re
�
�
�
�
�
�
�
assurance activities and res
• Noncompliance issues that cannot be resolved within the
softwa
project are addressed by senior management.
Software Configuration Management (SCM)
• SCM activites are planned.
• Selected workproducts are ide
•
ntified, controlled, and available.
�
�
�
�
�
Changes to identified work products are controlled.
• Affected groups and individuals are informed of the status and
content of software baselines.
� �
Organization Process Focus
• Software process development and improvement activities are
coordinated across the organization.
• The strengths and weaknesses of the software processes used
are
s
�
�
�
�
�
identified relative to a process standard.
• Organization-level process development and improvement
activitie
are planned.
�
�
Organization Process Definition
• A standard software process for the organiation is developed
and
maintained.
• Information related to the use of the organization’s standard
�
�
�
�
�
software process by the software projects is collected, reviewed,
and
made available.
� �
Training Program
• Training activities are planned.
Training for developing the skills and knowledge needed to
perfo• rm
software management and technical roles is provided.
• Individuals in the software engineering group and software-
related
groups receive the training necessary to perform their roles.
�
�
�
�
�
�
�
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 46 -
Table 2.16 (Cont'd)
Integrated Software Management
• The project’s defined software process is a tailored version of
the
organization’s standard software process.
• The project is planned and managed according to the project’s
defined software process.
�
�
�
�
�
�
�
Software Product Engineering
• The software engineering tasks are defined, integrated, and
consistently performed to produce the software
• Software work products are kept consistent with each other.
�
�
�
�
�
�
�
Intergroup Coordination
• The customer’s requirements are agreed to by all affected
groups.
• The commitments between the engineering groups are agreed
to by
the affected groups.
• The engineering groups identify, track, and resolve intergroup
issues.
�
�
�
�
�
�
�
Peer Reviews
• Peer review activities are planned.
• Defects in the software work products are identified and
removed.
�
�
�
�
�
�
�
Quantitative Process Management
• The quantitative process management activities are planned.
• The process performance of the project’s defined software
process
is controlled quantitatively.
• The process capability of the organization’s standard software
process is known in quantitative terms.
�
�
�
�
�
�
�
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 47 -
Table 2.16 (Cont'd)
Software Quality Management
• The project’s software quality management activities are
planned.
• Measurable goals of software product quality and their
priorities are
defined.
• Actual progress toward achieving the quality goals for the
software
products is quantified and managed.
�
�
�
�
�
�
�
Defect Prevention
• Defect prevention activities are planned.
• Common causes of defects are sought out and identified.
• Common causes of defects are priortized and systematically
eliminated.
�
�
�
�
�
�
�
Technology Change Management
• Incorporation of technology changes are planned.
• New technologies are evaluated to determine their effect on
quality
and productivity.
• Appropriate new technologies are transferred into normal
practice
across the organization.
�
�
�
�
�
�
�
Process Change Management
• Continuous process improvement is planned.
• Participation in the organization’s software process
improvement
activities is organization wide.
• The organization’s standard software process and the project’s
defined software processes are improved continuously.
�
�
�
�
�
�
�
1. Check Almost Always when the goals are consistently
achieved and are well established in standard operating
procedures
(over 90% of the time).
2. Check Frequently when the goals are achieved relatively
often, but sometimes are omitted under difficult circumstances
(about
60 to 90% of the time).
3. Check About Half when the goals are achieved about half of
the time (about 40 to 60% of the time).
4. Check Occasionally when the goals are sometimes achieved,
but less often (about 10 to 40% of the time).
5. Check Rarely If Ever when the goals are rarely if ever
achieved (less than 10% of the time).
6. Check Does Not Apply when you have the required
knowledge about your project or organization and the KPA, but
you feel
the KPA does not apply to your circumstances.
7. Check Don’t Know when you are uncertain about how to
respond for the KPA.
An equivalent process maturity level (EPML) is computed as
five times
the average compliance level of all n rated KPAs for a single
project (Does Not
Apply and Don’t Know are not counted which sometimes makes
n less than 18).
After each KPA is rated the rating level is weighted (100% for
Almost Always,
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 48 -
75% for Frequently, 50% for About Half, 25% for Occasionally,
1% for Rarely if
Ever). The EPML is calculated as in Equation 2-13.
n
1
100
KPA%
5EPML
n
1i
i ×⎟
⎠
⎞
⎜
⎝
⎛
×= ∑
=
Eqn. 2.13
An EPML of 0 corresponds with a PMAT rating level of Very
Low in the
rating scales of Table 2.10 and Table 2.15.
The COCOMO II project is tracking the progress of the recent
CMM
Integration (CMM-I) activity to determine likely future
revisions in the definition
of PMAT.
2.3.2 Effort Multipliers
2.3.2.1 Post-Architecture Cost Drivers
This model is the most detailed and it is intended to be used
when a
software life cycle architecture has been developed. This model
is used in the
development and maintenance of software products in the
Application Generators,
System Integration, or Infrastructure sectors discussed in
Chapter 1.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 49 -
The 17 Post-Architecture effort multipliers (EM) are used in the
COCOMO II model to adjust the nominal effort, Person-Months,
to reflect the
software product under development, see Equation 2.11. Each
cost driver is
defined below by a set of rating levels and a corresponding set
of effort
multipliers. The Nominal level always has an effort multiplier
of 1.00, which
does not change the estimated effort. Off-nominal ratings
generally do change the
estimated effort. For example, a high rating of Required
Software Reliability
(RELY) will add 10% to the estimated effort, as determined by
the COCOMO
II.2000 data calibration. A Very High RELY rating will add
26%. It is possible
to assign intermediate rating levels and corresponding effort
multipliers for your
project. For example, the USC COCOMO II software tool
supports rating cost
drivers between the rating levels in quarter increments, e.g.
Low+0.25,
Nominal+0.50, High+0.75, etc. Whenever an assessment of a
cost driver is
halfway between quarter increments always round to the
Nominal rating, e.g. if a
cost driver rating falls halfway between Low+0.5 and
Low+0.75, then select
Low+0.75; or if a rating falls halfway between High+0.25 and
High+0.5, then
select High+0.25. Normally, linear interpolation is used to
determine
intermediate multiplier values, but nonlinear interpolation is
more accurate for the
high end of the TIME and STOR cost drivers and the low end of
SCED.
The COCOMO II model can be used to estimate effort and
schedule for
the whole project or for a project that consists of multiple
modules. The size and
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 50 -
cost driver ratings can be different for each module, with the
exception of the
Required Development Schedule (SCED) cost driver and the
scale drivers. The
unique handling of SCED is discussed in Section 2.3.2.1.4 and
in 2.4.
2.3.2.1.1 Product Factors
Product factors account for variation in the effort required to
develop
software due to characteristics of the product under
development. A product that
is complex, has high reliability requirements, or works with a
large database will
require more effort to complete. There are five product factors
and complexity
has the strongest influence on estimated effort.
Required Software Reliability (RELY)
This is the measure of the extent to which the software must
perform its
intended function over a period of time. If the effect of a
software failure is only
slight inconvenience then RELY is very low. If a failure would
risk human life
then RELY is very high.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 51 -
Table 2.17 RELY Cost Driver
RELY
Descriptors:
slight
inconven-
ience
low, easily
recoverable
losses
moderate,
easily
recoverable
losses
high
financial
loss
risk to
human life
Rating Levels Very Low Low Nominal High Very High Extra
High
Effort Multipliers 0.82 0.92 1.00 1.10 1.26 n/a
This cost driver can be influenced by the requirement to
develop software for
reusability, see the description for RUSE.
Data Base Size (DATA)
This measure attempts to capture the effect large data
requirements have
on product development. The rating is determined by
calculating D/P, the ratio of
bytes in the database to SLOC in the program. The reason the
size of the database
is important to consider is because of the effort required to
generate the test data
that will be used to exercise the program. In other words,
DATA is capturing the
effort needed to assemble the data required to complete test of
the program
through IOC.
© 1999-2000 USC Center for Software Engineering. All Rights
Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
COCOMO II/Chapter 2/Boehm et al.
- 52 -
Table 2.18 DATA Cost Driver
DATA*
Descriptors
DB
bytes/Pgm
SLOC < 10
10 ≤ D/P <
100
100 ≤ D/P <
1000
D/P ≥ 1000
Rating Levels Very Low Low Nominal High Very High Extra
High
Effort Multipliers n/a 0.90 1.00 1.14 1.28 n/a
* DATA is rated as Low if D/P is less than 10 and it is very
high if it is greater than 1000. P is measured in
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy
How Adult Students Learn: Examining Knowles' Model of Andragogy

More Related Content

Similar to How Adult Students Learn: Examining Knowles' Model of Andragogy

Curriculum centered learning and curriculum overview of class 9th and 10th pr...
Curriculum centered learning and curriculum overview of class 9th and 10th pr...Curriculum centered learning and curriculum overview of class 9th and 10th pr...
Curriculum centered learning and curriculum overview of class 9th and 10th pr...Fakhra Muhabat
 
Adult learning (3)
Adult learning (3)Adult learning (3)
Adult learning (3)Reham Ismail
 
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHING
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHINGINTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHING
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHINGizaherna
 
Hughes final chapter iii
Hughes final chapter iiiHughes final chapter iii
Hughes final chapter iiiKellyh84
 
Adult Learning -Andrgogy -Webinar.pptx
Adult Learning -Andrgogy -Webinar.pptxAdult Learning -Andrgogy -Webinar.pptx
Adult Learning -Andrgogy -Webinar.pptxanjali613449
 
Innovative Strategies in Current Learning Situations.pptx
Innovative Strategies in Current Learning Situations.pptxInnovative Strategies in Current Learning Situations.pptx
Innovative Strategies in Current Learning Situations.pptxMadonnaLuzClaritaHug
 
10 innovative learning strategies for modern pedagogy of subject at secondary...
10 innovative learning strategies for modern pedagogy of subject at secondary...10 innovative learning strategies for modern pedagogy of subject at secondary...
10 innovative learning strategies for modern pedagogy of subject at secondary...Dr. Goutam Patra
 
Pedagogy and innovative approaches in Teaching and learning.pptx
Pedagogy and innovative approaches in Teaching and learning.pptxPedagogy and innovative approaches in Teaching and learning.pptx
Pedagogy and innovative approaches in Teaching and learning.pptxjagannath Dange
 
Innovative methods of teaching
Innovative methods of teachingInnovative methods of teaching
Innovative methods of teachingGunjan Verma
 
Active Learning As Teaching Strategies
Active Learning As Teaching StrategiesActive Learning As Teaching Strategies
Active Learning As Teaching Strategiesnoblex1
 
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...L Heading For Constructing: The Reform Direction Of College Teaching A Case S...
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...inventionjournals
 
Another journal article on Differentiated Reading
Another journal article on Differentiated ReadingAnother journal article on Differentiated Reading
Another journal article on Differentiated Readingdianakamaruddin
 
Education-Techniques-for-Lifelong-Learning.pdf
Education-Techniques-for-Lifelong-Learning.pdfEducation-Techniques-for-Lifelong-Learning.pdf
Education-Techniques-for-Lifelong-Learning.pdfClark Sabalboro
 
Online assignment need of research
Online assignment  need of researchOnline assignment  need of research
Online assignment need of researchsujo272
 

Similar to How Adult Students Learn: Examining Knowles' Model of Andragogy (20)

Curriculum centered learning and curriculum overview of class 9th and 10th pr...
Curriculum centered learning and curriculum overview of class 9th and 10th pr...Curriculum centered learning and curriculum overview of class 9th and 10th pr...
Curriculum centered learning and curriculum overview of class 9th and 10th pr...
 
Adult learning (3)
Adult learning (3)Adult learning (3)
Adult learning (3)
 
PhilosophyofTeachingStatement01
PhilosophyofTeachingStatement01PhilosophyofTeachingStatement01
PhilosophyofTeachingStatement01
 
Andragogy vs.pdf
Andragogy vs.pdfAndragogy vs.pdf
Andragogy vs.pdf
 
Principles of teaching
Principles of teachingPrinciples of teaching
Principles of teaching
 
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHING
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHINGINTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHING
INTRODUCTORY REMARKS ON KNOWLEDGE, LEARNING AND TEACHING
 
Guided theory
Guided theoryGuided theory
Guided theory
 
Hughes final chapter iii
Hughes final chapter iiiHughes final chapter iii
Hughes final chapter iii
 
Dr. ross article new
Dr. ross   article newDr. ross   article new
Dr. ross article new
 
Adult Learning -Andrgogy -Webinar.pptx
Adult Learning -Andrgogy -Webinar.pptxAdult Learning -Andrgogy -Webinar.pptx
Adult Learning -Andrgogy -Webinar.pptx
 
Innovative Strategies in Current Learning Situations.pptx
Innovative Strategies in Current Learning Situations.pptxInnovative Strategies in Current Learning Situations.pptx
Innovative Strategies in Current Learning Situations.pptx
 
10 innovative learning strategies for modern pedagogy of subject at secondary...
10 innovative learning strategies for modern pedagogy of subject at secondary...10 innovative learning strategies for modern pedagogy of subject at secondary...
10 innovative learning strategies for modern pedagogy of subject at secondary...
 
Comparative essay
Comparative essayComparative essay
Comparative essay
 
Pedagogy and innovative approaches in Teaching and learning.pptx
Pedagogy and innovative approaches in Teaching and learning.pptxPedagogy and innovative approaches in Teaching and learning.pptx
Pedagogy and innovative approaches in Teaching and learning.pptx
 
Innovative methods of teaching
Innovative methods of teachingInnovative methods of teaching
Innovative methods of teaching
 
Active Learning As Teaching Strategies
Active Learning As Teaching StrategiesActive Learning As Teaching Strategies
Active Learning As Teaching Strategies
 
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...L Heading For Constructing: The Reform Direction Of College Teaching A Case S...
L Heading For Constructing: The Reform Direction Of College Teaching A Case S...
 
Another journal article on Differentiated Reading
Another journal article on Differentiated ReadingAnother journal article on Differentiated Reading
Another journal article on Differentiated Reading
 
Education-Techniques-for-Lifelong-Learning.pdf
Education-Techniques-for-Lifelong-Learning.pdfEducation-Techniques-for-Lifelong-Learning.pdf
Education-Techniques-for-Lifelong-Learning.pdf
 
Online assignment need of research
Online assignment  need of researchOnline assignment  need of research
Online assignment need of research
 

More from sleeperharwell

For this assignment, review the articleAbomhara, M., & Koie.docx
For this assignment, review the articleAbomhara, M., & Koie.docxFor this assignment, review the articleAbomhara, M., & Koie.docx
For this assignment, review the articleAbomhara, M., & Koie.docxsleeperharwell
 
For this assignment, provide your perspective about Privacy versus N.docx
For this assignment, provide your perspective about Privacy versus N.docxFor this assignment, provide your perspective about Privacy versus N.docx
For this assignment, provide your perspective about Privacy versus N.docxsleeperharwell
 
For this assignment, provide your perspective about Privacy vers.docx
For this assignment, provide your perspective about Privacy vers.docxFor this assignment, provide your perspective about Privacy vers.docx
For this assignment, provide your perspective about Privacy vers.docxsleeperharwell
 
For this Assignment, read the case study for Claudia and find two to.docx
For this Assignment, read the case study for Claudia and find two to.docxFor this Assignment, read the case study for Claudia and find two to.docx
For this Assignment, read the case study for Claudia and find two to.docxsleeperharwell
 
For this assignment, please start by doing research regarding the se.docx
For this assignment, please start by doing research regarding the se.docxFor this assignment, please start by doing research regarding the se.docx
For this assignment, please start by doing research regarding the se.docxsleeperharwell
 
For this assignment, please discuss the following questionsWh.docx
For this assignment, please discuss the following questionsWh.docxFor this assignment, please discuss the following questionsWh.docx
For this assignment, please discuss the following questionsWh.docxsleeperharwell
 
For this assignment, locate a news article about an organization.docx
For this assignment, locate a news article about an organization.docxFor this assignment, locate a news article about an organization.docx
For this assignment, locate a news article about an organization.docxsleeperharwell
 
For this assignment, it requires you Identifies the historic conte.docx
For this assignment, it requires you Identifies the historic conte.docxFor this assignment, it requires you Identifies the historic conte.docx
For this assignment, it requires you Identifies the historic conte.docxsleeperharwell
 
For this assignment, create a framework from which an international .docx
For this assignment, create a framework from which an international .docxFor this assignment, create a framework from which an international .docx
For this assignment, create a framework from which an international .docxsleeperharwell
 
For this assignment, create a 15-20 slide digital presentation in tw.docx
For this assignment, create a 15-20 slide digital presentation in tw.docxFor this assignment, create a 15-20 slide digital presentation in tw.docx
For this assignment, create a 15-20 slide digital presentation in tw.docxsleeperharwell
 
For this assignment, you are to complete aclinical case - narrat.docx
For this assignment, you are to complete aclinical case - narrat.docxFor this assignment, you are to complete aclinical case - narrat.docx
For this assignment, you are to complete aclinical case - narrat.docxsleeperharwell
 
For this assignment, you are to complete aclinical case - narr.docx
For this assignment, you are to complete aclinical case - narr.docxFor this assignment, you are to complete aclinical case - narr.docx
For this assignment, you are to complete aclinical case - narr.docxsleeperharwell
 
For this assignment, you are provided with four video case studies (.docx
For this assignment, you are provided with four video case studies (.docxFor this assignment, you are provided with four video case studies (.docx
For this assignment, you are provided with four video case studies (.docxsleeperharwell
 
For this assignment, you are going to tell a story, but not just.docx
For this assignment, you are going to tell a story, but not just.docxFor this assignment, you are going to tell a story, but not just.docx
For this assignment, you are going to tell a story, but not just.docxsleeperharwell
 
For this assignment, you are asked to prepare a Reflection Paper. Af.docx
For this assignment, you are asked to prepare a Reflection Paper. Af.docxFor this assignment, you are asked to prepare a Reflection Paper. Af.docx
For this assignment, you are asked to prepare a Reflection Paper. Af.docxsleeperharwell
 
For this assignment, you are asked to prepare a Reflection Paper. .docx
For this assignment, you are asked to prepare a Reflection Paper. .docxFor this assignment, you are asked to prepare a Reflection Paper. .docx
For this assignment, you are asked to prepare a Reflection Paper. .docxsleeperharwell
 
For this assignment, you are asked to conduct some Internet research.docx
For this assignment, you are asked to conduct some Internet research.docxFor this assignment, you are asked to conduct some Internet research.docx
For this assignment, you are asked to conduct some Internet research.docxsleeperharwell
 
For this assignment, you are a professor teaching a graduate-level p.docx
For this assignment, you are a professor teaching a graduate-level p.docxFor this assignment, you are a professor teaching a graduate-level p.docx
For this assignment, you are a professor teaching a graduate-level p.docxsleeperharwell
 
For this assignment, we will be visiting the PBS website,Race  .docx
For this assignment, we will be visiting the PBS website,Race  .docxFor this assignment, we will be visiting the PBS website,Race  .docx
For this assignment, we will be visiting the PBS website,Race  .docxsleeperharwell
 
For this assignment, the student starts the project by identifying a.docx
For this assignment, the student starts the project by identifying a.docxFor this assignment, the student starts the project by identifying a.docx
For this assignment, the student starts the project by identifying a.docxsleeperharwell
 

More from sleeperharwell (20)

For this assignment, review the articleAbomhara, M., & Koie.docx
For this assignment, review the articleAbomhara, M., & Koie.docxFor this assignment, review the articleAbomhara, M., & Koie.docx
For this assignment, review the articleAbomhara, M., & Koie.docx
 
For this assignment, provide your perspective about Privacy versus N.docx
For this assignment, provide your perspective about Privacy versus N.docxFor this assignment, provide your perspective about Privacy versus N.docx
For this assignment, provide your perspective about Privacy versus N.docx
 
For this assignment, provide your perspective about Privacy vers.docx
For this assignment, provide your perspective about Privacy vers.docxFor this assignment, provide your perspective about Privacy vers.docx
For this assignment, provide your perspective about Privacy vers.docx
 
For this Assignment, read the case study for Claudia and find two to.docx
For this Assignment, read the case study for Claudia and find two to.docxFor this Assignment, read the case study for Claudia and find two to.docx
For this Assignment, read the case study for Claudia and find two to.docx
 
For this assignment, please start by doing research regarding the se.docx
For this assignment, please start by doing research regarding the se.docxFor this assignment, please start by doing research regarding the se.docx
For this assignment, please start by doing research regarding the se.docx
 
For this assignment, please discuss the following questionsWh.docx
For this assignment, please discuss the following questionsWh.docxFor this assignment, please discuss the following questionsWh.docx
For this assignment, please discuss the following questionsWh.docx
 
For this assignment, locate a news article about an organization.docx
For this assignment, locate a news article about an organization.docxFor this assignment, locate a news article about an organization.docx
For this assignment, locate a news article about an organization.docx
 
For this assignment, it requires you Identifies the historic conte.docx
For this assignment, it requires you Identifies the historic conte.docxFor this assignment, it requires you Identifies the historic conte.docx
For this assignment, it requires you Identifies the historic conte.docx
 
For this assignment, create a framework from which an international .docx
For this assignment, create a framework from which an international .docxFor this assignment, create a framework from which an international .docx
For this assignment, create a framework from which an international .docx
 
For this assignment, create a 15-20 slide digital presentation in tw.docx
For this assignment, create a 15-20 slide digital presentation in tw.docxFor this assignment, create a 15-20 slide digital presentation in tw.docx
For this assignment, create a 15-20 slide digital presentation in tw.docx
 
For this assignment, you are to complete aclinical case - narrat.docx
For this assignment, you are to complete aclinical case - narrat.docxFor this assignment, you are to complete aclinical case - narrat.docx
For this assignment, you are to complete aclinical case - narrat.docx
 
For this assignment, you are to complete aclinical case - narr.docx
For this assignment, you are to complete aclinical case - narr.docxFor this assignment, you are to complete aclinical case - narr.docx
For this assignment, you are to complete aclinical case - narr.docx
 
For this assignment, you are provided with four video case studies (.docx
For this assignment, you are provided with four video case studies (.docxFor this assignment, you are provided with four video case studies (.docx
For this assignment, you are provided with four video case studies (.docx
 
For this assignment, you are going to tell a story, but not just.docx
For this assignment, you are going to tell a story, but not just.docxFor this assignment, you are going to tell a story, but not just.docx
For this assignment, you are going to tell a story, but not just.docx
 
For this assignment, you are asked to prepare a Reflection Paper. Af.docx
For this assignment, you are asked to prepare a Reflection Paper. Af.docxFor this assignment, you are asked to prepare a Reflection Paper. Af.docx
For this assignment, you are asked to prepare a Reflection Paper. Af.docx
 
For this assignment, you are asked to prepare a Reflection Paper. .docx
For this assignment, you are asked to prepare a Reflection Paper. .docxFor this assignment, you are asked to prepare a Reflection Paper. .docx
For this assignment, you are asked to prepare a Reflection Paper. .docx
 
For this assignment, you are asked to conduct some Internet research.docx
For this assignment, you are asked to conduct some Internet research.docxFor this assignment, you are asked to conduct some Internet research.docx
For this assignment, you are asked to conduct some Internet research.docx
 
For this assignment, you are a professor teaching a graduate-level p.docx
For this assignment, you are a professor teaching a graduate-level p.docxFor this assignment, you are a professor teaching a graduate-level p.docx
For this assignment, you are a professor teaching a graduate-level p.docx
 
For this assignment, we will be visiting the PBS website,Race  .docx
For this assignment, we will be visiting the PBS website,Race  .docxFor this assignment, we will be visiting the PBS website,Race  .docx
For this assignment, we will be visiting the PBS website,Race  .docx
 
For this assignment, the student starts the project by identifying a.docx
For this assignment, the student starts the project by identifying a.docxFor this assignment, the student starts the project by identifying a.docx
For this assignment, the student starts the project by identifying a.docx
 

Recently uploaded

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdfSoniaTolstoy
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 

Recently uploaded (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdfBASLIQ CURRENT LOOKBOOK  LOOKBOOK(1) (1).pdf
BASLIQ CURRENT LOOKBOOK LOOKBOOK(1) (1).pdf
 
Staff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSDStaff of Color (SOC) Retention Efforts DDSD
Staff of Color (SOC) Retention Efforts DDSD
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 

How Adult Students Learn: Examining Knowles' Model of Andragogy

  • 1. 99 Back to contentsPrevious Next The rationale for writing on this topic area came about from my experience with teaching adults on a variety of evening programmes. Students from a variety of backgrounds tend to enrol on business type courses that are accred- ited by the Institute of Commercial Management and Institute of Public Administration. In some cases, the students in these courses left education at a young age, often before they had completed secondary education, often due to not being comfortable with the teaching style that was adopted by the teacher in the classroom. Students felt that the teaching style did not promote learning in the classroom and that students were not allowed to question the material discussed in the classroom. When these students enrolled in evening programmes they were often surprised that they were allowed to contribute to discussions in relation to a variety of topics. The difference in the teaching style often encouraged students to further their education and to participate in more courses at a later stage.
  • 2. While there may be similarities between adults and children in how they learn (such as language, interaction and communication), many writers argue that adult learners are different from child learners in a number of ways. The aim of this article is to review how adults learn through examining one particular theory of adult learning. Adult learners need to know why they are learning new knowledge before they are willing to participate. In the context of evening courses such as those focus- ing on business subjects, employers seek to convince adult learners to partic- ipate in a course by emphasising the benefits of acquiring a qualification or learning new skills. This can be evidenced in situations where adults partici- Reviewing the Evidence on How Adult Students Learn: An Examination of Knowles’ Model of Andragogy valerie mcgrath 100 Back to contents NextPrevious pate in courses that focus on management, marketing and accounting skills. Students are encouraged to incorporate what they learn in the
  • 3. classroom into their everyday work lives via a work-based project. If adults are aware why they are learning new skills, there will be a ‘readiness’ to learn and they will be more willing to participate in discussions in the classroom or learning context. Adult learners who have been given a ‘second chance’ at education might be more motivated to learn than children or secondary school students because they will be able to draw a connection between the material that is discussed in the classroom and what is happening in their own lives. Unlike children, adults tend to take responsibility for their own learning and they do not want to be directed by the lecturer during class. Two conflicting learning theories, known as andragogy and pedagogy, have a particular relevance to the adult educator. The pedagogical theory assumes that the student will simply learn what they have been told. Some people would associate pedagogy solely with children, but surprisingly it can also be associ- ated with adult learning. The majority of today’s adult learners were exposed to classroom learning in previous educational experiences that promoted pedagogical practices. As a result of this experience adults may be unwilling to participate in an adult education type course later in life as they have the perception that the same style of teaching and learning is still in
  • 4. existence in today’s adult classroom. Of course in certain circumstances students come to a course without having any background knowledge of the field of study. For example, if a person was to attend an accounting course with no background knowledge of the area, the lecturer would have to use the pedagogical approach in which they would explain the basics of accounting to the student. As the course progresses, the student is asked to apply examples from their own interest or field of practice to the course so they can create a link between their own experience and the course material. However, by adopting this strategy it is very difficult to change direction and encourage the student away from being dependent to being inde- pendent learners because once the student is comfortable with the style that is being used in the classroom, they might fear a change in style of teaching. Even though Knowles was a keen advocate of the theory of andragogy he noted that ‘pedagogical strategy is appropriate at least as a starting point (when learners are indeed dependent) when entering a totally strange content area’ (Knowles, 1998, p. 70). In a sense it is contradictory to what he said previously,
  • 5. 101 Back to contentsPrevious Next but in reality lecturers in many instances use a pedagogical style of teaching at the start of a course in order to ensure that students gain an understanding of a topic that they may not be very familiar with. However, pedagogy is not with- out its criticism. Knowles et al (1998, p.61) stated that pedagogy is based on the following assumptions: • Firstly, students only need to learn what the teacher teaches them. Students need only learn material that will be used to answer questions during an exam. • Secondly, the pedagogical theory of learning implies that the adult learn- ers experience is not necessary for learning so adults who have no expe- rience in an area can gain entry onto a course and learn a new skill. For example, institutions that have courses in computers for beginners often state that it is not necessary for students to have previous experience to attend classes. • Thirdly, according to Knowles et al (1998, p. 63), the
  • 6. ‘teachers concept of the learner is that of a dependent personality.’ This is true in the case of students who have no knowledge in a particular area and therefore they have to depend solely on the teacher to learn the basics. They assumed that the teacher’s job was to fill the students minds with their own information and the students were not encouraged to question what they were being taught. The majority of today’s adult learners were exposed to classroom learning in previous educational experiences that promoted pedagogical practices. Of course in certain circumstances students come to a course without having any background knowledge of the area. For example, if a person was to attend an accounting course with no background knowledge of the area, the lectur- er would have to use the pedagogical approach in which they would explain the basics of accounting to the student. As the course progresses the student is asked to apply examples from their own background to the course so they can create a link between their own experience and the course material. 102
  • 7. Back to contents NextPrevious One learning theory that has attempted to overcome some of the negative aspects of pedagogy is a theory that was introduced by Malcolm Knowles known as andragogy. Andragogy according to Henschke (1998:8) can be defined as ‘a scientific discipline that studies everything related to learning and teaching which would bring adults to their full degree of humaneness.’ This theory tried to identify how adult learners learn and how to involve them in the learning process ‘to free them from the oppression of pedagogy.’ Unlike peda- gogy, andragogy is centered on the idea that the lecturer does not posses all the knowledge and that students are encouraged to participate in the classroom by utilising their own experiences. ‘Adult education is quite distinctive in its approach in that it aims to do sub- stantially more than simply impart information to participants’ (Connolly, 1996, pp. 38-39). The lecturer should act as a facilitator in the learning process. This can be achieved by asking students questions that they can relate to their workplace. For example, once students are taught the basic principle of a sub- ject, they could be asked to apply those principles via a work- based project to their company. This will enable them to understand how the theory they have
  • 8. spoken about in class relates to a real life situation. The lecturer can manage this by asking students relevant questions pertaining to their workplace, which will require the student to think about what happens in their organisation on a day-to-day basis. This is further supported in research carried out by Laird (1998, p. 126) who stated that ‘the andragogic model holds the view that the instructor should guide and not manage the content, which is the traditional approach in pedagogy.’ Andragogy might be classed under the category of cognitive theories in that adults are allowed to analyse the material given to them in the classroom and they learn to make connections between the material and their own life expe- riences. In contrast pedagogy is associated with the behaviourist stream of learning where the student takes for granted what is being said to them and they learn it word for word so that they can receive positive feedback from their lecturers. Laird (1998, p. 125) stated that lecturers who adopt the andra- gogical theory of learning will ‘use more questions because adults do know a great deal.’ Andragogy is based on five key areas. Firstly, there is the issue that adults need to be made aware of the reason why they have to learn certain material. Knowles
  • 9. 103 Back to contentsPrevious Next has stated that it is important that students are informed of the benefits of cov- ering this material and how it will benefit them when the course is finished. It is imperative that students are furnished with the learning objectives when they start their course (Knowles et al 1998, p. 63). For the majority of evening courses students are given the course outline and objectives of the course when they enrol in the course. The second area is the learner’s concept of himself or herself. If the learner is very self confident and what Maslow describes as having high self-esteem needs, then the lecturer has to ensure that they allow the student to discuss or present their views during the class session. If the lecturer starts out using a pedagogical method of teaching and encourages the student to become depen- dent on them for knowledge and then they are in essence creating a dependent student who will have low self-esteem, which will ensure that the student never questions what the lecturer says in class. Thirdly, andragogy is based on is the experience of the learner
  • 10. and the role that it plays in the classroom. Andragogy assumes that the student has a bank of experience accumulated over their lifetime and that they would like to apply this ‘experience’ in the classroom so that they can understand the material that is being discussed in the session. Unlike pedagogy, andragogical learners resent having a lecturer’s ideas forced upon them and as stated by Knowles, et al. (1998, p. 65), ‘adults resent and resist situations in which they feel others are imposing their will on them.’ Therefore, they want to be responsible for their own learning. The andragogical model states that adults need to be able to use their experience in the classroom if they want to learn. Lecturers should encourage the promotion of dialogue in the adult classroom. The use of dialogue in the classroom aids the students’ understanding of the material discussed in the class (Quilty, 2003, p. 63). Dialogue can be encour- aged through the use of group work, where students are placed in groups and given scenarios or class studies that are relevant to the student’s experience. This may also encourage the quieter students in the classroom to participate in the learning process and to air their views through the group. Fourthly, students want to learn. Motivation plays an important part in adult learning, firstly, in that if students are not motivated to learn
  • 11. they may not par- ticipate in the classroom and therefore may leave the course. Secondly, as men- 104 Back to contents NextPrevious tioned in the previous point, adult students may be more motivated to learn if the concept of groups were prompted by the lecturer. Maslow stated in his theory of motivation that people have a need to feel that they belong. Students are more motivated if they feel that they belong in the adult classroom and for most adult students they like to belong to a group that they can discuss both academic and personal issues. Andragogy states that adults are motivated by both internal and external fac- tors. Lecturers have to recognise that by praising and building on the self- esteem of students as it motivates them to learn. Tough found that ‘motivation is frequently blocked by barriers such as negative self concept and time con- straints’ (cited in Knowles, 1994, p. 68). While adult learners may respond to external motivators such as bonuses from their employers when they attain a certain grade, it is the internal priorities that are more important to the learner.
  • 12. Fifthly, for andragogy to work effectively in the classroom the lecturer must promote a climate which provides a safe environment for the student. Abraham Maslow stated that students, especially those with low self- esteem, need to have a safe environment if they are participate in the learning experience (Knowles, 1994, p. 14). In the instance where students are encourage to discuss examples, they are praised for their contribution and not mocked by either the lecturer or other students for their views on a particular issue. Students could be further motivated in the classroom if they are allowed to participate in the planning of the syllabi for the course. However, in reality, the majority of syllabi are designed by educational institu- tions or other accreditation bodies such as FETAC or HETAC, which result in both lecturer and student having very little input in what should be included in the syllabi for the course. However, it should be remembered that whether an institution or an accreditation body designs the syllabi students will learn more effectively if they can apply their experience to the subject matter being discussed in the session. Adults will learn material if it is presented in a way that relates to real life situations. Lecturers who use the andragogical method of learning should therefore consider using case studies or histories in class so
  • 13. that students can apply the ‘theory’ to a practical situation. Knowles (1980, p. 54) held the view that adults ‘tend to be problem centered in their orientation.’ This is something that lecturers or facilitators need to take into account when they are planning their classes, as they have to allow 105 Back to contentsPrevious Next for problem solving as well as interaction with the student. Some adult stu- dents prefer to be problem centered but others want the lecturer to lead them through the course, therefore problems arise when adults suddenly find them- selves in a situation that they have to think for themselves and participate in the class. Rogers (1989, p. 3) stated that when teaching (adults) the custom- er, not the subject, should comes first and is always right and the customer is the learner. This is often forgotten by colleges who see students as a financial gain and sometimes they are unaware of the method of teaching used by their lecturers in the adult classroom. Therefore, it is imperative that educational institutions should distribute a questionnaire at the end of a course to enable students to air their views on how the lecturer has performed on
  • 14. the course. Educational institutions such as the National College of Ireland ask students to complete questionnaires after each module on their front line supervisory management course. Andragogy as with many theories is not without fault. Some adult educators are questioning whether it is really a theory. Hartee (1984, p. 205) suggested that Knowles was really presenting guidelines for ‘what the adult learner should be like’ in the classroom but it was not really a tried and tested theory of learn- ing. Even Knowles (1989, p. 112) came to the conclusion that ‘andragogy is less a theory of adult learning than a model of assumptions about learning or a conceptual framework that serves as a basis for an emergent theory.’ Indicating that it is a ‘conceptual framework’, suggests that there are weaknesses with the model and that is it not academically viewed as a theory of adult learning. Pratt (1993, p. 21) questioned whether andragogy could be classed as a theory of learning. He has admitted that it has helped adult educators understand how adults learn but in reality if andragogy was analysed more closely ‘it has done little to expand or clarify our understanding of the process of learning nor has it achieved the status of a theory of adult learning’ (Pratt, 1993, p. 21).
  • 15. When Knowles designed this model of adult learning he assumed a number of factors such as students’ desire to participate and learn. However, in real- ity lecturers are aware that this is not always the case. For instance, employers often send employees on training courses just to say that they are developing and training their students but in the majority of cases they do not investi- gate whether courses are suitable or of interest to students. As a result students attend classes that they have no interest in and since most courses are funded 106 Back to contents NextPrevious by employees on condition the student passes the course, they are also forced to study for exams that they do not really want to sit. Lack of interest may also indicate that the student will experience a lack of motivation. Knowles (1994, p. 14) acknowledged that ‘adults tend to be more motivated to learning that helps them solve problems in their lives.’ However, students who are forced by their employers to attend courses that have little or no relevance to what they are doing in the workplace, will feel that what is being
  • 16. discussed in class is not going to help them perform better in the workplace. Therefore these students often attend courses with little or no motivation. Knowles’ theory of andragogy is very much based on the fact that students want to participate in the classroom and in order to participate they must be motivated. However, according to Tough ‘motivation is frequently blocked by barriers such as negative self concept and time constraints’ (cited in Knowles, 1994, p. 68). Adults have often experienced negative events during their previ- ous education and as a result they come to adult classes with low self-esteem. Rosenstock stated that ‘adult education required special teachers, special meth- ods and a special philosophy’ (Knowles et al, 1998, p. 59). Therefore, the theory of andragogy cannot work in the classroom if the lectur- er is un-sympathetic to the fact that students may have low self- esteem and if they target them with questions that they may not be able to answer in front of the class. As a result, students may feel very uncomfortable and choose to leave the course rather than sit in the classroom with other students who think that they do not have the intellectual capacity to be in the course. Another major factor associated with motivation is that fact that mature stu- dents, unlike children, teenagers and young adults, have time
  • 17. pressures such as family and full time jobs that often prevent them from attending classes. Often these pressures become so great that they are forced to leave a course and fail to return to education because they feel that they will not be able to finish the course the next time. Grace (1996, p. 386) acknowledged the fact that ‘Knowles never considered the organisation and social impediments to adult learning; he never painted the big picture.’ This would indicate that Knowles never real- ly considered the constraints on the mature student in a social sense such as barriers to gaining entry into courses and family life. In Ireland those who are considered socially disadvantaged such as travellers, single parents and on low 107 Back to contentsPrevious Next incomes are often excluded from joining courses that require a fee to be paid. Knowles concept of andragogy is coupled with the idea that adults are ‘autono- mous, free and growth orientated’ (Rodgers, 2000, p. 13). He stated that stu- dents should be allowed to use their past experiences to participate in the classroom. However, Quilty drew attention to the fact that Dewey stated that
  • 18. while ‘there are experiences in adult education that are worthwhile there are those that are not’ (Quilty, 2003, p. 62). Some students may not be ready for their beliefs to be challenged and as a result they may feel threatened and not participate in future classes or their past expe- riences may hinder any new learning because they cannot accept that their pre- vious beliefs are wrong. Knowles was not aware of the fact that some adults that attend night courses are what we term ‘young adults.’ These students are aged eighteen to twenty-five; they may not have accumulated sufficient knowledge to participate in class debates. In some instances these students may feel iso- lated in that they cannot take part in a class debate if they do not have the same experience as other students in the classroom. This may result in the student ‘switching off ’ and becoming bored in the classroom, which in turn may lead to the student leaving the course early. Knowles vision of andragogy presents the individual learner as one who is autonomous, free and growth oriented. However, Grace (1996, p. 383) and var- ious other critics have argued the point that there is little evidence that states that adult students are influenced by their society and history and that in real- ity the educational establishment and awarding bodies set down standards of
  • 19. learning regardless of whether the student has certain life experiences or not. In theory it could be argued that the andragogical model would be the most suitable for the adult learner, but it fails to take into account that at times lec- turers have time pressures to which they must adhere. If they were to allow students to discuss material at length they may not be able to cover the course in the allocated time, as they may have to deprive students of certain modules on the course. For instance, in some of the business courses, students have to study two modules each night for two nights a week probably over a period of twenty-four weeks. If it is a three-hour course it means that each module is allocated only one and a half hours, which does not allow the lecturer to discuss material in great depth. 108 Back to contents NextPrevious Lecturers, especially in colleges where students pay for their courses, are likely to be under pressure to achieve certain grades at the end of the course. In some of the private second level institutions the grades that students achieve for their Leaving Certificate are advertised so as to attract students to the college.
  • 20. Similarly, there are instances where private third level colleges are now promot- ing the fact that students have achieved certain awards by external awarding bodies such as ACCA as a way of attracting students. This may place added pressure on lecturers to ensure that students achieve similar results. As a result, lecturers may revert to pedagogical practices to try and ensure high grades. However, there are some lecturers who take the theory of andragogy to the extreme in that they are aware that mature students may be anxious and may have low self-esteem and with that in mind they adopt an extremely empa- thetic manner that often results in no learning in the classroom because the lecturer is afraid to challenge the student in case it would damage their self- esteem (Rodgers, 2000, p. 15). Even though andragogy has numerous faults, Houle (1996, p. 29-30) was of the opinion that andragogy is the ‘most learner centered of all patterns of adult education programmes.’ Over the past two decades it has drawn adult educa- tors’ attention to the fact that they ‘should involve learners in as many aspects of their education as possible and in the creation of a climate in which both they and the students can fruitfully learn’ (Houle, 1996, p. 30). It has given adult educators the option of using an alternative style in the
  • 21. classroom. By using the andragogical method they can encourage students to return to education and by allowing them to participate they are treating them like equals and the student is no longer dependent on them for learning as they would have been when they were children in primary and secondary school. This is very evident in the writings of Pratt who has stated that ‘andragogy has been adopted by legions of adult educators around the world’ (1993, p. 21). He was also of the opinion that in the majority of cases it is the starting point to which educators look when they start to teach adults. Which theory is the most relevant for the adult learning in the classroom? Most teachers teach the way they learn. The majority of adult educators were taught using the pedagogical style during primary and secondary schooling and in the majority of cases their third level education was very much centered on a 109 Back to contentsPrevious Next lecturer again using the pedagogical style of teaching. As a result of this many adult educators are more inclined to use ‘what worked with
  • 22. them’ (Brown, 2003, p. 1). It is imperative therefore that they are aware of the theories that are associated with adult learning and it would make sense that all adult educators should be educated ABOUT adult learning principles in some shape or form. Crews and McCannon stated than once the adult educator is aware of the theo- ries associated with adult learning principles they may implement these in the classroom making it a better learning environment for the adult student (cited in Brown, 2003). Knowles stated that it is the ‘job of the adult educators to move adult students away from their old learning and into new patterns of learning where they become self directed taking responsibility for their own learning and the direc- tion it takes’ (Knowles et al, 1998, pp. 66-69). The question that adult educators must ask themselves is, should they allow students to participate during the lesson on a continuous basis or do they allow it when it suits them? It is important that educators are aware of what the adult student truly wants from their educational experience. It is impera- tive that adults returning to education encounter positive experiences that will encourage them to further their education. Lecturers must be aware that what- ever learning styles and teaching methods are used in the adult
  • 23. classroom that adult education ‘began with the basic education needs of learners. The learning needs of the adult have to remain centre stage otherwise we will have lost our way’ (Vaughan, 2004). Andragogy in essence aims to look at how learning in the classroom can be made more attractive for adult students. Therefore, it is imperative that lectur- ers/tutors are aware of the fact that adult needs are very different to the needs of children in relation to classroom learning. Thereby, the teaching style that is adopted in the adult classroom should be the focus of attention for educational institutions, and this should be monitored to ensure that adult students enjoy the educational experience. Valerie McGrath has worked as a lecturer in the University of Limerick, Limerick Institute of Technology and the National College of Ireland. She is also a voluntary lit- eracy tutor. 110 Back to contents NextPrevious References
  • 24. Brookfield, S. (1987). Developing Critical Thinkers: Challenging Adults to Explore Alternative Ways of Thinking and Acting. Milton Keyes: Open University Press. Brookfield, S.D. (1986). Understanding and Facilitating Adult Learning. San Francisco: Jossey-Bass. Brown, B.L. (2003). Teaching Style Versus Learning Style (Myths and Realities No.26). Educational Resources Information Centre ERIC. Connolly, B. (1996). Community development and adult education: Prospects for change. In B. Connolly, T. Fleming, D. McCormack and A. Ryan, Radical Learning for Liberation. Maynooth: MACE. Grace, A.P. (1996). Taking a critical pose: Andragogy-missing links, missing values. International Journal of Lifelong Education, 15(5), 382-392. Hartee, A. (1984). Malcolm Knowles’ Theory of Andragogy: A critique. International Journal of Lifelong Education, 3(3), 203-210. Henschke, J.A. (1998). Historical antecedents shaping conceptions of andragogy: A com-
  • 25. parison of sources and roots. Paper presented at the International Conference on Research in Comparative Andragogy, Radovljica, Slovenia. Knowles, M.S. (1980). The Modern Practice of Adult Education: From Pedagogy to Andragogy. 2nd edition, New York: Cambridge Books. Knowles. M. (1989). The Making of an Adult Educator. San Francisco: Jossey-Bass. Knowles, M.S. and Associates, (1984). Andragogy in Action: Applying Modern Principles of Learning, San Francisco: Jossey Bass. Knowles, M.S., R. Elwood, R. Holton III and A. Swanson (1998). The Adult Learner: The Definitive Classic in Adult Education and Human Resource Development. 5th edition, new York: Heinemann. Laird, D. (1998). Approaches to Training and Development. 2nd edition, Reading, MA: Addison-Wesley. Pratt, D.D. (1993). Andragogy after Twenty-Five Years. In S.B. Merriam (ed), Update on adult learning theory. San Francisco: Jossey-Bass.
  • 26. Quilty, A. (2003). Towards a pedagogy of demystification. The Adult Learner, The Journal of Adult and Community Education in Ireland, 57-66. Rodgers, J. (2000). Adult Learning. 4th edition, Buckingham: Open University Press. Sitt-Ghodes, W.L. (2001). Business education students’ preferred learning styles and their teachers’ preferred instructional styles: Do they match? Delta Pi Epsilon Journal 43(3), 137-151. Vaughan, G. (2004). Adult literacy then and now. The Adult Learner, The Journal of Adult and Community Education in Ireland, 78-84. COCOMO II/Chapter 2/Boehm et al. - 1 - CHAPTER 2
  • 27. COCOMO II: MODEL DEFINITION 2.1 Introduction 2.1.1 Overview This chapter presents two models, the Post-Architecture and Early Design models. Recall from Chapter 1 that these two models are used in the development of Application Generator, System Integration, or Infrastructure developments. The Post-Architecture is a detailed model that is used once the project is ready to develop and sustain a fielded system. The system should have a life cycle architecture package, which provides detailed information on cost driver inputs, and enables more accurate cost estimates. The Early Design model is a high-level model that is used in the exploration of architectural alternatives or incremental © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
  • 28. COCOMO II/Chapter 2/Boehm et al. - 2 - development strategies. This level of detail is consistent with the general level of information available and the general level of estimation accuracy needed. The Post-Architecture and Early Design models use the same approach for product sizing (including reuse) and for scale drivers. These will be presented first. Then, the Post-Architecture model will be explained followed by the Early Design model. The chapter ends with a discussion and example of using the models for the eight decision analysis situations introduced at the beginning of Chapter 1. 2.1.2 Nominal-Schedule Estimation Equations Both the Post-Architecture and Early Design models use the same
  • 29. functional form to estimate the amount of effort and calendar time it will take to develop a software project. The amount of effort in person- months, PMNS, is estimated by the formula: ∑ ∏ = = ×+= ××= 5 1j j n 1i i E NS SF0.01BE where EMSizeAPM
  • 30. Eqn. 2.1 The amount of calendar time, TDEVNS, it will take to develop the product is estimated by the formula: © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 3 - ( ) B)(E0.2D SF0.2DF where PMCTDEV 5 1j j F NSNS −×+= ×+= ×=
  • 31. ∑ = Eqn. 2.2 The value of n is 16 for the Post-Architecture model effort multipliers, EMi, and 6 for the Early Design model. The values of A, B, EM1, …, EM16, SF1, …, and SF5 for the COCOMO II.2000 Post-Architecture model are obtained by calibration to the actual parameters and effort values for the 161 projects currently in the COCOMO II database. The values of C and D for the COCOMO II.2000 schedule equation are obtained by calibration to the actual schedule values for the 161 project currently in the COCOMO II database. The values of A, B, C, D, SF1, …, and SF5 for the Early Design model are the same as those for the Post-Architecture model. The values of EM1, …, and EM6 for the Early Design model are obtained by combining the values of their 16 Post-Architecture counterparts; the specific combinations are
  • 32. given in Section 2.3.2.2. The subscript NS applied to PM and TDEV indicates that these are the nominal-schedule estimates of effort and calendar time. The effects of schedule compression or stretch-out are covered by an additional cost driver, Required Development Schedule. They are also included in the COCOMO II.2000 calibration to the 161 projects. Its specific effects are given in Section 2.4. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 4 - The specific milestones used as the endpoints in measuring development effort and calendar time are defined in Appendix A, as are the other definitions and assumptions involved in defining development effort and calendar time. Size
  • 33. is expressed as thousands of source lines of code (SLOC) or as unadjusted function points (UFP), as discussed in Section 2.2. Development labor cost is obtained by multiplying effort in PM by the average labor cost per PM. The values of A, B, C, and D in the COCOMO II.2000 calibration are: A = 2.94 B = 0.91 C = 3.67 D = 0.28 Details of the calibration are presented in Chapter 4, which also provides formulas for calibrating either A and C or A, B, C, and D to one’s own database of projects. It is recommended that at least A and C be calibrated to the local development environment to increase the model’s accuracy. As an example, let's estimate how much effort and calendar time it would take to develop an average 100 KSLOC sized project. For an average project, the effort multipliers are all equal to 1.0. E will be set to 1.15 reflecting an average,
  • 34. large project. The estimated effort is PMNS = 2.94(100)1.15 = 586.61. Continuing the example, TDEVNS = 3.67(586.6)(0.28+0.2×(1.15-0.91)) = 3.67(586.6)0.328 = 29.7 months. The average number of staff required for the nominal-schedule development is PMNS / TDEVNS = 586.6 / 29.7 = 19.75 or 20 © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 5 - people. In this example, an average 100 KSLOC software project will take about 30 months to complete with an average of 20 people. 2.2 Sizing A good size estimate is very important for a good model estimation. However, determining size can be challenging. Projects are generally composed
  • 35. of new code, code reused from other sources--with or without modifications--and automatically translated code. COCOMO II only uses size data that influences effort which is new code and code that is copied and modified. For new and reused code, a method is used to make them equivalent so they can be rolled up into an aggregate size estimate. The baseline size in COCOMO II is a count of new lines of code. The count for code that is copied and then modified has to be adjusted to create a count that is equivalent to new lines of code. The adjustment takes into account the amount of design, code and testing that was changed. It also considers the understandability of the code and the programmer familiarity with the code. For automatically translated code, a separate translation productivity rate is used to determine effort from the amount of code to be translated. The following sections discuss sizing new code and sizing
  • 36. reused code. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 6 - 2.2.1 Counting Source Lines of Code (SLOC) There are several sources for estimating new lines of code. The best source is historical data. For instance, there may be data that will convert Function Points, components, or anything available early in the project to estimate lines of code. Lacking historical data, using expert opinion can be used to derive estimates of likely, lowest likely, and highest likely size. Code size is expressed in thousands of source lines of code (KSLOC. A source line of code is generally meant to exclude non-delivered support software such as test drivers. However, if these are developed with the
  • 37. same care as delivered software, with their own reviews, test plans, documentation, etc., then they should be counted [Boehm 81, pp. 58-59]. The goal is to measure the amount of intellectual work put into program development. Defining a line of code is difficult due to conceptual differences involved in accounting for executable statements and data declarations in different languages. Difficulties arise when trying to define consistent measures across different programming languages. ). In COCOMO II, the logical source statement has been chosen as the standard line of code. The Software Engineering Institute (SEI) definition checklist for a logical source statement is used in defining the line of code measure. The SEI has developed this checklist as part of a system of © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
  • 38. COCOMO II/Chapter 2/Boehm et al. - 7 - definition checklists, report forms and supplemental forms to support measurement definitions [Park 1992, Goethert et al. 1992]. Figure 2.1 shows the SLOC definition checklist as it is being applied to support the development of the COCOMO II model. Each checkmark in the “Includes” column identifies a particular statement type or attribute included in the definition, and vice-versa for the excludes. Other sections in the definition clarify statement attributes for usage, delivery, functionality, replications and development status. The full checklist is provided at the end of this chapter in Section 2.7.3. Some changes were made to the line-of-code definition that departs from the default definition provided in [Park 1992]. These changes eliminate
  • 39. categories of software, which are generally small sources of project effort. Not included in the definition are commercial-off-the-shelf software (COTS), government-furnished software (GFS), other products, language support libraries and operating systems, or other commercial libraries. Code generated with source code generators is handled by counting separate operator directives as lines of source code. It is admittedly difficult to count "directives" in a highly visual programming system. As this approach becomes better understood, we hope to provide more specific counting rules. For general source code sizing approaches, © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 8 - such as PERT sizing, expert consensus, analogy, top-down, and bottom-up, see
  • 40. Section 21.4 and Chapter 22 of [Boehm, 1981]. Measurement unit: Physical source lines Logical source statements √ Statement type Definition √ Data Array Includes Excludes When a line or statement contains more than one type, classify it as the type with the highest precedence. 1 Executable Order of precedence 1 √ 2 Nonexecutable 3 Declarations 2 √ 4 Compiler directives 3 √ 5 Comments 6 On their own lines 4 √ 7 On lines with source code 5 √ 8 Banners and non-blank spacers 6 √ 9 Blank (empty) comments 7 √ 10 Blank lines 8 √ 11 12 How produced Definition √ Data array Includes Excludes 1 Programmed √ 2 Generated with source code generators √ 3 Converted with automated translators √ 4 Copied or reused without change √ 5 Modified √ 6 Removed √ 7 8 Origin Definition √ Data array Includes Excludes 1 New work: no prior existence √
  • 41. 2 Prior work: taken or adapted from 3 A previous version, build, or release √ 4 Commercial, off-the-shelf software (COTS), other than libraries √ 5 Government furnished software (GFS), other than reuse libraries √ 6 Another product √ 7 A vendor-supplied language support library (unmodified) √ 8 A vendor-supplied operating system or utility (unmodified) √ 9 A local or modified language support library or operating system √ 10 Other commercial library √ 11 A reuse library (software designed for reuse) √ 12 Other software component or library √ © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 9 - 13 14 2.2.2 Counting Unadjusted Function Points (UFP) The function point cost estimation approach is based on the amount of
  • 42. functionality in a software project and a set of individual project factors [Behrens 1983; Kunkler 1985; IFPUG 1994]. Function points are useful estimators since they are based on information that is available early in the project life cycle. A brief summary of function points and their calculation in support of COCOMO II follows. Function points measure a software project by quantifying the information processing functionality associated with major external data or control input, output, or file types. Five user function types should be identified as defined in Table 2.1. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
  • 43. COCOMO II/Chapter 2/Boehm et al. - 10 - Table 2.1 User Function Types Function Point Description External Input (EI) Count each unique user data or user control input type that enters the external boundary of the software system being measured. External Output (EO) Count each unique user data or control output type that leaves the external boundary of the software system being measured. Internal Logical File (ILF) Count each major logical group of user data or control information in the software system as a logical internal file type. Include each logical file (e.g., each logical group of data) that is generated, used, or maintained by the software system. External Interface Files (EIF) Files passed or shared between software systems should be
  • 44. counted as external interface file types within each system. External Inquiry (EQ) Count each unique input-output combination, where input causes and generates an immediate output, as an external inquiry type. Each instance of these function types is then classified by complexity level. The complexity levels determine a set of weights, which are applied to their corresponding function counts to determine the Unadjusted Function Points quantity. This is the Function Point sizing metric used by COCOMO II. The usual Function Point procedure involves assessing the degree of influence (DI) of fourteen application characteristics on the software project determined according to a rating scale of 0.0 to 0.05 for each characteristic. The 14 ratings are added together, and added to a base level of 0.65 to produce a general characteristic adjustment factor that ranges from 0.65 to 1.35.
  • 45. Each of these fourteen characteristics, such as distributed functions, performance, and reusability, thus have a maximum of 5% contribution to estimated effort. Having, for example, a 5% limit on the effect of reuse is inconsistent with COCOMO experience; thus COCOMO II uses Unadjusted © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 11 - Function Points for sizing, and applies its reuse factors, cost drivers, and scale drivers to this sizing quantity to account for the effects of reuse, distribution, etc. on project effort. The COCOMO II procedure for determining Unadjusted Function Points follows the definitions in [IFPUG, 1994]. This procedure is used in both the
  • 46. Early Design and the Post-Architecture models. 1. Determine function counts by type. The unadjusted function counts should be counted by a lead technical person based on information in the software requirements and design documents. The number of each of the five user function types should be counted (Internal Logical File (ILF), External Interface File (EIF), External Input (EI), External Output (EO), and External Inquiry (EQ)). See [IFPUG, 1994] for more detailed interpretations of the counting rules for those quantities. 2. Determine complexity-level function counts. Classify each function count into Low, Average and High complexity levels depending on the number of data element types contained and the number of file types referenced. Use the following scheme:
  • 47. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 12 - Table 2.2 FP Counting Weights For Internal Logical Files and External Interface Files Data Elements Record Elements 1 - 19 20 - 50 51+ 1 Low Low Avg. 2 - 5 Low Avg. High 6+ Avg. High High For External Output and External Inquiry Data Elements File Types 1 - 5 6 - 19 20+ 0 or 1 Low Low Avg. 2 - 3 Low Avg. High 4+ Avg. High High For External Input Data Elements File Types 1 - 4 5 - 15 16+ 0 or 1 Low Low Avg. 2 - 3 Low Avg. High 3+ Avg. High High
  • 48. 3. Apply complexity weights. Weight the number of function types at each complexity level using the following scheme (the weights reflect the relative effort required to implement the function): Table 2.3 UFP Complexity Weights Complexity-Weight Function Type Low Average High Internal Logical Files 7 10 15 External Interfaces Files 5 7 10 External Inputs 3 4 6 External Outputs 4 5 7 External Inquiries 3 4 6 © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 13 - 4. Compute Unadjusted Function Points. Add all the weighted functions counts
  • 49. to get one number, the Unadjusted Function Points. 2.2.3 Relating UFPs to SLOC Convert the Unadjusted Function Points (UFP) to Lines of Code. The unadjusted function points have to be converted to source lines of code in the implementation language (Ada, C, C++, Pascal, etc.). COCOMO II does this for both the Early Design and Post-Architecture models by using tables to convert Unadjusted Function Points into equivalent SLOC. The current conversion ratios shown in Table 2.4 are from [Jones, 1996]. Updates to these conversion ratios as well as additional ratios can be found at http://www.spr.com/library/0Langtbl.htm. USR_1 through USR_5 are five extra slots provided by USC COCOMO II.2000 to accommodate users' additional implementation languages. These ratios are easy to determine with historical data or with a recently
  • 50. completed project. It would be prudent to determine your own ratios for your local environment. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 14 - Table 2.4 UFP to SLOC Conversion Ratios Language SLOC / UFP Language SLOC / UFP Access 38 Jovial 107 Ada 83 71 Lisp 64 Ada 95 49 Machine Code 640 AI Shell 49 Modula 2 80 APL 32 Pascal 91 Assembly - Basic 320 PERL 27 Assembly - Macro 213 PowerBuilder 16 Basic - ANSI 64 Prolog 64 Basic - Compiled 91 Query – Default 13 Basic - Visual 32 Report Generator 80 C 128 Second Generation Language 107 C++ 55 Simulation – Default 46 Cobol (ANSI 85) 91 Spreadsheet 6 Database – Default 40 Third Generation Language 80
  • 51. Fifth Generation Language 4 Unix Shell Scripts 107 First Generation Language 320 USR_1 1 Forth 64 USR_2 1 Fortran 77 107 USR_3 1 Fortran 95 71 USR_4 1 Fourth Generation Language 20 USR_5 1 High Level Language 64 Visual Basic 5.0 29 HTML 3.0 15 Visual C++ 34 Java 53 2.2.4 Aggregating New, Adapted, and Reused Code A product’s size discussed thus far has been for new development. Code that is taken from another source and used in the product under development also contributes to the product's effective size. Pre-existing code that is treated as a black-box and plugged into the product is called reused code. Pre-existing code that is treated as a white-box and is modified for use with the product is called © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al.
  • 52. - 15 - adapted code. The effective size of reused and adapted code is adjusted to be its equivalent in new code. The adjusted code is called equivalent source lines of code (ESLOC). The adjustment is based on the additional effort it takes to modify the code for inclusion in the product. The sizing model treats reuse with function points and source lines of code the same in either the Early Design model or the Post-Architecture model. 2.2.4.1 Nonlinear Reuse Effects Analysis in [Selby 1988] of reuse costs across nearly 3,000 reused modules in the NASA Software Engineering Laboratory indicates that the reuse cost function, relating the amount of modification of the reused code to the resulting cost to reuse, is nonlinear in two significant ways (see Figure 2.2). The
  • 53. effort required to reuse code does not start at zero. There is generally a cost of about 5% for assessing, selecting, and assimilating the reusable component. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 16 - The figure shows the results of the NASA analysis as blocks of relative cost. A dotted line is superimposed on the blocks of relative cost to show increasing cost as more of the reused code is modified. (The solid lines are labeled AAM for Adaptation Adjustment Modifier. AAM is explained in Equation 2.4.) It can be seen that small modifications in the reused product generate disproportionately large costs. This is primarily due to two factors: the
  • 54. cost of understanding the software to be modified, and the relative cost of checking module interfaces. [Parikh and Zvegintzov 1983] contain data indicating that 47% of the effort in software maintenance involves understanding the software to be © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 17 - modified. Thus, as soon as one goes from unmodified (black- box) reuse to modified-software (white-box) reuse, one encounters this software understanding penalty. Also, [Gerlich and Denskat 1994] shows that, if one modifies k out of m software modules, the number of module interface checks required, N, is expressed in Equation 2.3. ( ) ⎟
  • 55. ⎠ ⎞ ⎜ ⎝ ⎛ −×+×= 2 1kkk-mkN Eqn. 2.3 Figure 2.3 shows this relation between the number of modules modified k and the resulting number, N, of module interface checks required for an example of m = 10 modules. In this example, modifying 20% (2 of 10) of the modules required revalidation of 38% (17 of 45) of the interfaces. The shape of this curve is similar for other values of m. It indicates that there are nonlinear effects involved in the module interface checking which occurs during the design, code, integration, and test of modified software. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
  • 56. COCOMO II/Chapter 2/Boehm et al. - 18 - For m = 10 0 10 20 30 40 50 0 2 4 6 8 10 k N Figure 2.3 Number of Module Interface Checks, N, vs. Modules Modified, k The size of both the software understanding penalty and the module interface-checking penalty can be reduced by good software structuring. Modular, hierarchical structuring can reduce the number of interfaces which need
  • 57. checking [Gerlich and Denskat 1994], and software which is well structured, explained, and related to its mission will be easier to understand. COCOMO II reflects this in its allocation of estimated effort for modifying reusable software. 2.2.4.2 A Reuse Model The COCOMO II treatment of software reuse uses a nonlinear estimation model, Equation 2-4. This involves estimating the amount of software to be © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 19 - adapted and three degree-of-modification factors: the percentage of design modified (DM), the percentage of code modified (CM), and the percentage of integration effort required for integrating the adapted or reused
  • 58. software (IM). These three factors use the same linear model as used in COCOMO 81, but COCOMO II adds some nonlinear increments to the relation of Adapted KSLOC of Equivalent KSLOC used to estimate effort. These are explained next. ( ) ( ) ( ) AAMKSLOC Adapted KSLOC Equivalent 50AAFfor , 100 UNFM)](SUAAF[AA 50AAFfor , 100 UNFM))]SU0.02(AAF(1[AA AAM IM0.3CM0.3DM0.4AAF ⋅ = ⎪ ⎪ ⎩
  • 59. ⎪ ⎪ ⎨ ⎧ > ×++ ≤ ××++ = ×+×+×= Eqn. 2.4 The Software Understanding increment (SU) is obtained from Table 2.5. SU is expressed quantitatively as a percentage. If the software is rated very high on structure, applications clarity, and self-descriptiveness, the software understanding and interface-checking penalty is 10%. If the software is rated very low on these factors, the penalty is 50%. SU is determined by taking the subjective average of the three categories.
  • 60. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 20 - Table 2.5 Rating Scale for Software Understanding Increment SU Very Low Low Nominal High Very High Structure Very low cohesion, high coupling, spaghetti code. Moderately low cohesion, high coupling. Reasonably well-structured; some weak areas. High cohesion, low coupling.
  • 61. Strong modularity, information hiding in data / control structures. Application Clarity No match between program and application world-views. Some correlation between program and application. Moderate correlation between program and application. Good correlation between program and application.
  • 62. Clear match between program and application world-views. Self- Descriptive- ness Obscure code; documentation missing, obscure or obsolete Some code commentary and headers; some useful documentation. Moderate level of code commentary, headers, documentation. Good code commentary and headers; useful documentation;
  • 63. some weak areas. Self- descriptive code; documentation up-to-date, well- organized, with design rationale. SU Increment to ESLOC 50 40 30 20 10 The other nonlinear reuse increment deals with the degree of Assessment
  • 64. and Assimilation (AA) needed to determine whether a reused software module is appropriate to the application, and to integrate its description into the overall product description. Table 2.6 provides the rating scale and values for the assessment and assimilation increment. AA is a percentage. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 21 - Table 2.6 Rating Scale for Assessment and Assimilation Increment (AA) AA Increment Level of AA Effort 0 None 2 Basic module search and documentation 4 Some module Test and Evaluation (T&E), documentation 6 Considerable module T&E, documentation 8 Extensive module T&E, documentation The amount of effort required to modify existing software is a
  • 65. function not only of the amount of modification (AAF) and understandability of the existing software (SU), but also of the programmer’s relative unfamiliarity with the software (UNFM). The UNFM factor is applied multiplicatively to the software understanding effort increment. If the programmer works with the software every day, the 0.0 multiplier for UNFM will add no software understanding increment. If the programmer has never seen the software before, the 1.0 multiplier will add the full software understanding effort increment. The rating of UNFM is in Table 2.7. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2
  • 66. COCOMO II/Chapter 2/Boehm et al. - 22 - Table 2.7 Rating Scale for Programmer Unfamiliarity (UNFM) UNFM Increment Level of Unfamiliarity 0.0 Completely familiar 0.2 Mostly familiar 0.4 Somewhat familiar 0.6 Considerably familiar 0.8 Mostly unfamiliar 1.0 Completely unfamiliar Equation 2.4 is used to determine an equivalent number of new lines of code. The calculation of equivalent SLOC is based on the product size being adapted and a modifier that accounts for the effort involved in fitting adapted code into an existing product, called Adaptation Adjustment Modifier (AAM). AAM uses the factors discussed above, Software Understanding (SU), Programmer Unfamiliarity (UNFM), and Assessment and Assimilation (AA) with
  • 67. a factor called the Adaptation Adjustment Factor (AAF). AAF contains the quantities DM, CM, and IM where: • DM (Percent Design Modified) is the percentage of the adapted software’s design which is modified in order to adapt it to the new objectives and environment. (This is necessarily a subjective quantity.) © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 23 - • CM (Percent Code Modified) is the percentage of the adapted software’s code which is modified in order to adapt it to the new objectives and environment. • IM (Percent of Integration Required for Adapted Software) is the percentage of effort required to integrate the adapted software
  • 68. into an overall product and to test the resulting product as compared to the normal amount of integration and test effort for software of comparable size. If there is no DM or CM (the component is being used unmodified) then there is no need for SU. If the code is being modified then SU applies. The range of AAM is shown in Figure 2.2. Under the worst case, it can take twice the effort to modify a reused module than developing it as new (the value of AAM can exceed 100). The best case follows a one for one correspondence between adapting an existing product and developing it from scratch. 2.2.4.3 Guidelines for Quantifying Adapted Software This section provides guidelines to estimate adapted software factors for
  • 69. different categories of code using COCOMO II. The New category refers to © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 24 - software developed from scratch. Adapted code is pre-existing code that has some changes to it, while reused code has no changes to the pre- existing source (used as-is). COTS is off-the-shelf software that is generally treated the same as reused code when there are no changes to it. One difference is that there may be some new glue code associated with it that also needs to be counted (this may happen with reused software, but here the option of modifying the source code may make adapting the software more attractive). Since there is no source modified in reused and COTS, DM=0, CM=0, and
  • 70. SU and UNFM don’t apply. AA and IM can have non-zero values in this case. Reuse doesn’t mean free integration and test. However in the reuse approach, with well-architected product-lines, the integration and test is minimal. For adapted software, CM > 0, DM is usually > 0, and all other reuse factors can have non-zero values. IM is expected to be at least moderate for adapted software, but can be higher than 100% for adaptation into more complex applications. Table 2.8 shows the valid ranges of reuse factors with additional notes for the different categories. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 25 -
  • 71. Table 2.8 Adapted Software Parameter Constraints and Guidelines Code Category Reuse Parameters DM CM IM AA SU UNFM New - all original software not applicable Adapted - changes to pre- existing software 0% - 100% normally > 0% 0+% - 100% usually > DM and must be > 0% 0% - 100+% IM usually moderate and can be > 100%
  • 72. 0% – 8% 0% - 50% 0 - 1 Reused - unchanged existing software 0% 0% 0% - 100% rarely 0%, but could be very small 0% – 8% not applicable COTS - off-the-shelf software (often requires new glue code as a wrapper around the COTS)
  • 73. 0% 0% 0% - 100% 0% – 8% not applicable 2.2.5 Requirements Evolution and Volatility (REVL) COCOMO II uses a factor called REVL, to adjust the effective size of the product due to requirements evolution and volatility due to such factors as mission or user interface evolution, technology upgrades, or COTS volatility. It is the percentage of code discarded due to requirements evolution. For example, a project which delivers 100,000 instructions but discards the equivalent of an
  • 74. additional 20,000 instructions has an REVL value of 20. This would be used to adjust the project’s effective size to 120,000 instructions for a COCOMO II estimation. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 26 - The use of REVL for computing size in given in Equation 2.5. DSize100 REVL1Size ⋅ ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ += Eqn. 2.5 where SizeD is the reuse-equivalent of the delivered software. 2.2.6 Automatically Translated Code
  • 75. The COCOMO II reuse model needs additional refinement to estimate the costs of software re-engineering and conversion. The major difference in re- engineering and conversion is the efficiency of automated tools for software restructuring. These can lead to very high values for the percentage of code modified (CM in the COCOMO II reuse model), but with very little corresponding effort. For example, in the NIST re-engineering case study [Ruhl and Gunn 1991], 80% of the code (13,131 COBOL source statements) was re- engineered by automatic translation, and the actual re- engineering effort, 35 person months, was more than a factor of 4 lower than the COCOMO estimate of 152 person months. The COCOMO II re-engineering and conversion estimation approach involves estimation of an additional factor, AT, the percentage of the code that is
  • 76. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 27 - re-engineered by automatic translation. Based on an analysis of the project data above, the productivity for automated translation is 2400 source statements / person month. This value could vary with different technologies and is designated in the COCOMO II model as another factor called ATPROD. In the NIST case study ATPROD = 2400. Equation 2.6 shows how automated translation affects the estimated effort, PMAuto. ( ) ATPROD 100 ATSLOC Adapted PMAuto ×
  • 77. = Eqn. 2.6 The NIST case study also provides useful guidance on estimating the AT factor, which is a strong function of the difference between the boundary conditions (e.g., use of COTS packages, change from batch to interactive operation) of the old code and the re-engineered code. The NIST data on percentage of automated translation (from an original batch processing application without COTS utilities) are given in Table 2.9 [Ruhl and Gunn 1991]. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 28 - Table 2.9 Variation in Percentage of Automated Re-engineering
  • 78. Re-engineering Target AT (% automated translation) Batch processing 96% Batch with SORT 90% Batch with DBMS 88% Batch, SORT, DBMS 82% Interactive 50% Automated translation is considered to be a separate activity from development. Thus, its Adapted SLOC are not included as Size in Equivalent KSLOC, and its PMAUTO are not included in PMNS in estimating the project’s schedule. 2.2.7 Sizing Software Maintenance COCOMO II differs from COCOMO 81 in applying the scale drivers to the size of the modified code rather that to the size of the product being modified. Applying the scale drivers to a 10 million SLOC product produced overlarge estimates as most of the product was not being touched by the
  • 79. changes. COCOMO II accounts for the effects of the product being modified via its software understanding and unfamiliarity factors discussed for reuse in Section 2.2.4.2. The scope of “software maintenance” follows the COCOMO 81 guidelines in [Boehm, 1981, pp.534-536]. It includes adding new capabilities and fixing or adapting existing capabilities. It excludes major product rebuilds © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 29 - changing over 50% of the existing software, and development of sizable (over 20%) interfacing systems requiring little rework of the existing system. The maintenance size is normally obtained via Equation 2.7, when the
  • 80. base code size is known and the percentage of change to the base code is known. [ MAFMCFSize) Code (Base(Size)M ]××= Eqn. 2.7 The Maintenance Adjustment Factor (MAF) is discussed below. But first, the percentage of change to the base code is called the Maintenance Change Factor (MCF). The MCF is similar to the Annual Change Traffic in COCOMO 81, except that maintenance periods other than a year can be used. Conceptually the MCF represents the ratio in Equation 2.8: SizeCode Base Modified Size Added SizeMCF += Eqn. 2.8 A simpler version can be used when the fraction of code added or modified to the existing base code during the maintenance period is known. Deleted code is not counted.
  • 81. MAFModified) Size Added (Size(Size)M ×+= Eqn. 2.9 © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 30 - The size can refer to thousands of source lines of code (KSLOC), Function Points, or Object Points. When using Function Points or Object Points, it is better to estimate MCF in terms of the fraction of the overall application being changed, rather than the fraction of inputs, outputs, screens, reports, etc. touched by the changes. Our experience indicates that counting the items touched can lead to significant over estimates, as relatively small changes can touch a relatively large number of items. In some very large COBOL programs, we found ratios of 2 to 3 FP-touched/SLOC-changed as compared to 91 FP/SLOC for
  • 82. development. The Maintenance Adjustment Factor (MAF), Equation 2.10, is used to adjust the effective maintenance size to account for software understanding and unfamiliarity effects, as with reuse. COCOMO II uses the Software Understanding (SU) and Programmer Unfamiliarity (UNFM) factors from its reuse model (discussed in Section 2.2.4.2) to model the effects of well or poorly structured/understandable software on maintenance effort. ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ×+= UNFM 100 SU1MAF Eqn. 2.10 The use of (Size)M in determining maintenance effort, Equation 2.9, is discussed in Section 2.5.
  • 83. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 31 - 2.3 Effort Estimation In COCOMO II effort is expressed as Person-Months (PM). A person month is the amount of time one person spends working on the software development project for one month. COCOMO II treats the number of person- hours per person-month, PH/PM, as an adjustable factor with a nominal value of 152 hours per Person-Month. This number excludes time typically devoted to holidays, vacations, and weekend time off. The number of person-months is different from the time it will take the project to complete; this is called the development schedule or Time to Develop, TDEV. For example, a project may
  • 84. be estimated to require 50 PM of effort but have a schedule of 11 months. If you use a different value of PH/PM--say, 160 instead of 152-- COCOMO II adjusts the PM estimate accordingly (in this case, reducing by about 5%). This reduced PM will result in a smaller estimate of development schedule. The COCOMO II effort estimation model was introduced in Equation 2.1, and is summarized in Equation 2.11. This model form is used for both the Early Design and Post-Architecture cost estimation models. The inputs are the Size of software development, a constant, A, an exponent, E, and a number of values called effort multipliers (EM). The number of effort multipliers depends on the model. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 32 -
  • 85. II.2000) COCOMO(for 2.94A where EM(Size)APM n 1i i E = ××= ∏ = Eqn. 2.11 The exponent E is explained in detail in Section 2.3.1. The effort multipliers are explained in Section 2.3.2. The constant, A, approximates a productivity constant in (Person Months) / (thousands of lines of source code) for the case where E = 1.0. Productivity changes as E increases due to the non-linear effects on Size. The constant A is initially set when the model is calibrated to the project database reflecting a global productivity average. The COCOMO model
  • 86. should be calibrated to local data which then reflects the local productivity and improves the model's accuracy. Chapter 4 discusses how to calibrate the model. The Size is in units of thousands of source lines of code (KSLOC). This is derived from estimating the size of software modules that will constitute the application program. It can also be estimated from unadjusted function points (UFP), converted to SLOC, then divided by one thousand. Procedures for counting SLOC or UFP were explained in Section 2.2, including adjustments for reuse, requirements evolution, and automatically translated code. Cost drivers are used to capture characteristics of the software development that affect the effort to complete the project. A cost driver is a © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al.
  • 87. - 33 - model factor that "drives" the cost (in this case Person Months) estimated by the model. All COCOMO II cost drivers have qualitative rating levels that expres the impact of the driver on development effort. These ratings can range from Extra Low to Extra High. Each rating level of each cost driver has a value, called an effort multiplier (EM), associated with it. This scheme translates a cost dri qualitative rating into a quantitative one for use in the model. The EM value assigned to a cost driver's nominal rating is 1.00. If a cost driver's rating level causes more software development effort, then its corresponding EM is above 1.0. Conversel s ver's y, if the rating level reduces the effort then the corresponding EM is less
  • 88. than 1.0 uld here are 7 Archite . This ex e . The rating of cost drivers is based on a strong rationale that they wo independently explain a significant source of project effort or productivity variation. The difference between the Early Design and Post- Architecture models are the number of cost drivers and the areas of influence they explain. T cost drivers for the Early Design model and 17 cost drivers for the Post- cture model. Each set is explained with its model later in the chapter. It turns out that the most significant input to the COCOMO II
  • 89. model is Size. Size is treated as a special cost driver in that it has an exponential factor, E ponent is an aggregation of five scale drivers. These are discussed next. What is not apparent in the model definition form given in Equation 2.11 is that there are some model drivers that apply only to the project as a whole. Th © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 34 - scale drivers in the exponent, E, are only used at the project level. Addition one of the cost drivers that is in the product of effort multipliers, Required Development Schedule (SCED) is only used at the project level. The other cos drivers, which are all represented in the product of effort multipliers, and size apply to individual project components. The model can be used
  • 90. to estimate eff for a project that has only one component or multiple components. For multi- component pro ally, t ort jects the project-level cost drivers apply to all components, see ection 2.2.3. .3.1 Scale Drivers t is r standards and adm S 2 The exponent E in Equation 2.11 is an aggregation of five scale drivers
  • 91. that account for the relative economies or diseconomies of scale encountered for software projects of different sizes [Banker et al 1994a]. If E < 1.0, the project exhibits economies of scale. If the product's size is doubled, the project effor less than doubled. The project's productivity increases as the product size is increased. Some project economies of scale can be achieved via project-specific tools (e.g., simulations, testbeds) but in general these are difficult to achieve. Fo small projects, fixed start-up costs such as tool tailoring and setup of inistrative reports are often a source of economies of scale. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 35 - If E = 1.0, the economies and diseconomies of scale are in balance. This
  • 92. linear model is often used for cost estimation of small projects. If E > 1.0, the project exhibits diseconomies of scale. This is generally due to two main factors: growth of interpersonal communications overhead growth of large-system integration overhead. Larger projects will have more personnel, and thus more interpersonal communications paths consuming overhead. Integrating a small product as part of a larger product requires no the effort and t only to develop the small product, but also the additional overhead effort to design, ee [Banker et al 1994a] for a further discussion of software economies and diseconomies of scale.
  • 93. maintain, integrate, and test its interfaces with the remainder of the product. S © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 36 - Figure 2.4 Diseconomies of Scale Effect on Effort quation 2.12 defines the exponent, E, used in Equation 2.11. Table 2.10 provides the rating levels for the COCOMO II scale drivers. The selection of scale drivers is based on the rationale that they exponential variation on a project’s effort or productivity variation. Each scale Very Low to Extra High. Each rating level ha t c 0
  • 95. B=1.00 E are a significant source of driver has a range of rating levels, from s a weight. The specific value of the weight is called a scale factor (SF). The project's scale factors, the selected scale driver ratings, are summed and used to determine a scale exponent, E, via equation 2.12. The B term in the equation is a constant tha an be calibrated. Calibration is discussed in Chapter 4. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 37 - II.2000) COCOMO(for 0.91B where SF0.01BE 5
  • 96. 1j= Eqn. 2.12 j = ×+= ∑ For example, scale drivers in COCOMO II with an Extra High rating are ach assigned a scale factor weight of (0). Thus, a 100 KSLOC project with Extra High ratings for all scale drivers will have ΣSFj = 0, E = 0.91, and a relative effort of 2 94(1 0.91 94 Pe onths. F COM 0 c on of scale factors in Table 2.10, a project with Very Low ratings for all scale drivers will have ΣS , E = 1 a rela t of 1.226 Person Months. This represents a large varia but the increase invo in a one-unit change in one of the factors is only about 6%. For very large (1,000 ) p e eff ale uc s r 2 e
  • 97. . 00) = 1 rson M or the CO O II.200 alibrati Fj=31.6 .226, and tive effor 2.94(100) = 832 tion, lved KSLOC roducts, th ect of the sc factors is m h larger, as een in Figu e .4. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 38 - Table 2.10 Scale Drivers for COCOMO II Models Scale rivers Very Low Low Nominal High Very High Extra High D PREC thoroughly unprecedented
  • 98. largely unprecedented somewhat unprecedented generally familiar largely familiar thoroughly familiar SFj: 6.20 4.96 3.72 2.48 1.24 0.00 FLEX rigorous occasional some general some general goals relaxation relaxation conformity conformity SF : 5.07 4.05 3.04 2.03 1.01 0.00 j RESL little (20%) some (40%) often (60%) generally (75%) mostly (90%) full (100%) SFj: 7.07 5.65 4.24 2.83 1.41 0.00 very difficult some difficult basically cooperative interactions
  • 99. largely cooperative highly cooperative seamless interactions TEAM interactions interactions SFj: 5.48 4.38 3.29 2.19 1.10 0.00 PMA SW-CMM Level Lower SW-CMM Level 1 U SW-CMM Level 2 SW-CMM SW-CMM Level 4 SW-CMM T 1 pper Level 3 Level 5 SFj: 7.80 6.24 4.68 3.12 1.56 0.00 or the estimated Process M l (EMPL) aturity Leve le drivers ess and Flexibility largely capture the ifferences between the Organic, Semidetached, and Embedded
  • 100. modes of the Table 2.11 and Table 2.12 reorganize oehm 1981; Table 6.3] to map its project features onto the Precedentedness and Development Flexibility scales. These table can be used as a more in depth explanation for the PREC and FLEX rating scales given in Table 2.10. 2.3.1.1 Precedentedness (PREC) The two sca , Precedentedn d original COCOMO model [Boehm, 1981]. [B © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 39 - If a product is similar to several previously developed projects,
  • 101. then the igh. dness Rating Levels eature Very Low Nominal / High Extra High precedentedness is h Table 2.11 Precedente F Organizational understanding of product objectives General Considerable Thorough Experience in working with related software systems Moderate Considerable Extensive Concurrent de associated ne opera Some velopment of w hardware and tional procedures Extensive Moderate
  • 102. Need processing architectures, algori Minimal for innovative data thms Considerable Some 2.3.1.2 Development Flexibility (FLEX) Table 2.12 Development Flexibility Rating Levels Fe xtra High ature Very Low Nominal / High E Need for software confo estab Basic rmance with pre- lished requirements Full Considerable Need for software confo interface specifications Full Considerable Basic rmance with external
  • 103. Comb above with p compl Low ination of inflexibilities remium on early etion High Medium © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 40 - The PREC and FLEX scale factors are largely intrinsic to a project and uncontrollable. The next three factors identify management controllables by hich projects can reduce diseconomies of scale by reducing sources of project turbulence, entropy, and rework. cture / Ris lution )
  • 104. combines two of the scale drivers in Ada COCOMO, “Design y Product Revi R)” a sk E by oyce 1989; Figures 4 and 5]. Table 2.13 consolidates the atings to fo a more c rehensive definition for the SL rating levels. It also relates the rating level to the ife Cycle A itecture ( ) milestone as well as to the wate he RES g is th ective ed ave f the l evels w 2.3.1.3 Archite k Reso (RESL This factor Thoroughness b PDR” [Boehm and R Design ew (PD nd “Ri limination Ada COCOMO r COCOMO II RE rm omp
  • 105. MBASE/RUP L rch LCA rfall PDR milestone. T characteristics. L ratin e subj weight rage o isted Table 2.13 RESL Rating L © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 41 - Charac Low Very High Extra High teristic Very Low Nominal High Risk M identifi establis
  • 106. resolvi LCA. Mostly Fully anagement Plan es all critical risk items, hes milestones for ng them by PDR or None Little Some Generally Sched internal mil PDR o Risk M ostly Fully ule, budget, and estones through r LCA compatible with anagement Plan. None Little Some Generally M Percent of de schedu establishing architecture, given g objecti 40 velopment le devoted to eneral product ves.
  • 107. 5 10 17 25 33 Percen softwa to project. 40 60 80 100 120 t of required top re architects available 20 Tool su rt available for resolving risk items, develo archite None Little Some Good Strong Full ppo ping and verifying ctural specs. Level of uncertainty in key architecture drivers: mission, user interface, COTS hardware, tech perform Extreme Significant Considera ble Some Little Very Little , nology, ance.
  • 108. Numbe items. > 10 Criti 5-10 Crit 2-4 Critical 1 Critical > 5Non- C < 5 Non- al r and criticality of risk cal ical ritical Critic 2.3.1.4 Team Cohesion (TEA eam Cohesion scale driver accounts for the sources of project es in synchronizing the project’s , maintainers, interfacers, others. These ficulties may arise from differences in stakeholder objectives and cultures; ; and stakeholders' lack of experience and M) The T
  • 109. turbulence and entropy due to difficulti stakeholders: users, customers, developers dif difficulties in reconciling objectives © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 42 - familiarity in operating as a team. Table 2.14 provides a detailed definition for the ove Characteristic Very Low Low Nominal
  • 110. High Very High Extra High rall TEAM rating levels. The final rating is the subjective weighted average of the listed characteristics. Table 2.14 TEAM Rating Components Consistency of stakeholder obje Little Some Basic Considera Strong Full ctives and cultures ble A s bili takeholders to accommod stakeholders’ o ble trong Full ty, willingness of Little Some Basic Considera S ate other
  • 111. bjectives Experience of stake s i operating as a te ittle Basic sidera Extensive h am older n None Little L Con ble Stakeholder te to achieve share ommitments tle Little Basic sidera Extensive ambuilding vision andd None Lit Con ble c Overall Ma or
  • 112. 2.3.1.5 Process Maturity (PMAT) turity Levels The procedure for determining PMAT is organized around the Software Engineering Institute’s Capability Maturity Model (CMM). The time period f rating Process Maturity is the time the project starts. There are two ways of rating © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 43 - Process Maturity. The first captures the result of an organized evaluation based on the CMM. Table 2.15 PMAT Ratings for Estimated Process Maturity Level (EPM PMAT Rating Very Low - CM L)
  • 113. Maturity Level EPML M Level 1 (lower half) 0 Low - CMM Level 1 (upper half) 1 Nominal - CMM Level 2 2 High - CMM Level 3 3 Very High - CMM Level 4 4 Extra High - CMM Level 5 5 Key Process Area Questionnaire The second is organized around the 18 Key Process Areas (KPAs) in the SEI Capability Maturity Model [Paulk et al., 1993, 1993a]. The procedure for determining PMAT is to decide the percentage of compliance for each of the KPAs. If the project has undergone a recent CMM Assessment then the percentage compliance for the overall KPA (based on KPA Key Practice compliance assessment data) is used. If an assessment has not been done then the levels of compliance to the KPA’s goals are used (with the Likert scale in Table
  • 114. 2.16) to set the level of compliance. The goal-based level of compliance is determined by a judgement-based averaging across the goals for each Key © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 44 - Process Area. See [Paulk et al., 1995] for more information on the KPA efinitions, goals and activities. Table 2.16 KPA Ra A lm o ys 1 Fr
  • 117. tly f3 si on al ly t A p Requirements Management ne for software engineering and management use. ocated to software. � � � � � � � • System requirements allocated to software are controlled to establish a baseli • Software plans, products, and activities are kept consistent with the system requirements all
  • 118. Software Project Planning • Software estimates are documented for use in planning and tracking the software project. d groups and individuals agree to their commitments related • Software project activities and commitments are planned and documented. • Affecte to the software project. � � � � � � � Software Project Tracking and Oversight
  • 119. tracked against the software actual re commitments are agreed to by the affected � � � � � • Actual results and performances are plans • Corrective actions are taken and managed to closure when results and performance deviate significantly from the software plans. • Changes to softwa groups and individuals. �
  • 120. � Software Subcontract Management • The prime contractor selects qualified software subcontractors. • The prome contractor and the subcontractor agree to their h other. r and the subcontractor maintain ongoing communications. The prime contractor tracks the subcontractor’s actual results and performance against its commitments. � � � � �
  • 121. � commitments to eac • The prome contracto • � © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 45 - Table 2.16 (Cont'd) Software Quality Assurance (SQA) • SQA activities are planned. • Adherence of software products and activities to the applicable standards, procedures, and requirements is verified objectively. of• Affected groups and individuals are informed ults. software quality re �
  • 122. � � � � � � assurance activities and res • Noncompliance issues that cannot be resolved within the softwa project are addressed by senior management. Software Configuration Management (SCM) • SCM activites are planned. • Selected workproducts are ide • ntified, controlled, and available. �
  • 123. � � � � Changes to identified work products are controlled. • Affected groups and individuals are informed of the status and content of software baselines. � � Organization Process Focus • Software process development and improvement activities are coordinated across the organization. • The strengths and weaknesses of the software processes used are s � �
  • 124. � � � identified relative to a process standard. • Organization-level process development and improvement activitie are planned. � � Organization Process Definition • A standard software process for the organiation is developed and maintained. • Information related to the use of the organization’s standard � �
  • 125. � � � software process by the software projects is collected, reviewed, and made available. � � Training Program • Training activities are planned. Training for developing the skills and knowledge needed to perfo• rm software management and technical roles is provided. • Individuals in the software engineering group and software- related groups receive the training necessary to perform their roles. � � �
  • 126. � � � � © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 46 - Table 2.16 (Cont'd) Integrated Software Management • The project’s defined software process is a tailored version of the organization’s standard software process. • The project is planned and managed according to the project’s defined software process.
  • 127. � � � � � � � Software Product Engineering • The software engineering tasks are defined, integrated, and consistently performed to produce the software • Software work products are kept consistent with each other. � � �
  • 128. � � � � Intergroup Coordination • The customer’s requirements are agreed to by all affected groups. • The commitments between the engineering groups are agreed to by the affected groups. • The engineering groups identify, track, and resolve intergroup issues. � � � �
  • 129. � � � Peer Reviews • Peer review activities are planned. • Defects in the software work products are identified and removed. � � � � � � � Quantitative Process Management • The quantitative process management activities are planned.
  • 130. • The process performance of the project’s defined software process is controlled quantitatively. • The process capability of the organization’s standard software process is known in quantitative terms. � � � � � � � © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al.
  • 131. - 47 - Table 2.16 (Cont'd) Software Quality Management • The project’s software quality management activities are planned. • Measurable goals of software product quality and their priorities are defined. • Actual progress toward achieving the quality goals for the software products is quantified and managed. � � � � � �
  • 132. � Defect Prevention • Defect prevention activities are planned. • Common causes of defects are sought out and identified. • Common causes of defects are priortized and systematically eliminated. � � � � � � � Technology Change Management • Incorporation of technology changes are planned. • New technologies are evaluated to determine their effect on quality
  • 133. and productivity. • Appropriate new technologies are transferred into normal practice across the organization. � � � � � � � Process Change Management • Continuous process improvement is planned. • Participation in the organization’s software process improvement activities is organization wide. • The organization’s standard software process and the project’s
  • 134. defined software processes are improved continuously. � � � � � � � 1. Check Almost Always when the goals are consistently achieved and are well established in standard operating procedures (over 90% of the time). 2. Check Frequently when the goals are achieved relatively often, but sometimes are omitted under difficult circumstances (about 60 to 90% of the time). 3. Check About Half when the goals are achieved about half of the time (about 40 to 60% of the time). 4. Check Occasionally when the goals are sometimes achieved,
  • 135. but less often (about 10 to 40% of the time). 5. Check Rarely If Ever when the goals are rarely if ever achieved (less than 10% of the time). 6. Check Does Not Apply when you have the required knowledge about your project or organization and the KPA, but you feel the KPA does not apply to your circumstances. 7. Check Don’t Know when you are uncertain about how to respond for the KPA. An equivalent process maturity level (EPML) is computed as five times the average compliance level of all n rated KPAs for a single project (Does Not Apply and Don’t Know are not counted which sometimes makes n less than 18). After each KPA is rated the rating level is weighted (100% for Almost Always, © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 48 - 75% for Frequently, 50% for About Half, 25% for Occasionally, 1% for Rarely if
  • 136. Ever). The EPML is calculated as in Equation 2-13. n 1 100 KPA% 5EPML n 1i i ×⎟ ⎠ ⎞ ⎜ ⎝ ⎛ ×= ∑ = Eqn. 2.13 An EPML of 0 corresponds with a PMAT rating level of Very Low in the rating scales of Table 2.10 and Table 2.15. The COCOMO II project is tracking the progress of the recent CMM
  • 137. Integration (CMM-I) activity to determine likely future revisions in the definition of PMAT. 2.3.2 Effort Multipliers 2.3.2.1 Post-Architecture Cost Drivers This model is the most detailed and it is intended to be used when a software life cycle architecture has been developed. This model is used in the development and maintenance of software products in the Application Generators, System Integration, or Infrastructure sectors discussed in Chapter 1. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 49 - The 17 Post-Architecture effort multipliers (EM) are used in the
  • 138. COCOMO II model to adjust the nominal effort, Person-Months, to reflect the software product under development, see Equation 2.11. Each cost driver is defined below by a set of rating levels and a corresponding set of effort multipliers. The Nominal level always has an effort multiplier of 1.00, which does not change the estimated effort. Off-nominal ratings generally do change the estimated effort. For example, a high rating of Required Software Reliability (RELY) will add 10% to the estimated effort, as determined by the COCOMO II.2000 data calibration. A Very High RELY rating will add 26%. It is possible to assign intermediate rating levels and corresponding effort multipliers for your project. For example, the USC COCOMO II software tool supports rating cost drivers between the rating levels in quarter increments, e.g. Low+0.25, Nominal+0.50, High+0.75, etc. Whenever an assessment of a cost driver is
  • 139. halfway between quarter increments always round to the Nominal rating, e.g. if a cost driver rating falls halfway between Low+0.5 and Low+0.75, then select Low+0.75; or if a rating falls halfway between High+0.25 and High+0.5, then select High+0.25. Normally, linear interpolation is used to determine intermediate multiplier values, but nonlinear interpolation is more accurate for the high end of the TIME and STOR cost drivers and the low end of SCED. The COCOMO II model can be used to estimate effort and schedule for the whole project or for a project that consists of multiple modules. The size and © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 50 - cost driver ratings can be different for each module, with the exception of the
  • 140. Required Development Schedule (SCED) cost driver and the scale drivers. The unique handling of SCED is discussed in Section 2.3.2.1.4 and in 2.4. 2.3.2.1.1 Product Factors Product factors account for variation in the effort required to develop software due to characteristics of the product under development. A product that is complex, has high reliability requirements, or works with a large database will require more effort to complete. There are five product factors and complexity has the strongest influence on estimated effort. Required Software Reliability (RELY) This is the measure of the extent to which the software must perform its intended function over a period of time. If the effect of a software failure is only slight inconvenience then RELY is very low. If a failure would risk human life
  • 141. then RELY is very high. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 51 - Table 2.17 RELY Cost Driver RELY Descriptors: slight inconven- ience low, easily recoverable losses moderate, easily recoverable losses high financial loss
  • 142. risk to human life Rating Levels Very Low Low Nominal High Very High Extra High Effort Multipliers 0.82 0.92 1.00 1.10 1.26 n/a This cost driver can be influenced by the requirement to develop software for reusability, see the description for RUSE. Data Base Size (DATA) This measure attempts to capture the effect large data requirements have on product development. The rating is determined by calculating D/P, the ratio of bytes in the database to SLOC in the program. The reason the size of the database is important to consider is because of the effort required to generate the test data that will be used to exercise the program. In other words, DATA is capturing the effort needed to assemble the data required to complete test of the program
  • 143. through IOC. © 1999-2000 USC Center for Software Engineering. All Rights Reserved COCOMO_II_Ch_2_(Boehm_et_al_2000)-2 COCOMO II/Chapter 2/Boehm et al. - 52 - Table 2.18 DATA Cost Driver DATA* Descriptors DB bytes/Pgm SLOC < 10 10 ≤ D/P < 100 100 ≤ D/P < 1000 D/P ≥ 1000 Rating Levels Very Low Low Nominal High Very High Extra High Effort Multipliers n/a 0.90 1.00 1.14 1.28 n/a * DATA is rated as Low if D/P is less than 10 and it is very high if it is greater than 1000. P is measured in