ESOF 423: Software Engineering Applications
Note: dates and assignments more than a week out may be adjusted as the semester goes on. Please consider this page to be a living document subject to changes througout the semester.
Fall 2026
|
Week |
Date |
Activity |
Individual Assignment |
Group Assignment |
|
1
|
-- W Aug 26 F Aug 28 |
CourseOverview Introductions |
|
|
|
2 |
M Aug 31 W Sep 2 F Sep 4 |
Agile Workflow Agile Artifacts Project Discussions |
|
Define Group Projects |
|
3 Sprint 1 |
M Sep7 W Sep 9 F Sep 11 |
Labor Day - No Class Sprint 1 Kickoff Quiz, Scrum lab |
Agile Quiz |
|
|
4 |
M Sep14 W Sep 16 F Sep 18 |
Product Releases, Demos Scrum lab Zero Feature Rease Demos |
|
ZFR Demo, Agile Artifacts |
|
5 Sprint 2 |
M Sep21 W Sep 23 F Sep 25 |
Git, GitHub Sprint 2 Kickoff Scrum lab |
Git Exercise |
|
|
6 |
M Sep28 W Sep 30 F Oct 2 |
Continuous Integration Scrum lab Alpha Release Demos, Scrum lab |
|
A Demo, CI Activity |
|
7 Sprint 3 |
M Oct 5 W Oct 7 F Oct 9 |
TDD/PP Sprint 3 Kickoff Scrum lab |
Early Retrospective |
|
|
8 |
M Oct 12 W Oct 14 F Oct 16 |
Portfolio Discussion Scrum lab Beta Release Demos, Scrum lab |
|
B Demo, Portfolio Draft |
|
9 Sprint 4 |
M Oct 19 W Oct 21 F Oct 23 |
Playwright Testing Sprint 4 Kickoff Scrum lab |
Playwrite Exercise |
|
|
10 |
M Oct 26 W Oct 28 F Oct 30 |
Intragroup Speed Meetings Scrum lab Feature Complete Demos, Scrum lab |
|
FCR Demo, Docs |
|
11 Sprint 5 |
M Nov 2 W Nov 4 F Nov 6 |
In-class user testing Sprint 5 Kickoff Scrum lab |
User Testing |
|
|
12
|
M Nov 9 W Nov 11 F Nov 13 |
Scrum lab Veteran's Day - No Class Release Candidate Demos, Scrum lab |
|
RC Demo, Final Artifacts |
|
13 Sprint 6 |
M Nov 17 W Nov 18 F Nov 20 |
Final Release Logistics Sprint 6 (Final) Kickoff Scrum lab |
Post Mortem |
|
|
14 |
M Nov 23 W Nov 25 F Nov 27 |
Fall Break - No Classes Fall Break - No Classes Fall Break - No Classes |
|
|
|
15 |
M Nov 30 W Dec 2 F Dec 4 |
Scrum lab - Finalize Repo, Arficats Scrum lab - Finalize Portfolio Scrum lab - Prepare Presentation |
|
Production Readiness |
|
16 Presentations |
M Dec 7 W Dec 9 F Dec 11 |
Group(s): Group(s): Group(s): |
Attendence Attendence Attendence |
Presentations |
|
Finals Week |
Dec 14 - 17 |
No final exam (exam period is reserved for presentations if more time is required.) |
|
Demo Video,
|
Course Description
ESOF 423. Software Engineering Applications. 3 Credits. (1 Lec. 2 Lab) S
PREREQUISITES: ESOF 322 Application of software engineering techniques and methodologies acquired in previous courses to solve an open-ended software engineering problem provided by stakeholders. Students will use a team based approach to requirements gathering, designing, implementation, testing, integration and delivery of the software solution. CSCI 440 is recommended.
Course Outcomes
At the end of the course, students should be able to
-
Design and implement a solution to an open-ended problem in software engineering defined by a stakeholder.
-
Evaluate alternative solutions to a problem in software engineering.
- Effectively and methodically test code, and review code written by others.
- Use written/oral/visual means to document and present the solution to the stakeholder.
Resources
- Agile, Scrum
- https://git-scm.com/book/en/v2/Getting-Started-Installing-Git
- https://github.com/
- Capstone Portfolio Examples
Instructor
- Office hours
- Office: Gianfore Hall 160-C
- E-Mail: daniel.defrance@montana.edu
Meeting Times
- 10:00 pm - 10:50 pm in Gianforte Hall Room 210.
- Monday: Lecture - Software Engineering Topics
- Wednesday, Friday: Lab - Scrum meetings and group work sessions
Course Assistants
- NA
Projects
- The projects are specified by outside clients, and each team can take on a project
of their choice.
- Teams are expected to develop the product specified by the client through the completion of user stories.
- The teams are required to closely follow agile development methods followed in the industry (http://agilemanifesto.org/).The teams are self organizing and will decide what portions of the project requirements they will implement during each sprint.
- During each planning meeting the team decides the portion of the requirements they
are going to implement during that sprint and discuss how the work is distributed
among team members.
- Teams are required to produce a working piece software at the end of each sprint and will be iteratively and incrementally developed toward the final product.
- The teams are required to maintain project with Git, a proper distributed version control workflow which includes maintaining proper branch structures and frequent meaningful commits by all the developers in the group. We will use GitHub in class for hosting public repos.
- The teams must apply quality assurance techniques through unit/integration/system testing and using proper tools to evaluate the test quality (e.g. coverage tool).
Grading
Final letter grades will be based on the relative distribution of total scores and not on any preset numerical grade.
INDIVIDUALLY GRADED
- 30%: Individual Assignments: based on lecture material
- 15%: Live participation for scrum meetings is critical. Be there.
- Meet in person. Start on time. Stand up (unless unable) for the scheduled Scrum Labs.
- Exceptions: If a member of a group must miss a scrum meeting for any reason, advance
notice must be given to the professor (email) as well as the other member of the group
for an excused absense.
- It is not required for the second group member to attend lab when their partner as an excused absense.
- Each group has a maximum of 2 excused absenses for the semseter.
- 5%: Attend final presentations. (graded by observation)
- Support, learn from, ask questions of the other group's presentations
GROUP GRADES
- 30% : Development releases: (group demo, graded in class observation)
- A series of 5 software releases leading up to the final product
- Revision Control: source code, CI, technical documentation, issues, links and references are in good order on project repository
- Proper maintenance of the scrum artifacts; from retrospective document
- Completed requirements, code maintainability/extensibility, quality assurance methods, continuous integration, testing, and delivery.
- 20%: Final Release (presentation, portfolio, release, repo, recording): (group submission;
group grades)
- Presentation - Target audience is the client. Each developer should speak for 3-5 minutes with slides highlighting their contribution and how the client can use the feature. Be prepared for questions.
- Portfolio content: Target audience is a technical developer. Incldue high level UML diagrams displaying the design, discussion on the design patterns used, discussion of code maintainability/extensibility and methods used to accomplish them, quality assurance methods and their evaluation.
- Final Release: Project is COMPLETE: fully featured, tested, debugged, functional, user documented, and usable by clients.
- Demo - Clear 10 - 15 minute recorded video recording demonstrating usage of the application for an end user
Grades are determined based on your score in the class as follows:
| Letter Grade | % Score |
|---|---|
| F | 0 |
| D- | 60 |
| D | 63 |
| D+ | 67 |
| C- | 70 |
| C | 73 |
| C+ | 77 |
| B- | 80 |
| B | 83 |
| B+ | 87 |
| A- | 90 |
| A | 93 |
Course Policies
See the policies page for expectations and consequences on subjects like collaborating with others, what constitutes cheating, copyright responsibilities, using tools like ChatGPT, lateness, and what to do in case of emergencies.
