The Winter 2022 project description can be found here.
You are to form a team of three or four people to design, implement, document and deliver a software product. All phases to follow Agile development philosophy and practices (e.g., XP, Scrum, or Kanban). Within Agile development it is expected that you will:
- continuously maintained test suites as requirements and quality control
- pair program all code
- use the simplest possible solution to every problem
- continuously redesign and re-architecting
- automate testing and integration
- frequently or continuously release the software
Every two weeks (or so, see the schedule below) you will deliver concrete evidence of your team’s progress as required by project phases.
The project will be done in phases, each of which will be a lab submission. Phases will cover steps in the process of creating a quality software result in the context of Agile Development.
Labs will be on the quality control aspects of requirements, rapid prototyping, design, coding, integration and analysis of the product you are building. Throughout the project, you should keep records of all evidence of your product quality control steps and evolution, in order to make the marketing case that you have a quality result at the end of the course.
Your final products will be tested and evaluated.
- Phase #0: Team Formation
- Date Due: Friday, Feb. 4, 2022
- Phase #1: Front End Requirements
- Date Due: Tuesday, February 22, 2022
- Phase #2: Front End Rapid Prototyping
- Date Due: Sunday, March, 6, 2022
- Phase #3: Front End Requirements Testing
- Date Due:
Sunday, March 20, 2022Wednesday, March 23, 2022
- Date Due:
- Phase #4: Front End Unit Testing
- Date Due: Sunday, April 3, 2022
- Phase #5: Integration and Delivery
- Date Due: Sunday, April 17, 2022
Assignment/Phase Hand-Ins – GitHub & Blackboard
While working on a given phase of the project you are expected to maintain a GitHub repository and regularly commit updates to source code, tests and all project documents. Your GitHub repository must be non-public and should include your teaching assistant as a team member.
Unless otherwise specified, all assignments/phases must be handed in through Canvas by 11:59pm on the due date. For all submissions clearly indicate your team’s name and all team member names.
Late assignments/phases will be accepted through Canvas during the first 24 hours after the submission deadline with a 20% penalty. After 24 hours, late assignments/phases will not be accepted. Exceptions to this policy may be made for valid reasons (e.g., medical).
As part of the assessment of each assignment/phase, your teaching assistant will review your submitted Canvas materials and may review your GitHub project activity. Each team member will also be expected to complete a peer evaluation of their team’s work on the current phase.