0% found this document useful (0 votes)
26 views

Scrum and Agile

This panel discusses experiences teaching Scrum and agile methods in computer science courses. Panelists from the University of Toronto, Central Connecticut State University, and Lafayette College presented on how they incorporated Scrum or agile principles into their software engineering courses through team projects. At the University of Toronto, a second-year course uses a Scrum-like process for a multi-phase team project. At Central Connecticut State University, a game development course teaches Scrum and has student teams complete multiple sprints. A required senior course also introduces Scrum through a simulation.

Uploaded by

alt.fp-8osjv2rv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
26 views

Scrum and Agile

This panel discusses experiences teaching Scrum and agile methods in computer science courses. Panelists from the University of Toronto, Central Connecticut State University, and Lafayette College presented on how they incorporated Scrum or agile principles into their software engineering courses through team projects. At the University of Toronto, a second-year course uses a Scrum-like process for a multi-phase team project. At Central Connecticut State University, a game development course teaches Scrum and has student teams complete multiple sprints. A required senior course also introduces Scrum through a simulation.

Uploaded by

alt.fp-8osjv2rv
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Scrum and Agile Methods

in Software Engineering Courses


Jennifer Campbell Stan Kurkovsky Chun Wai Liew
University of Toronto (moderator) Lafayette College
[email protected] Central Connecticut State University [email protected]
[email protected]
Anya Tafliovich
University of Toronto
Scarborough
[email protected]

which we teach the fundamentals of software design and give


Categories and Subject Descriptors students an opportunity to apply what they are learning in
• Software and its engineering → Agile software development.
designing and developing Java and Android applications.
• Social and professional topics → Software engineering
Students are also introduced to the basics of software engineering
education
and follow a prescribed Scrum-like software development process
Keywords as they complete a team project. Each semester, between 200 and
400 students enroll in this course.
Scrum; Agile software development; Software engineering
The software development process involves an instructor
1. SUMMARY generated project feature set, multiple software design and
Agile software development has been formally introduced in 2001 development phases, subsets of the feature set for each project
in the “agile manifesto” [4]. Agile methods are best described as phase, planning meetings, status meetings, and post-phase peer-
an amalgamation of four core principles describing lightweight and self-evaluations. These loosely correspond to key Scrum
iterative software processes: elements including product backlog, sprints, sprint backlog, sprint
 Individuals and interactions over processes and tools; planning, daily scrums, and sprint retrospective. We introduce
students to a variety of software tools to support their project,
 Working software over comprehensive documentation;
including version control (Subversion) and a fully featured IDE
 Customer collaboration over contract negotiation;
(Android Studio). We also use the CATME web tool
 Responding to change over following a plan. (www.catme.org) for team formation and team member
Over the years, a number of agile frameworks, such as Extreme evaluations.
Programming and Scrum, have evolved and matured. The For most students, this project is their first team software
underlying philosophy of Scrum recognizes that the customers development project and by introducing this Scrum-like process
often change their mind about the product they want and that the we aim to keep the multi-week multi-phase team projects on
development challenges are unpredictable by their nature. track. Exposing students to a software development process at this
Consequently, Scrum embraces the fact that the problem being stage of their academic program also allows us to foreshadow the
solved cannot be fully understood or described from the start. third-year software engineering course that involves an agile
Instead, Scrum focuses on maximizing the ability of the software development project.
development team to quickly deliver in response to emerging
requirements. 2.2 Stan Kurkovsky
The aim of this panel is to present the experiences and challenges At Central Connecticut State University students have at least two
of practicing Scrum and agile methods at a variety of computer opportunities to experience Scrum.
science programs. Students may choose to get an in-depth experience with Scrum in
a game development course, which is based on the book written
2. OUR EXPERIENCE by one of our graduates [2]. Typically, students take this course
This section describes the experience of each panelist (in immediately after Data Structures and have a limited experience
alphabetical order). with software development processes or working as a part of the
team. This course introduces students to the core principles of
2.1 Jennifer Campbell Scrum using a broad range of agile games, some of which are
At the University of Toronto, we offer a second-year course [1] in
based on those from tastycupcakes.org. Students learn about the
Scrum roles; sprints and their planning, reviews, and
Permission to make digital or hard copies of part or all of this work for personal or
classroom use is granted without fee provided that copies are not made or distributed
retrospectives; product backlog, user stories and their
for profit or commercial advantage and that copies bear this notice and the full citation prioritization.
on the first page. Copyrights for third-party components of this work must be
honored. For all other uses, contact the Owner/Author(s). Copyright is held by the A few weeks into the course, student teams are ready to begin
owner/author(s). applying Scrum in a game development project lasting until the
SIGCSE'16, March 2–5, 2016, Memphis, TN, USA. end of the semester. The course is structured so that there is
ACM ISBN: 978-1-4503-3685-7/16/03.
DOI: http://dx.doi.org/10.1145/2839509.2844664 enough time for at least three 2-week sprints. The instructor plays

319
the role of the Scrum Master with all sprint planning and review support Agile development (GitHub, online project management
meetings taking place during the class time in the second half of tools, etc.), and following through with iterative development, re-
the semester. planning and re-estimation as needed, until the final product is
ready for the final presentation to the client at the end of the term.
As a part of a required formal senior Software Engineering Crucial to the success of the course are weekly deliverables and
course, all students in our program are introduced to Scrum in a 3- weekly meetings with the team TA—these keep the projects on
hour long LEGO-based simulation [5], which prepares them for track.
an agile course project that focuses on short iterations with
evolving requirements. The third course in the sequence is a fourth-year course, in which
the student teams participate in a large open-source project hosted
2.3 Chun Wai Liew on GitHub. If there is enough interest, we can elaborate on this
At Lafayette College students take a second year course in which course and the use of Agile methods in it during the panel.
we teach the fundamentals of software engineering and students
learn about the basic tools and techniques involved in developing 3. CHALLENGES
group projects [3]. This course serves two purposes in our The panelists are also planning to have an open discussion
curriculum. Firstly, it teaches the students about the software focusing on lessons learned, challenges, and their possible
development tools that they will need in the upper level courses -- solutions:
software repositories, time management/planning/scheduling
tools, weekly status and bug reporting tools. Secondly, they learn  Why should we teach Scrum/Agile?
the basics of the agile process - (1) repeated short iterations, (2)  What are the biggest obstacles to adopting Scrum/Agile
unit testing from the beginning, (3) interleaving of specification in teaching Software Engineering?
development, prototyping and design.
 How to fit Scrum process into a class schedule? (daily
For our students, this is (a) their first group development project, meetings are usually impossible)
and (b) their first "medium-sized" project. They learn how to keep
the projects on track (most of the time) and also how to coordinate  Who plays the roles of the Scrum Master and Product
their activities as a group. This experience allows us to have richer Owner?
projects in the upper level courses and also to offer a capstone
software engineering course with external clients.  Are two courses necessary to introduce Scrum/Agile?
Can the approach work if the students only have one
We also have a second software engineering course (the capstone) experience? What carries over from the first course to
where students apply the scrum/agile methodology that they have the second?
learned on a project with external (to the college) clients.
 What aspects of the Scrum/Agile process are most
2.4 Anya Tafliovich difficult for the students to master?
At the University of Toronto Scarborough, we have a sequence of  Is there a difference in teaching Scrum/Agile to
three courses that involve aspects of Agile software development, first/second year students as opposed to fourth year
to various degrees. The first in the sequence is a second-year students?
course described above. The students who complete this course
have had experience with a 6-7 weeks long team project, in which 4. REFERENCES
they follow a fairly rigidly prescribed Scrum-like simplified [1] Campbell, J. and Tafliovich, A. 2015. An experience report:
development process. They are familiar with the ideas of source using mobile development to teach software design. In
control (subversion), iterative development (prescribed project Proceedings of the 46th ACM Technical Symposium on
phases), backlogs (feature lists for each phase, prescribed by the Computer Science Education (SIGCSE '15). 506-511.
instructor), and the different kinds of meetings involved.
[2] Keith, C. 2010. Agile Game Development with Scrum.
The second course in the sequence is a third-year Introduction to Addison Wesley.
Software Engineering course. In this course the students are
[3] Liew, C. W. 2005. Teaching software development skills
introduced (in lecture) to all aspects of Agile development; we
early in the curriculum through software engineering. In
look at Scrum and XP in detail. The course has a 10-week long
Proceedings of the 10th Annual SIGCSE Conference on
team project, in which the students have hands-on practice with
Innovation and Technology in Computer Science Education
all aspects of Agile development. We do not follow either Scrum
(ITiCSE '05). ACM, New York, NY, USA, 133-137.
or XP religiously, as we found this to be counter-productive in a
course setting. Instead, we have developed an Agile hybrid [4] Manifesto for Agile Software Development. 2001.
process suitable for third-year computer science student teams, in http://www.agilemanifesto.org/
a large class (we expect over 20 teams in the coming term). We [5] Paasivaara, M., Heikkilä, V., Lassenius, C. and Toivola, T.
bring in a real client, with a real need for software. The client is 2014. Teaching students scrum using LEGO blocks.
non-technical (a member of a different department), which gives In Companion Proceedings of the 36th International
the students practice with the challenges of requirements Conference on Software Engineering (ICSE ‘14). ACM, 382-
gathering. The students practice writing user stories, producing 391.
release plans and iteration plans, using state-of-the-art tools that

320

You might also like