Skip to content

Iteration 5

Overview

By the end of this iteration, you will release the Beta Version of your software application.

What is Beta release?

A Beta phase begins when the software is feature complete (all must-have requirements are implemented). You must polish the user interface, improve the performance and fix the known bugs.1

The process of delivering a beta version to the users is called beta release. It is typically the first time that the software is available outside of the organization that developed it. Beta version software is useful for demonstrations and previews to prospective customers. In fact, it is often referred to as a "preview release" or "early access".

These are the deadlines for this iteration.

Day Date Time
Retrospective for iteration 4 Fri Apr 17 11:00 PM
Upload Design and Planning Document Sun Apr 19 11:00 PM
Revise Design and Planning Document Thu Apr 23 11:00 PM
Practice Presentation Tue Apr 28 During lecture
Code Review Starts Thu Apr 30 During lecture
Project Deliverables Fri May 1 11:00 PM

Retrospective for iteration 4

You must add a "Retrospective" section to the end of your "Design and Planning Document" for iteration 4. Review what you had done in iteration 4; highlight the items that you have and have not delivered, note the challenges you had, and reflect on how you would proceed in the next iteration to do a better job.

The "Design and Planning" Document

Add it5_dap.md file to your repository. We don't expect you to change/update the model at this stage. There must be no changes to your Requirement Specification Document either. If there are any features that you wish to implement (among Nice-to-have in particular), you may do so, but limit it to one or two user stories. A very good choice of a feature to be implemented is to add user authorization/authentication to your software.

If you are behind ...

If you are behind in delivering the must-have features, please consider moving those into nice-to-have and instead polishing/debugging/improving what you already developed. The exception to this case is for the core must-to-have features which their lac of would severely impact the usability of your application. In the latter case, you must continue working on delivering those (core) features.

Your document must contain:

  • A wireframe of your user interface (if you are updating/adding UI components)

  • Iteration Backlog (one or two User Stories from nice-to-have).

  • Tasks (a tentative list of the "to do" in order to successfully complete this iteration).

When you meet again with your group on Thur, Apr 23, you may want to update the "Design and Planning" document to reflect the changes you make. Do not forget that you are required, in addition to uploading the "Design and Planning" Document, to use a project board in your group repository.

Practice Presentation

To prepare you for the final presentation, we ask you to perform a practice presentation for your advisor. The practice presentation will follow the same format as the final presentation, but it will be shorter. Instruction will be posted in a day or two; stay tuned!

Code Review

You must go over your entire code-base and improve its quality:

  • Design: Is the code well-designed and appropriate for your system? Think of all design principles and patterns that you've studies in this course. You may need to refactor the code.
  • Complexity: Could the code be made simpler? Would another developer be able to easily understand and use this code when they come across it in the future?
  • Tests: Does the code have correct and well-designed automated tests?
  • Naming: Did the developer choose clear names for variables, classes, methods, etc.?
  • Comments: Are the comments clear and useful?
  • Style: Does the code follow good programming practices?
  • Documentation: Is there a documentation on how to install and run the application?

The code review process starts on Thu, Apr 30, during our final project meeting. The process will likely take a day or two to complete.

Project Deliverable

  1. Beta Version of your software application. Your application must be deployed (if that option is applicable to your project) to a platform like Heroku.
  2. Code and documentation.
  3. Retrospective over the entire project.

Final retrospective

It is similar to iteration retrospective but you look back over the entire five iterations. In particular, revisit your original project proposal, note on what has changes, what features you have/have not delivered. Briefly note the challenges you had. And, finally, reflect on how you would do it again if you could go back in time and start at iteration-1. You don't need a time machine to achieve this. The next software project you develop, you will start at iteration 1, and I am sure it will be a great one.

Final presentation

Final presentation will be during the examination period. Instruction will be posted.


  1. The beta-release software will likely to contain a number of known or unknown bugs