This site is from a past semester! The current version will be here when the new semester starts.

tP week 6: Conceptualize the producttP week 8: mid-v1.0


tP week 7: Get ready for iterations

  1. Set up the project repo during the tutorial
  2. Plan the next iteration

1 Set up the project repo during the tutorial

  • Set up the team org, the team repo, and individual forks as explained below:

2 Plan the next iteration

  • Plan the next iteration. As you know, you should follow the breadth-first iterative process. Therefore, first you must decide what functionalities should be in the product if you had only two weeks to implement it. You have done that already when you chose user stories for v1.0, translated that to features, and even drafted the UG based on those features. You can tweak that plan further at this point if you wish, given that you now have some idea of how fast the team can work when using the prescribed workflow.
    • Aim to produce a working MVP at the end of this iteration even if the functionalities are not polished (polishing can be done in a later iteration).
    • Avoid depth-first implementations: "I'll do the back-end part of feature X in this iteration" is not acceptable as that is not in the spirit of breadth-first iterative process. Remember, we are pretending this to be the last iteration; why would you implement the back-end part of a feature in the last iteration?
      It is OK to add simpler versions of bigger features, but not OK to add partial features that can't be used yet.
    • [Recommended, Optional] Break the iteration into two mini iterations as follows:

Splitting v1.0 into two mini iterations

  • v1.0: the first working version of your product, to be delivered by the mid-milestone (i.e., in about one week). As this is an internal milestone, the exact deadline is upto your team.
  • v1.0b: an even more functional version of the product, to be delivered by the end of the full iteration (i.e., in two weeks)

This goal of this 'optimization' is to reduce the risk of an . As a side benefit, it also gives you more opportunities to practice iteration planning.

The reason for naming the earlier milestone as v1.0 is so that even if you fail to finish the second one, you can still get credit for reaching v1.0 (which is the milestone tracked by grading scripts) -- think of the first iteration as minimal deliverables for v1.0 and the second one as containing do-if-there-is-time improvements.

Each mini iteration should deliver a working product, not just do half of the tasks planned for the full iteration. Otherwise, it defeats the purpose of this optimization.


  • Divide the work among the team members i.e., the work required for the current iteration.
  • Reflect the above plan in the issue tracker by assigning the corresponding issues (create new issues if necessary) to yourself and to the corresponding milestone. For example, the user story pertaining to the increment show a placeholder for photo, showing a generic default image should be assigned to Jake and to milestone v1.0


tP week 6: Conceptualize the producttP week 8: mid-v1.0