Instructors: Dr. Rob Hasker, Prof. Alexander Pezewski
Office hours: See Canvas
Course Description:
This is the second course in the software development laboratory sequence. Students continue working on large-scale software projects with a goal of delivering a system that could be deployed by clients. In addition, students gain additional experience at processes assessment and improvement. This course meets the following Raider Core CLO requirement: Integrate Learning.
Prereq: SWE 2721, SWE 3710 (Quarter system prereq: SE 3010)
There is no textbook for this course.
Format: 2 lecture hours, 2 lab hours, 3 credits
Course Learning Outcomes: On successful completion of this course, the student will be able to
As discussed above, this course provides an opportunity to develop your skills in the Common Learning Outcome (CLO) Integrate Learning: connecting, synthesizing, and transferring learning across new contexts to address complex problems. This appears in two ways: applying knowledge from previous courses and experiences to deploy a working solution meeting your client’s needs, and through using BDD to capture your client’s acceptance criteria as executable tests.
Grading:
Category | Percentage | |
---|---|---|
Sprints | 60% | |
Contribution Report | 25% | |
Peer evaluation | 5% | |
Presentations | 10% | |
Total: | 100% |
The MSOE grading scale will be used, though higher grades may be awarded to individual students if it increases fairness. In addition, successfully demonstrating mastery of course outcomes is a prerequisite for a passing grade.
For an A in the course, you must make significant contributions. This includes both technical and process contributions. Process contributions include project tracking, reviewing deliverables, providing leadership in an aspect, etc. Technical contributions include designs, implementations, tests, and other activities leading to a viable product. Both are required of all students; simply writing code is not sufficient. To engage effectively in both and get an A, you will need to log at least 130 hours for the term, counting both time in class and time out-of-class. This must be distributed evenly throughout the term, meaning you need to plan on approximately 10 hours per week, with slightly more than 6 of those hours outside of class time. If this is too much for your load, consider taking SDL later. This is a minimum time; students certainly can put in more time without penalty. However, working more than 130 hours does not, by itself, increase the likelihood of earning an A.
Teams will be the same as for SWE 3710. In most cases, you will be on the team as for 3710. The POP (Product Owner Proxy) will be a different person.
The assumption is that you are starting the semester with a sprint-ready product backlog.
The spring semester has five sprints.
In addition to standard items, do the following at the start of this sprint:
In addition to standard activities from SWE 3710, add a PBI (to be completed by all team members) to complete the SDL Behavior-Driven Development (BDD) activity. Write Cucumber tests related to a previously-implemented PBI and ensure these tests pass. Your instructor will create an assignment which allows the team to report on their experiences.
In addition, publish an executable implementation of the system where your client can access it.
In addition to standard activities, use BDD to specify acceptance criteria for at least two PBIs before those PBI are implemented, and close those PBIs only when all acceptance criteria pass. Include your experience with BDD in the sprint report.
Update the published version of the system.
Perform standard sprint activities, including applying BDD to your project and publishing an updated version of the system.
The PBIs for this sprint should be focused on bug fixes, documenting the system operation and system design, and deploying a thoroughly tested release. The core goals are to hand off a solid system to your client and (if appropriate) capture enough design detail that the next team can pick up the project and add new functionality without major redesign or other rework. Any work to add new features must be explicitly approved by your instructor.
Additional detail:
Sprint grades are broken into 50% for documented effort and process and 50% for other deliverables.
The attendance policy for SWE 3720 is the same as SWE 3720. That is,
Communication is particularly important in SDL. It is expected that your team will establish effective communication channels (Teams, Slack, Discord, email, or whatever). Discuss with your instructor whether they wish to be included in those communications.
All students are expected to subscribe to the course Teams channel. Many announcements will be made there and nowhere else. Instructors will monitor Teams and email on a daily basis, though some instructors may not be able to monitor them on weekends. Students are expected to do the same.
There are times when it might be helpful to take SWE 3720 while studying abroad. However, it is difficult to manage a project in which some students are remote and in a different time zone. This increases the workload for both instructors and other team members. The preference is that students take advantage of being abroad by taking courses at their host institution. Note that the student will be able to take SWE 3720 once they return to campus. If not taking SWE 3720 while studying abroad means delaying graduation by an extra term, the student must obtain approval from the course coordinator and SWE program director to participate remotely.
Students are expected to engage in this course ethically and with integrity. It is expected you will work with your peers, however it is unacceptable to submit the work of your peers as your own. Fabricating evidence of participation (through misleading time logs, grossly inaccurate status reports, claims to have reviewed documents without examining them, etc.) are forms of academic dishonesty and may result in penalties discussed in the Policy on Student Integrity in the catalog. The academic integrity guidance for CSC and SWE courses applies to this course as well.
The generative AI policy in the SWE 3710 Syllabus applies to this course as well.
Students with documented disabilities, chronic medication conditions and mental health concerns: MSOE provides services to make reasonable accommodations available. If you are a student who requires or anticipates the need for accommodations, please contact Student Accessibility Services Office at 414–277–7281, by email at moureau@msoe.edu, or in person at K250 to discuss appropriate accommodations and eligibility requirements.