2. 274 IEEE TRANSACTIONS ON EDUCATION, VOL. 54, NO. 2, MAY 2011
Montenegro) and given for one semester at a third university of high-quality software, alignment of development with cus-
as well (University of Canterbury, New Zealand). About half tomer needs and company goals, as well as timely response to
of the course hours are dedicated to ASD. Prerequisites include changing requirements, the teacher also plays the role of the
Introduction to Java, Computer Networks, and Introduction to customer.
Databases. Students develop a project using Eclipse IDE and In undergraduate courses, Scrum and XP are mainly used,
are supposed to work in small teams practicing XP. without either being favored. Rather, specifics from both ap-
proaches are used together to suit the class needs.
B. Case 2—Undergraduate Elective Course From the well-established XP values [3], team communica-
This is a course on software development given at the Mega- tion, design and coding simplicity, and continuous feedback
trend University, Faculty of Computer Science, Belgrade, to stu- from the customer are especially emphasized. Other XP prac-
dents in their last (sixth) semester. The students had already tices (such as refactoring and pair programming) are explained,
taken other courses that equipped them with skills in using APIs, but not necessarily in strict relation to each other or to XP as a
designing software architecture, testing, integration, software process.
metrics, and the various software management methodologies In practicing the Scrum process, assigning roles (with their
and tools that support these. In this course, after three weeks self-explanatory names, such as Scrum Master, Scrum Coach,
of lectures and tutorials, students undertake practical work on and Product Owner [19]) greatly helps the development process.
a lab project for 4 h a week. A real-world project development Hence, these roles are typically assigned to the students in the
environment is simulated, and both Scrum and XP practices are lab. A 15-min daily stand-up meeting, sprints (iterations),
used. demos, and retrospectives are Scrum practices appropriate to
enforce in the labs.
C. Case 3—Graduate Course
Both M.S. and Ph.D. students of SE, CS, and IS take this elec- B. Course Structure
tive course on advanced software development at the University The course described in Case 1 teaches ASD for about half
of Belgrade; M.S. students at the Mediterranean University in of its core hours, hence the coverage of ASD is not as detailed
Montenegro take a course on software project management, half as in the course of Case 2. In both courses, all the major general
of which largely corresponds to the course given at the Univer- ASD concepts are covered in class, and a brief overview and
sity of Belgrade. Most students in this case study already have comparison of XP, Scrum, Lean [20], and Crystal Clear [13]
some experience working as software developers in industry. processes is provided. Then, XP and Scrum are covered in more
The course enforces ASD principles rather than requiring the detail, followed by an extended comparative evaluation of their
students to complete their projects or to stick to a specific ASD use.
approach. During the labs/tutorials, students are taught how to use
tools recommended in Scrum and XP, such as user stories, task
D. Variations boards, and the like. Several specific software development
Undergraduate courses typically focus more on requirements tools and environments are also used. Students propose projects
gathering (user stories) and the notion of testing and integration that they want to work on, and these projects are developed in
using selected open-source Java frameworks (such as Spring the lab over several weeks. The teachers/tutors ensure that each
[15], TestNG [16], and Hibernate [17]). The idea is to walk the student takes a different role in their team each time they are in
students through the entire process of developing a simple Web the lab.
application. Graduate courses are taken by professionals with
some relevant experience. Here, the focus is more on practices C. Pedagogical Issues
that lead to improvements in software quality (such as refac- An important pedagogical objective in teaching ASD is to let
toring and test suits [3]) and the ease of maintenance. Other the students adopt the working style typical for software devel-
topics such as software metrics, CMM [18], and standardiza- opment in small teams. Given the typical age of undergraduate
tion issues are sometimes taught in the context of ASD as well. students (early 20s), this is relatively easy to achieve since the
Fewer labs are organized, and the students are supposed to work social aspect of ASD sits well with that age group.
on their assignments in small teams. Students’ motivation is further increased by insisting on pro-
fessional and real-world development styles. Rotating the roles
IV. UNDERGRADUATE-LEVEL TEACHING between students in a team makes the development process
The common objective of undergraduate courses is to have more dynamic and lets everybody have a taste of each role.
the students adopt agile practices through practical project de- Another important issue is that of keeping up the pace.
velopment. Teamwork is enforced, and the team velocity [19] is Given the individuality of the teams and the variations between
maintained by the teacher’s intervention when necessary. projects, the teacher/tutor should carefully monitor the team ve-
locity in each specific project in order to provide approximately
A. Teaching Principles and Practices equal conditions and working environment so that each project
The “big picture” of teaching (about which the students are can develop successfully. Introducing some kind of competition
constantly reminded) includes the Agile Manifesto values and between the projects can be helpful in keeping the pace up (if
principles [2]. To an extent, these are adapted to development this is not overemphasized). Giving the students an idea of the
in a university lab. Since ASD always assumes rapid delivery user story they will develop the next week is usually a more
3. ˇ ´ ´
DEVEDZIC AND MILENKOVIC: TEACHING AGILE SOFTWARE DEVELOPMENT: A CASE STUDY 275
effective way of achieving this. However, experience shows VI. EXPERIENCES AND EVALUATIONS
that this is less effective if given as an assignment. The teachers
Weaving together two or more ASD approaches (such as
should rather take on the role of customers and specify the user
Scrum and XP) in a single course is not difficult if the teachers
story for the next lab in order to stimulate post-reflection and
do not make strict distinctions between practices drawn from
creative thinking during the intervening period (usually one
different approaches. Moreover, allowing a lot of tolerance in
week).
the terminology used in class, in terms of mixing terminolo-
The way the classes and labs are organized lets the teacher/
gies from different approaches, also helps in achieving the
tutor play the role of an available guide; for much of the time,
teaching/learning objectives more efficiently.
the teams work intensively on their own, consulting the teacher
Along the same lines, since ASD is more about skill than
only when they are uncertain about an issue. The teacher/tutor
about theory, the best results are achieved if the teaching is given
monitors the teams’ activities both in the class/lab and off-hours.
“in the agile way,” i.e., as practical tutorials/labs. Luckily, the
The latter is enabled because project-related interaction between
universities where the specific courses mentioned are given are
the team members through social networking tools is required
supportive to this approach. It was also found that students easily
and, technically, the teacher is always the administrator/owner
adopt this approach and quickly adapt to ASD in general. Their
of such a social network. This way, the students essentially un-
motivation rises from the very first classes, and their tendency
dergo a continuous (albeit informal) assessment.
to skip some responsibilities (often occurring in traditionally
conducted courses) drops rapidly.
V. GRADUATE-LEVEL TEACHING
In addition, it was noticed that “in the agile way” should be
The fact that many of the graduate students taking grad- as consistent as possible. For example, if a specific classroom
uate-level courses come from industry and already have some layout can be arranged to mimic the layout of developers’ offices
real-world software development experience makes it necessary recommended in ASD—this should be done. Likewise, stand-up
to include certain important variations in the course structure, meetings in the beginning of classes and labs are welcome.
topics, and organization. In undergraduate courses, students often lack experience;
emphasizing the quality of the software developed in their
A. Topic Variations
projects helps them understand some of the ASD practices
Specifics of various corporate cultures can be accommodated (such as testing, refactoring, coding standards, and contin-
by varying the topics being taught and their emphases. At the uous integration) more easily. In practice, this means that the
start of the course, the teachers interview the students to find out teachers/tutors should focus on coding and testing details when
what specific software development technologies and practices guiding the students in class. Moreover, the teachers should
they are used to, as well as what specific software processes are occasionally themselves pair with students (or possibly just
practiced in their companies. Then, they run the course adap- join a pair of students) for a short time, to participate in the
tively and interactively, trying to emphasize agile practices “in team’s pair programming directly and to act as Scrum Coach.
context,” i.e., relative to the projects and practices relevant to Students’ inexperience is an important factor to take into ac-
each specific student. For example, students are requested to ex- count when calculating the team (project) velocity. Individual
press their views of how specific Scrum roles are (or would be) differences and capabilities are naturally greater in student
seen in their companies. They are also requested to discuss and teams than in professional ones. A good heuristic in calculating
possibly demonstrate in class how refactoring and testing is (or project velocity is to assume that the number of students in
has been) taken care of in the context of a specific project with each team is about 20% less than the actual number, which
which they are/were involved. provides a fairly accurate estimate of velocity. Also, the focus
Many of the discussions and assignments are focused factor [19] (a weighting used for calculating team velocity more
on team/customer relationship management in ASD and on realistically) can be initially set as being between 0.15 and 0.35.
ever-changing requirements that necessarily feature in any In graduate courses, there are, typically, more experienced
real-world software development. programmers, and the focus can be shifted to planning of sprints/
iterations, introduction of ASD in more traditional organiza-
B. Pedagogical Issues tions, and agile team building.
In cases when ASD is not practiced in the organizations Introducing some pedagogical agility in class can be helpful.
in which the students work, they are encouraged to articulate For example, it was noticed that in courses covering not only
their views of changes that ASD practices would bring to ASD but other SE topics as well, students willingly accept in-
development processes in their organizations. These students vestigating in advance a specific technology or tool to be used
are also asked to reflect on what specific ASD practices would at a later stage. Later on, they can teach this to others when in
get adopted in their organizations easily and seamlessly. When- pairs working on development tasks. Such activities can be or-
ever possible, code snippets from their real-world projects are ganized as individual projects that contribute to the final grades.
analyzed in class for possible refactoring. In such cases, pairing Note, however, that pairing can be a critical problem in an
a student who has a code snippet with another student who ASD course. On the one hand, it can boost knowledge harmo-
does not (preferably from another organization, to avoid bias) nization inside the team, as long as the rotation of students be-
and having them prepare the analysis and conduct refactoring tween pairs is frequent enough. Care must be taken, though, that
together simulates pair programming practices. rotations do not happen in the middle of a task, but only when
4. 276 IEEE TRANSACTIONS ON EDUCATION, VOL. 54, NO. 2, MAY 2011
TABLE I VII. LESSONS LEARNED
STUDENTS’ PRODUCTIVITY. THE NUMBERS SHOWN ARE AVERAGE
2
VALUES PER MONTH OF LAB WORK (2 45 min A WEEK). After eight years of experience teaching ASD, and from the
THE RANGES REFLECT DIFFERENT PROJECTS evaluations regularly collected from the students, the lessons
learned can be summarized as a set of recommended practices to
course organizers who want to increase the learning efficiency
in their courses. These practices should be taken as educational
ones; they only augment, not replace, the set of development
practices featuring ASD approaches. They do require some dis-
cipline to implement, but the resulting effects can be rewarding.
Eliminate major difficulties early. It is helpful if considerable
time is dedicated in the beginning of the course to the problems
of refactoring, testing, and emerging design since these appear
to be the major obstacles to adopting ASD (see Tables I and III).
Iterations should be rather short. Long iterations mean less
iteration. Given the typical course context (two to six classes
a week, 15 weeks per semester, simple projects), even short it-
erations (one to two weeks each) are often sufficient (Table I,
Issue i).
Agile works with agile students. Not all students are well mo-
tivated initially, and they have different capabilities. Pairing up
more agile students with less agile ones helps keep up the stu-
dent project pace. This heuristic has been applied in the case
study since the academic year of 2004–2005 and explains the
the task is completed. On the other hand, personal incompati- values in the Quit rate column (Table II).
bilities within pairs can sometimes slow the team dramatically Agile can be seductive. There is a danger that students start
and consequently require special care and intervention by the thinking that anything anywhere in industry can be done “in
teacher. the agile way.” Balancing ASD topics with occasional instances
Metrics (measurable quantitative indicators) of the students’ of more traditional ones during the classes and labs brings the
productivity in the lab are collected and updated throughout the necessary “reality check.” A good way to do this is to remind
courses. Table I shows some of these values. An interesting ob- students of the CMM ladder [18] again and again.
servation from this table and from insights into typical metrics Reference to other important topics is invaluable. Starting
and productivity data published about real-world software in- from qualitative course evaluations and trying to minimize the
dustry projects (e.g., [21]) is that the students’ productivity is confusion of some students and their cautious and/or negative
only about 15%–20% less than that of developers in industry. comments (see Table III), several other topics variations have
This is not much of a productivity gap, given the differences in been tried in this case study. The most effective ones proved to
experience and focus factors (see Table I header as well). be the ever-evolving Apache Foundation frameworks [22], com-
In addition, as a part of this case study, specific course evalu- parison to other incremental and iterative development method-
ations were conducted with the students enrolled. At the end of ologies (especially to the widely used Rational Unified Process
each course given, the students were asked to evaluate ASD as [23]), and software usability [24].
the course topic and as a development practice and pedagogical Students must succeed. It is up to the teacher to guide each
issues related to teaching ASD. Tables II and III show typical ex- project carried out by the students to a successful conclusion
cerpts from these evaluations. Much of the contents of Tables II at the end of the course. It does require a lot of involvement
and III are self-explanatory. It can be noted from Table II that on the part of the teacher, but if omitted, the pedagogical and
cautious and negative comments result mainly from difficulties engineering values of the entire course will drop dramatically.
the students experience in adopting ASD practices related to Ensuring that the pace is kept up in the students’ projects is
testing and refactoring, as well as the fact that design is not essential to this issue in terms of the Drop-out rate and Quit
emphasized in ASD as a distinct development phase. Note also rate (Table II).
the better Quit rate values in Table III in the case of M.S.- and Practice increases commitment and helps overcome skepti-
Ph.D.-level courses, compared to those in B.S.-level courses; cism. There are always skeptical students who challenge the
these are attributed to the higher experience of the former at- opinions of the others in the team. Too much theoretical discus-
tendees. The N-A values in the Drop-out rate column represent sion introduces doubt, and direct involvement of these students
the cases where no further information on how the students have in practical activities must be enforced in order to increase the
continued their education was available. Also, the Further suc- Average ASD acceptance (Table II).
cess column does not include the many various instances of pos- No imposing. Each decision to be made should be preceded
itive feedback from employers who now work with the students by discussion and the team consensus. Everything must be trans-
covered by this case study because no precise (quantitative) ev- parent and negotiated between the teachers and the students.
idence was maintained to this end. See Section VII for some Otherwise, the motivation drops, the learning is much less ef-
further interpretations of Table II values. fective, and the Drop-out rate increases.
5. ˇ ´ ´
DEVEDZIC AND MILENKOVIC: TEACHING AGILE SOFTWARE DEVELOPMENT: A CASE STUDY 277
TABLE II
DATA COLLECTED FROM DIFFERENT COURSES OVER EIGHT YEARS. COURSE TYPE AND FIELD—THE TYPE CAN BE BS, BSH (B.S. WITH HONORS), MS,
PMS (PROFESSIONAL M.S.), MDA, PhD; THE FIELD CAN BE CS, SE, IT, OR IS. GROUP SIZE—NUMBER OF ATTENDEES AT COURSES. AVERAGE ASD
ACCEPTANCE—GRADES FROM 1 TO 5, 1 BEING THE LOWEST AND 5 THE HIGHEST GRADE. DROP-OUT RATE—[%] OF STUDENTS WHO DID NOT
ENROLL IN SIMILAR ADVANCED COURSES AFTER THIS ONE. QUIT RATE—[%] OF STUDENTS WHO GAVE UP WORKING ON THE PROJECT
AND QUIT THE COURSE. FURTHER SUCCESS—THE NUMBER OF PROJECTS AWARDED AND/OR EXTENDED TO REAL-WORLD APPLICATIONS.
SINCE THE COURSES ARE TYPICALLY GIVEN MORE THAN ONCE DURING A SINGLE ACADEMIC YEAR, THE (ROUND) NUMBERS SHOWN
IN THE TABLE CELLS FOLLOW THE PATTERN hn i=hn i= . . .
TABLE III Unmanageable impediments. Personal relations among some
STUDENTS’ EXPERIENCES OF AND COMMENTS ON ASD ISSUES students, lack of knowledge/experience, and the university (non-
(PERCENTAGE RANGES REFLECT DIFFERENT PROJECTS) industry) setting can sometimes introduce extra inefficiency.
These factors are difficult to eliminate, but teachers should still
enforce skill and knowledge building through ASD practices.
VIII. DISCUSSION
The authors are not aware of another similar case study. Other
authors have mostly discussed how to incorporate ASD in their
current curricula (e.g., [11]), but did not provide any extensive
experiences with teaching ASD.
ASD is not widespread in university curricula yet. One of
the reasons is that ASD is not yet supported by the official
IEEE-CS/ACM guidelines for computing curricula [25], and
using it in educational surroundings is still an object of personal
Assign the Scrum Master role. In addition to the teacher being research, trial, and errors. On the other hand, serious efforts and
the Scrum Coach, there should also be a Scrum Master in each analyses to improve this situation have been conducted or are in
team (see Section IV-A and [19] for more details). This role can progress [26]–[28].
be taken by one of the students with the best knowledge of the Other reasons include traditionalism, the teachers’ mindsets,
tools and technology used in a particular Sprint cycle (iteration). and usually slow (re)accreditation processes. Using practical
Mentoring is not always effective. It is very ineffective and exercise in class (“learning by doing”) rather than traditional
not agile at all if the students always expect to be told what teaching/learning methods has not yet been fully adopted. ASD
to do in carrying out an ASD project. In this case study, lower is a set of grassroots methodologies, without significant support
scores in Table II and more complaints in Table III have always from theory; hence, teachers teaching in the old way think it is
been correlated with too much mentoring. Mentoring has proven risky to teach in “the agile way.” Also, some teachers with long
effective only if limited to stimuli and indications for individual experience have witnessed the rise and fall of many other tech-
and/or team exploration of relevant problems. nologies and approaches that, in their own time, had promised
Teams should be small. Teams of four to five students, as well more efficient ways of software development.
as some kind of fair competition between them, are well suited Not only software development can be done in “the agile
for labs/tutorials. Large teams are more difficult to manage, way”; many teaching practices and the lessons the authors have
especially if the students are inexperienced. As indicated in learned and discussed here can be applied to teaching other com-
Table II, larger teams have featured in earlier course implemen- puting disciplines as well.
tations. However, lower values for Average ASD acceptance Moreover, ASD practices have much in common with similar
and higher values for Drop-out rate and Quit rate have been well-proven practices in other disciplines. For example, modern
recorded in such cases (see Table II). architecture design studio courses are structured by projects,
Teams must be self-organized. Self-organizing teams are at problems, and inquiry [29]. They rely on the use of professional
the core of “the agile way.” This breaks with traditional class practice project “problems” to stimulate students to discover and
management and requires the students’ self-control and self- explore key disciplinary concepts and skills. Students work in
management. At first, teachers may find it difficult to conduct small teams and focus on intensive team communication and
classes/labs this way, but the students’ greater involvement and performance of professional skills and transmission of estab-
greater level of interaction come as a reward. lished knowledge, just like in ASD.
6. 278 IEEE TRANSACTIONS ON EDUCATION, VOL. 54, NO. 2, MAY 2011
IX. CONCLUSION [17] C. Bauer and G. King, Java Persistence With Hibernate. Greenwich,
CT: Manning, 2006.
Teaching agile software development is most effective if it is [18] M. C. Paulk, C. V. Weber, and B. Curtis, The Capability Maturity
done in the agile way: valuing agile students and their involve- Model: Guidelines for Improving the Software Process. Reading,
ment/interactions over of-the-book processes, and valuing their MA: Addison-Wesley, 1994.
[19] H. Kniberg, Scrum and XP from the Tranches: How We Do Scrum.
skills built through practices over comprehensive understanding Toronto, ON, Canada: C4 Media Inc., 2007.
of peculiarities of a specific ASD methodology. The teacher’s [20] M. Poppendieck and T. Poppendieck, Lean Software Development: An
role should be a complete manifestation of the “guide on the Agile Toolkit. Reading, MA: Addison-Wesley, 2003.
[21] D. J. Reifer, “Industry software cost, quality and productivity
side, not a sage on the stage” principle. The lessons learned also benchmarks,” 2004 [Online]. Available: http://www.compaid.
support the fact that teachers should better prevent their students com/caiinternet/ezine/Reifer-Benchmarks.pdf
from developing the interpretation that ASD is a “silver bullet.” [22] “The Apache Software Foundation,” 2009 [Online]. Available: http://
www.apache.org
Questioning dogmatic claims and adapting ASD to the class’s [23] P. Kroll, P. Kruchten, and G. Booch, The Rational Unified Process
needs is much more effective than preaching ASD. Otherwise, it Made Easy: A Practitioner’s Guide to the RUP. Reading, MA: Ad-
can be that the students will interpret it as a new Waterfall [30]. dison-Wesley, 2003.
[24] J. Rubin, D. Chisnell, and J. Spool, Handbook of Usability Testing:
How to Plan, Design, and Conduct Effective Tests. Hoboken, NJ:
REFERENCES Wiley, 2008.
[1] F. Maurer and S. Martel, “Extreme programming: Rapid development [25] “Curricula recommendations,” ACM, AIS, IEEE-CS, Sep. 30,
for web-based applications,” IEEE Internet Comput., vol. 6, no. 1, pp. 2005 [Online]. Available: http://www.acm.org/education/education/
curric_vols/CC2005-March06Final.pdf
86–90, Jan./Feb. 2002.
[2] K. Beck et al., “Manifesto for agile software development,” Feb. 2001 [26] L. Williams and R. Upchurch, “Extreme programming for software en-
gineering education?,” in Proc. Frontiers Educ. Conf., 2002, vol. 1, pp.
[Online]. Available: http://agilemanifesto.org/
[3] K. Beck, Extreme Programming Explained: Embrace Change. T2D-12–T2D-17.
[27] T. Flohr and T. Schneider, “An XP experiment with students—Setup
Reading, MA: Addison-Wesley, 2004.
[4] ” The University of Texas, Austin, TX, 2006 [Online]. Available: http:// and problems,” in Proc. PROFES, Oulu, Finland, 2005, LNCS 3547.
[28] B. Wolf-Gideon, C. Lilienthal, and A. Schmolitzky, “Weaving experi-
www.cat.utexas.edu/
[5] “Bowling Green State University—The Agile Software Factory” 2009 ences from software engineering training in industry into mass univer-
[Online]. Available: http://agile.bgsu.edu/ sity education,” in Proc. Inf. Syst. Educ. Conf., Newport, 2004, vol. 21,
p. §3452.
[6] A. Olagbemiro, “605.407—Agile software development methods
course homepage,” Johns Hopkins University, May 30, 2009 [On- [29] A. Quinlan and P.-A. Johnson, “A curriculum approach to embed-
ding inquiry practices in architecture design studio courses,” in The
line]. Available: http://ep.jhu.edu/course-homepages/viewpage.php?
homepage_id=3128 Learning Community: First Explorations of the Research-Teaching
Nexus at UNSW, R. Freestone, A. Bagnara, M. Scoufis, and C. Pratt,
[7] “ScrumAlliance—Transforming the world of work,” Scrum Alliance,
Inc., 2009 [Online]. Available: http://www.scrumalliance.org/ Eds. Sydney, Australia: UNSW, 2003, pp. 49–55.
[30] J. Naresh, “Managed chaos: Naresh Jain’s random thoughts on
[8] G. Asproni, “Motivation, teamwork, and agile development,” Agile
Times, vol. 4, no. 1, pp. 8–15, Feb. 2004. software development and adventure sports,” Agile FAQs blog,
[9] M. A. Ardis and C. A. Dugas, “Test-first teaching: Extreme program- Apr. 29, 2009 [Online]. Available: http://blogs.agilefaqs.com/
2009/04/29/agile-as-practiced-today-is-the-new-waterfall/
ming meets instructional design in software engineering courses,” in
Proc. 34th ASEE/IEEE Frontiers Educ. Conf., Savannah, Georgia, Oct.
20–23, 2004, vol. 2, pp. F1C-25–F1C-30. z´
Vladan Devedˇ ic received the B.S., M.S., and Ph.D. degrees in electrical en-
[10] G. Hedin, L. Bendix, and B. Magnusson, “Teaching extreme program- gineering and computer science from the University of Belgrade, Belgrade,
ming to large groups of students,” J. Syst. Softw. Archive, vol. 74, no. Serbia, in 1982, 1988, and 1993, respectively.
2, pp. 133–146, Jan. 2005, Special issue: The new context for software He is a Professor of computer science with the Department of Software En-
engineering education and training. gineering, FON—School of Business Administration, University of Belgrade,
[11] P. Maher, “Weaving agile software development techniques into a Belgrade, Serbia. He is the founder and Chair of the GOOD OLD AI research
traditional computer science curriculum,” in Proc. 6th Int. Conf. Inf. network. So far, he published six books and more than 300 research papers. His
Technol., New Generations, Las Vegas, NV, Apr. 27–29, 2009, pp. current professional and research interests include software engineering and in-
1687–1688. telligent systems.
[12] J. Stapleton and P. Constable, DSDM Dynamic Systems Development
Method: The Method in Practice. Reading, MA: Addison-Wesley,
1997.
[13] A. Cockburn, Crystal Clear: A Human-Powered Methodology for ´
Sa˘a R. Milenkovic received the B.S. and M.S. degrees in information sys-
s
Small Teams. Reading, MA: Addison-Wesley, 2005. tems and technologies in 2006 and 2009, respectively, from the FON—School
[14] “New Standards Committee (NesCom) recommendations,” IEEE-SA of Business Administration, University of Belgrade, Belgrade, Serbia, where he
Standards Board, 2009 [Online]. Available: http://standards.ieee.org/ is currently a Ph.D. student of software engineering.
board/nes/projects/0712nesrec.pdf He is a Teaching Assistant with the Faculty of Computer Sciences, Mega-
[15] C. Walls and R. Breidenbach, Spring in Action. Greenwich, CT: Man- trend University, Belgrade, Serbia. Prior to this position, he worked in various
ning, 2007. positions in education and computer programming since 1997.
[16] C. Beust and H. Suleiman, Next Generation Java Testing. Reading, ´
Mr. Milenkovic is a member of Agile and Scrum Alliances and has been a
MA: Addison-Wesley Professional, 2007. Certified Scrum Master since 2009.