with command line only and none of them
connected. IDE could be connected at least to the
build mechanism and/or to SVN repository, but the
overall integration, mainly code and task level was
impossible. Apart from risk management and
connection of risk mitigation actions with tasks. This
was also reason, why we have excluded Jira and
used only wiki for managing iteration plans,
assessments and hi level tasks. We wondered how to
improve and connect tools without increasing
number of tools or coding in-house integrations.
Another input factor for change was student’s
misunderstanding of the principles. There was gap
between the behaviour and understanding thus
students didn’t followed agreed and explained
iterative approach. Students started development
with database design, without understanding
problem domain (no business modelling).
Finally, we have decided to leverage IBM
Rational Team Concert.
3 WAY OF TEACHING
The initiation of the Grade Project is assigned to
brief explanation of problem and to business
modelling to gain the problem domain knowledge.
IS QI and ARIS tool are used for this purpose.
Business modelling is optional part and depends on
complexity of the problem domain, because learning
of another tool can even more decrease low
productivity of student teams in the beginning.
It is obvious that bringing practices into the team
is easier with the tool. If any problems, obstacles
after the change, people tend to switch to the old
mode, to the old way of working. Tool supports to
make the change permanent by incorporating
practices and bringing them into daily life. The RTC
tool supports understand iterative framework; team
agile planning; traceability and integration of tasks
with delivered components.
What is more important is support of distributed
way of working and incorporation of development
process rules. The first mentioned fact is crucial,
because students have only one tutorial per week
that lasts 1.5 hour. During this time we can only
conduct iteration assessment and planning for the
next iteration and discuss problems and
impediments. There is no time to develop the code
during tutorial. Thus students need to analyse,
design, test and develop, share their codes and
extensively communicate during the week.
Figure 3: Process rules control result displayed in Team
Advisor window – not assigned work item to any
category.
The second mentioned fact, development process
rules, can be said by lecturers, but students do not
need to follow them. The great benefit of RTC from
the teaching perspective is that RTC allows us to
incorporate process rules into its behaviour. That
means direct support of our software development
process. If we have rule saying no delivery (commit
in SVN speech) to repository without code review or
jUnit test and we try to deliver without it, RTC will
announce process rule violation and will not deliver
to the stream (see Fig. 3, 4 and 5).
Software development process rule definition
can be done on different levels. The basic behaviour
definition is process definition. We follow
OpenUP/RUP phases with one week iterations
within each phase in Inception and Elaboration. The
length can be different in later Elaboration and
Construction phases. This is the main line and
calendar driving team planning, demonstration and
assessment (see following figure).
Figure 4: Our development process based on OpenUP.
Another specific behaviour that students have to
follow can be defined on activity level for each
system activity (e.g. creating work items, delivering
to the stream, creating baselines and report and
many others). Following example shows student’s
attempt to deliver to the stream without the rights.
HOW JAZZ ROCKS TEACHING ITERATIVE SOFTWARE DEVELOPMENT - Utilizing IBM Rational Team Concert at
the University of Ostrava
227