This journal covers the Process learning area with an emphasis on progressing in Checkpoint 2 and preparing for Quiz 1. Please see the Journal Overview page on details on how to format and submit your journals.
Update and modify your design of the project to support the new functionality specified for C2:
Working with your team, create a single updated class diagram and post it in your individual journal.
Reflect on the extent of the changes that were required to update your class diagram. In general, what is one pro and one con of designing for evolvability upfront compared with updating the design on-demand?
Create and link to two issues on your team's repo that each contain a new C2 work item for another member of your team to complete. Generally, small work items tend to be more explicit and easier to manage. Providing clear criteria about when you would consider a work item to be complete (essentially the tests that are needed) helps ensure the right work is done from the start and often leads to better time estimates.
C2 requires the use of two new libraries: parse5 and decimal.js.
Provide a link to the license for parse5. What restrictions AND requirements does the license impose on the use of parse5, specifically if you wanted to commercialize your InsightUBC project? A potential alternative to using licensed libraries would be to implement the required functionality using generative AI (e.g., CoPilot, ChatGPT). What are some ethical and IP implications you would consider before using generative AI (again, assuming you were to commercialize InsightUBC and that the GenAI tool produces the appropriate code)?
Imagine that parse5 wanted to add additional methods to make the library easier to use (who wants to manually traverse HTML nodes!?). parse5 uses semantic versioning and the current version is 7.1.2. If the only change to parse5 was the addition of new methods, what version should be released? How should we specify the acceptable version range in package.json, if we wanted to receive the released version? If we ran yarn upgrade after specifying the appropriate version range, would we expect any build or runtime errors after parse5 was updated? Why or why not?
Identify and prioritize three new functional requirements in the C2 spec. Propose three quality attributes (non-functional requirements) for your C2 implementation; be sure to specify target values and describe how you would measure them. In a future journal, you will assess whether your implementation reached those targets.
Describe how the project would be completed differently if a strict waterfall process was used. What are the pros and cons of the waterfall process in general, and why might it be a bad fit for the InsightUBC project? Provide an example of a project where a waterfall process would still be appropriate today.
What aspects of the Scrum process are you expected to follow for the project? What aspects of the process are missing? What would the effect of strictly adhering to Scrum have on the way you and your partner (team) complete the project?
Identify aspects of Kanban that are the same and different from Scrum.
Re-write one of the work items you created in Question 1 into a user story with a role-goal-benefit statement and a definition-of-done. Critically assess your user story using the INVEST criteria. User stories are created collaboratively in industry because they are hard to get right; be sure to get a second opinion from your TA or teammate!