Spring 2026 Schedule 

Week

Date

Lecture Topic

Ind. work

Group work

1

 

W Jan 13

F Jan 15

 

CourseOverview

Introductions

 

 

 

Meet others in the class; form ideas of who you would like to work with

2

M Jan 19

W Jan 21

F Jan 23

MLK DAY - No classes

workshop - Agile Workflow

workshop - Agile Artifacts

 

 

 

 

 

 

3

M Jan 26

W Jan 28

F Jan 30

Group, Client registration

Scrum lab

Scrum lab

Agile Quiz

 

 

Finalize groups

Sprint 1: Planning

Submit Plan

4

M Feb 2

W Feb 4

F Feb 6

Product Releases, Retrospectives

Scrum lab

Scrum lab

 

Lecture

 

Zero Feature Release
Sprint 1: Retrospective

5

M Feb 9

W Feb 11

F Feb 13

Git, GitHub

Scrum lab

Scrum lab

 

 

Git Exercise

Lecture

Sprint 2: Planning

6

M Feb 16

W Feb 18

F Feb 20

PRESIDENTS DAY - No classes

Scrum lab

Scrum lab

 

 

 

 

 

Alpha release
Sprint 2: Retrospective

7

M Feb 23

W Feb 25

W Feb 27

Continuous Integration

Scrum lab

Scrum lab

 

 

CI Activity

Lecture

Sprint 3 Planning

8

M Mar 2

W Mar 4

F Mar 6

TDD/PP, Portfolio Discussion

Scrum lab

Scrum lab

 

 

 

Lecture

 

Beta release
Sprint 3: Retrospective

Portfolio Draft 

9

M Mar 9

W Mar 11

F Mar 13

Selenium Testing

Scrum lab

Scrum lab

 

 

Selenium

Lecture

Sprint 4: Planning

 

10

Mar 1620

SPRING BREAK - No classes

 

 

11

M Mar 23

W Mar 25

F Mar 27

User Testing

Scrum lab

Scrum lab

 

 

 

Feature Complete
Sprint 4: Retrospective

12

M Mar 30

W Apr 1

F Apr 3

Scrum lab

Scrum lab

UNIVERSITY DAY - No classes

 

 

User Tests

 

Sprint 5 Planning

 

13

M Apr 6

W Apr 8

F Apr 10

Black box testing

Scrum lab

Scrum lab

 

 

 

Lecture

 

Release Candidate
Sprint 5: Retrospective

14

M Apr 13

W Apr 15

F Apr 17

Final Release Logistics

Scrum lab

Scrum lab

 

 

Post Mortem

Lecture

Sprint 6 Planning 

Final Portfolio

15

M Apr 20

W Apr 22

F Apr 24

Open Lab

Scrum lab

Scrum lab

 

 

 

 

 

Final Release
Sprint 6: Retrospective

16

M Apr 27

W Apr 29

F Apr 30

2 Groups Present

2 Groups: Present

2 Groups: Present

Attendence

Presentation
Demo Video


Finals Week

M May 4

No final exam  (exam period is reserved  for presentations if more time is required.)

 

 

 

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.

Resources

Instructor

Meetings

  • 10:00 pm - 10:50 pm in Roberts Hall Room 210.
  • Monday: LECTURE (Software Engineering Topics)
  • Wednesday, Friday: LABS (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 required to develop the product specified by the client through the completion of the provided 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 are required to 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

  • 20%: Individual Assignments: based on lecture material
  • 24%: Participation: Be there.
    • Meet in person and start on time for the 24 scheduled Scrum Labs.
    • Exceptions: If one 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.
      • * Ideally advance notice should be a minimum of a week, but sometimes things just spring up. If you learn you can't be present the morning of a lab, text or call your partner, who can relay the info to me. Follow up with an email to me when you get to a computer.
      • It is not required for the second group member to attend lab when their partner as an excused absense.
      • Each group member has a maximum of 2 excused absenses for the semseter.
  • 6%: Attendl final presentations. (no submission -- graded by observation)
    • Support, learn from, ask questions of the other group's presentations

GROUP GRADES

  • 30% : Development releases: (group demo, graded by observation; group grades)
    • A series of 5 software releases leading up to the final product
    • 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.
    • Revision Control: All source code, CI, technical documentation, issues, links and references are in good order on GitHub. 
    • 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 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.

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
Montana State University
358 Barnard Hall
P.O. Box 173880
Bozeman, MT 59717-3880

Email
daniel.defrance@montana.edu