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
Grading:
Percentage | |||
---|---|---|---|
Sprints | 60% | Contribution Report | 25% | Peer evaluation | 5% | Presentation | 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. Failing to meaningfully participate in the project may result in being administratively dropped from the course.
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. This must be distributed evenly throughout the term, meaning you need to plan on approximately 10 hours per week on the project. If this is too much time, you may wish to postpone engaging in SDL. Students can put in more time without penalty, but the 130 hours (spread evenly) per term is sufficient except when a student is explicitly informed they need to do more to address inadequate performance. While 130 can be considered the minimum number of hours, it is not the maximum. However, working more than 130 hours does not, in itself, increase the likelihood of earning an A.
As for SWE 3710, the course coordinator and instructor will determine team and project assignments. Generally a student will continue participating on the same team as SWE 3710, but this may change if necessary. Reasons for changes include (but are not limited to) students not being able to take SDL in successive terms (such as when studying abroad), students failing SWE 3710, and product owners determining a project is finished.
The term is broken into five sprints.
Weeks | Sprint | Objectives |
---|---|---|
1-3 | 25s1 |
|
4-6 | 25s2 | Perform the same activities as for sprint 25s1. If you have not yet done so, publish your system where your client can access it so they can perform initial testing and provide useful user feedback. Rotate roles if appropriate. In addition: consult with your project advisor on the testing methodology and determine if it would be appropriate to introduce behavior-driven development (BDD) introduced into the CI system. |
7-9 | 25s3 | Perform the same activities as for sprint 25s2, including introducing or extending the BDD testing as appropriate. Rotate roles if appropriate. |
10-12 | 25s4 | Perform the same activities as for sprint 25s3. |
13-15 | 25s5 |
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 approved by
your SWE 3720 instructor.
More detail:
|
15 | Finals |
|
Teamwork is critical to SDL, so attendance is mandatory and missing results in grade penalties as determined by circumstances and your instructor's policies. The exceptions are:
Tardiness also impacts the team. Arriving more than 5 minutes late three times will result in a penalty, and arriving an hour late may be treated as an absence. Likewise, leaving before the end of the class time will also be penalized.
Log time to tasks on the appropriate story board. Log all time to the closest five minutes, and be sure the description distinguishes the work from other time logs. Log all time, both in class and outside, including non-development tasks as well as time researching solutions and time writing code. Failing to include a description will likely result in the time being ignored. Unless you really do stay approximately 120 minutes, the lab time should be logged as 110 or 115 minutes. If you find a mistake in how you entered the time within a few days, fix it. If many days pass before you find the error, talk to your instructor.
As a special case, log all time to sprint ceremonies (planning, reviews, retrospectives, etc.) to a ceremonies PBI. Leave that PBI in the backlog. Standups get special treatment: since they should be quick, you can log that time to the first task you work on for the day.
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.
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.