compliance. Other common class of demands come
from social programs, supported by Federal
Government. These programs impose some pattern
procedures to the municipalities, impacting directly
in their business process and, in most cases,
requiring a minimum level of automation. In both
case, each demand of automation or support
originate in municipalities fulfils Demands box, to
be dealt by OSS Factory movements.
2.2 Contest (Competition)
Once demands are identified, a contest involving
professors and undergraduation Computing courses
students are is carried out. Contest is managed by an
entity that will be mainly responsible supervision,
with predefined activities towards software
application development that will fill out demands
found in first phase of OSS Factory. From now on,
that entity will be referred as Coordinator Entity
(CE). One single contest can address either one
demand or a group of them, depending on
professors/CE convenience and applications
complexity.
In each edition, application functional
requirements elicited from demands are divided
through contest time window. How long is this
period also must be set up among professors and
CE? Following an iterative process, students submit
the code they produce for evaluation, made by
professors and CE consultants. Grades are assigned
to the code, ranking participants in a partial result
for that phase. After that, a new phase is started,
considering requirements not addressed yet. When
all phases are accomplished, partial results are
joined and those students who have summed higher
score are the concert winners.
2.3 Tutor
Typical undergraduation Computing curriculum
include courses dedicated to Software Engineering
practices. In this context, practices mean laboratory
activities, going beyond theorical teaching and
demanding from students analysis, design,
codification, test and deployment activities. The
whole cycle is supported by classical processes and
oriented by professor in charge of the course.
Every semester, professors are obligated to
repeat efforts to find adequate applications to be
delivery as practical project to his courses. Adequate
means in a complexity and time consumption
compliant to students background and scope bounds
of his course. After not much long, this procedure
extinguishes professor possibilities and the same
applications are repeated time after time, or
professor is forced to specify application associated
to no imaginary projects, with now real clients and
requirements.
When inserted in the contest, professor will be
provided periodically with projects specifications,
arisen from real demands identified from real
clients, ready to assign among students during his
course.
2.4 Students
Students that participate to the contest can improve
their Software Engineering abilities, going beyond
traditional courses, mainly for the following reasons:
Motivation: they will work on real requirements,
elucidated from clients that will truly adopt the
application they will build, instead of usual mock
applications assigned by professors every year;
Besides, according to their performance, they may
be monetarily rewarded by his efforts, gain good
exposition to software houses market, personal
satisfaction and pride
Good practices: having contact with tutorials, being
pressured to obey recommended design,
architecture, documentation and interface patterns
delivered by CE, because they are considered in
evaluations, students will leave the process with
Software Engineering best practices naturally
incorporated.
Focussing the big picture, in the former scenario
we can find productive capacity of hundred or
thousand students being allocated in to-be-never-
used applications. Signing this great amount of
students contests, CE will have a small software
development army, obtaining the same benefits that
Open Software communities currently get from great
numbers law (Moura et. all, 2006). In addiction,
client demands are solved with no cost in software
production phase.
2.5 “done” Applications
Every time OSS Factory repeats the production
process (a contest edition) the set of application
ready to use is increased, offered with no licensing
restriction, except those typical for OS software
(keeping it OS, making modifications always public,
etc.). The mechanism used to deploy applications is
a collaborative web portal (Flo-pref Library, 2006),
where the community composed by CE, Software
Engineering professors, students signed in OSS
ICEIS 2007 - International Conference on Enterprise Information Systems
618