Iteration 4
Overview
Iteration 4 goal
By the end of this iteration, you will release the Alpha Version of your software application. Also, by the end of this iteration, you must have the latest version of your app deployed online (e.g. on Heroku.)
These are the deadlines for this iteration.
Component | Date | Time |
---|---|---|
Retrospective for iteration 3 | Tue NOV 10th | 11:00 PM |
Updated Software Requirement Specification | Tue NOV 10th | 11:00 PM |
Updated Class Diagram | Tue NOV 10th | 11:00 PM |
Deliverable (source code of a working app) | Tue Nov 17th | 11:00 PM |
Deployment (latest version of fully functioning app available online) | Tue Nov 17th | 11:00 PM |
Individual Contribution Report | Wed Nov 18th | 11:00 PM |
Retrospective for iteration 3
You must write a Retrospective for iteration 3. The retrospective is an opportunity for your team to inspect itself and create a plan for improvements to be enacted during the next iteration. Review what you had done in iteration 3; note things that you have and have not delivered, note the challenges you had, and reflect on how you shall proceed in the next iteration to do a better job. There is not specific format to the retrospective document and no minumin and/or requirements on its length, format etc. It is just meant to reflect on iteration 3 and use it to improve your next iterations. Write this in a file named retrospective_it3.md
and upload it under docs
folder in your group repo.
Update Software Requirement Specification
You only need to update the Requirement Specification Document if you want to make any changes to the specification of your proposed software project. That is, you can leave it as is, if you are happy with it.
Update Class Diagram
If there has been been any changes to your desgin since last iteration, make sure to update your class diagram to reflect the latest design of your software. Upload a new class diagram picture to the docs
folder. Make sure to include it4
in the file name(s) e.g. it4_class_diagram1.png
tip
Remember that your class diagram must be kept updated at all times. (i.e. iterations)
Project Planning: Giuthub Project Board
Similar to previous iterations, create three columns "It4-To Do" with preset To do
, "It4-In Progress" with preset In Progress
, and "It4-Done" with preset Done
. You will need to keep the colmuns updated as you develop your app further. List all your to do tasks extracted from the user stories you plan to finish for iteration 4 under the "It4-To Do" column. When you start working on a task, move it under the "It4-In Progress" column, and when it is completed list it under the "It4-Done" column.
tip
Ideally, you do not have any unfinished tasks from previous iterations. But, if there are unfinihsed tasks, move them over to the it4 columns and aim to get them done in this iteration.
caution
In this iteration, you are releasing the alpha version of your software. In real world, this equals to releasing a software to limited audience. This means your "must have" features are all done and, ideally, the high priority "nice-to-have" feature(s) are also finished.
Final Deliverable
At the end of iteration 4, you must deliver the Alpha Version of your software application.
Your application must also be deployed (assuming you are developing a web app) to a platform like Heroku.
What is Alpha release?
Alpha is an important milestone that you accomplish as a team while developing a software.
In this stage, the application's core features i.e. the must have features are working (although they may not be refined).
Once the Alpha stage has been met, the team then extensively test and refine the features along with other elements to improve the fidelity and meet the software design requirements.
After Alpha stage, the development heads to Beta and then finally, GOLD (final release).
To learn more about Software Release Life Cycle, refer to this Wikipedia article.
You must always keep your group repository updated with the latest changes; we will consider your last commit by Tue, NOV 17th, 11:00 PM as your submission.
caution
Do not forget to update you project's README.md
based on your progress/updates in iteration 4.
Deployment
By the end of this iteration, a stable copy of your latest app must be deployed online. You can either deploy to Heroku following what we have covered in class, but feel free to deploy to alternate platforms (if you have something specific in mind.) Ideally, you want to setup an automated deployment pipeline for your app similar to what you did in HW6 for MyBooksApp. This will probably save you time and energy in the longer run, since you can set things up once and then rely on them thereafter. Your app must be online and fully functioning by Tue, NOV 17th, 11:00 PM.
caution
Make sure to include the url of the app along with any particular instructions or things to note (if applicable) in your README.md
.
Individual Contribution Report
Each member in the team must write a short individual report. This must be done individually, hence the name individual report!; you may not work on this together. This does not have to be long and there are no hard requirements on the format, length, content etc. of this document. However, you should use this to 1) reflect on your own individual performance in iteration 4, and 2) mention the names of any particular member(s) who you think excelled in the last iteration.
info
This should not be the case hopefully, but if you have major concerns about performance of any other member(s) i.e. someone who is not putting in the necessary effort/time, is not committed to the team's mission etc., make a mention of it in your individual report. We will check these individual reports and we will take necessary actions if needed. Submit your individual report to your personal repo in the jhu-oose
organization in a file named it4_individual_report.md
.
submit individual report to your private repo
We have provisioned you a personal repo at the begining of the semester and you must still have access to it (i.e. the repo you used to submit HW1). This is different from your project/team repo that you use to submit your homeworks and other iteration deliverables. Submit the individual report to your private repo, not the team repo!