
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