iP:
A-Assertions
, A-CodeQuality
, A-Streams
A-CI
tP:
.jar
file is smaller than 5MB, most likely JavaFX libraries are not inside it.A-FullCommitMessage
.A-Assertions
, A-CodeQuality
, A-Streams
branch-Level-8
etc.), but do not merge any.master
branch). Be careful not to create a PR to the upstream repo. If you did create such a PR by mistake, no worries, just close it yourself.Create merge commit
option when merging.master
branch from your fork to your Computer.master
. To rectify, merge the master
branch to each of them. Resolve merge conflicts, if any.A-CI
B-DoWithinPeriodTasks
or C-Sort
or D-Places
BCD-Extension
to the corresponding commit.Discuss with your team members to ensure that each member picks a different extension.
You may want to pick an extension that is potentially relevant to your tP so that the code can be reused in the tP later, if possible.
Learn the recipe for brainstorming user stories in the textbook → Specifying Requirements → UserStories → Usage.
Also learn about brainstorming and user stories.
Follow the steps in the recipe mentioned above to arrive at user stories for the the product, with your team members. If you didn't attend the lecture, please watch the lecture recording to learn more about this step.
Not following the recipe mentioned above could result in a different set of user stories than otherwise.
User stories for what version? At this stage, collect user stories to cover at least the final version you hope to deliver at the end of the semester. It is OK to go even beyond that (reason: we are simulating a project that will continue even after the semester is over).
Do not omit user stories already covered by the features in AB3 i.e., the user story should be recorded even if AB3 already caters for it.
How many user stories? Aim to collect more user stories than you can deliver in the project. Aim to create at least 30 user stories. Include all 'obvious' ones you can think of but also look for 'non obvious' ones that you think are likely to be missed by other competing products.
User stories of what size? Normally, it is fine to use epic-level user stories in the early stages of a project but given this is a small project, you may want to define smaller user stories (i.e., small enough for one person to implement in 1-2 days).
What format?: You may use a sentence format or a table format but do maintain the prescribed three-part structure of a user story. In particular, try to include the benefit part in most user stories as that will come in handy when prioritizing user stories later.
How to record?
Keep records of intermediate steps (e.g., persona, scenarios) in your collaborative project document started in the previous week.
You can write each user story in a piece of paper (e.g. yellow sticky note, index card, or just pieces of paper about the size of a playing card). Alternatively you can use an online tool (some examples given in [Textbook Specifying Requirements → UserStories → Usage → (panel) Tool Examples ]).
If you choose to use the GitHub issue tracker to manage user stories, you need to set up your team's GitHub organization, team repo, and its issue tracker first. Instructions for doing those steps are in the panel below.
Intuitively, you might think the right thing to do is to decide what features will be in v1.4 and then plan the intermediate versions based on that. But that's not what we are going to do.
Why? Given the difficulty of reliably estimating the effort each feature will need, any such long-range plan is likely to be inaccurate.
Instead, what we will do is to assume the current iteration is the last iteration, plan that iteration to deliver the product (based on available time), and try to follow that plan as best as we can. After the iteration is over, we plan the next iteration as if it's the last iteration. But that time, you can factor in the experience from the previous iteration to do a better job of planning.
How is that better?
The goal of this activity is to come up with the smallest possible product that is still usable so that it can be implemented as v1.2, to be delivered at the end of the first project iteration. We try to make it small because you will have only two weeks to implement v1.2 and coding as a team is a lot harder than writing code alone.
Why v1.2 and not v1.1? v1.1 is a mere documentation update only. v1.2 will be the first version that contains functionality changes.
Do not discuss features, UI, command format, or implementation details yet. That would be like putting the cart before the horse. At this stage we are simply trying to choose which user needs to fulfill first.
Suggested workflow:
FAQs
Q: What if the chosen user stories for v1.2 is not enough to do a meaningful work division among team members?
A: In that case, you can add more user stories until there is enough for a meaningful work distribution.
Q: Should we omit user stories that are already supported by AB3?
A: No, you should still include them. Reason: The existing implementation might still require some work before it fits your product.