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,
Portfolio

 

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

 

Instructor

Mr. Daniel DeFrance

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.

Additional MSU Resources


MSU Bozeman

117 Gianforte Hall
Room 160-C
P.O. Box 173880
Montana State University
Bozeman, MT 59717-3880

Email
daniel.defrance@montana.edu