This course is an
in-depth exploration of modern software development methodologies and
techniques. The course will contrast modern development methodologies with traditional or
plan-driven processes and identify projects and organizations suitable for various process approaches. Students will also work in teams
on an end-to-end software project using modern methods and techniques.
Course Topics:
The course will encompass a variety of concepts and topics, examples could include the following:
History of Process Methodologies
Extreme Programming
Scrum
User Stories
Agile Estimation & Planning
Tracking Agile Projects
Lean Software Development, Kanban
Agile Project Tools
Continuous Integration (CI)
Agile Testing
DevOps
Generative AI
Course Objectives:
Upon completion of the course, the student will
be able to:
Define the common
characteristics of modern development processes.
List and contrast state-of-the-practice methodologies, processes, and tools.
Contrast agile software
development process models and plan-driven process models.
Identify software project
characteristics that would be suitable for modern processes and tools.
Identify software project
characteristics that would not be suitable for modern processes and tools.
Plan and implement a small
scale software project using modern processes and tools.
Method of Instruction:
The course perquisite is or SWEN-256 (Process & Project Management). We will spend the first part of the course
quickly reviewing process models and introductory Agile concepts covered
in this course before moving on to more in depth material.
This course is being offered
in a “seminar” format. Seminar courses are typically upper division
classes that allow students and instructors freedom to research and
explore a specific topic that is of interest to both parties. The course
is not designed for me to teach you agile software
development, rather it is structured for me to guide you through the
subject matter and allow for us all to learn together. It is
critical that you take an active role in driving your own learning
experience.
Most
project work will be worked on during class time, so it is important
you are here to particiapate in those activities. Please be respectful
of your fellow classmates and bring yourself and a positive attitude to
class.
Textbook(s):
Required
Reading:
The IDEATE Method: Identifying High-Potential Entrepreneurial Ideas, Daniel A. Cohen,
Gregory Arthur Pool & Heidi M. Neck, SAGE Publications, 2020
Agile
Development with Scrum, Ken Schwaber
& Mike Beedle, Prentice Hall, 2001
Integrating
Agile Development in the Real World, Peter Schuh,
Charles River Media, 2005
Recommended:
Agile Software Development – The
Cooperative Game (2nd Edition),Alistair Cockburn, 2007
Succeeding
With Agile, Software Development Using Scrum, Mike Cohn, Addison
Wesley, 2010
SDLC
3.0 Beyond a Tacit Understanding of Agile,
Mark Kennaley, Fourth Medium Press, 2010
Grading Breakdown:
A final course grade is a combination of your grades on exams, class activities and team projects. The following tables will be used to determine your letter grade at the conclusion of the term:
Component
Percentage of Final Grade
Exam 1
15%
Exam 2
15%
Final Exam
20%
Team Project
25%
Research Paper
25%
Grade
Range
A
93 or Above
A-
90 or Above
B+
87 or Above
B
83 or Above
B-
80 or Above
C+
77 or Above
C
73 or Above
C-
70 or Above
D
60 or Above
When assigning final grades, the instructor reserves the right to alter these division points as they deem necessary based on the overall evaluation of individual or class performance and effort. Please be aware that the myCourses grade-book feature will be used to communicate “raw” grades to you, but is NOT necessarily used for calculating final grades.