CS计算机代考程序代写 Java Agile Software

Agile Software
Development &

The Project
COMP2511

The Software Development
Lifecycle

Requirements
Analysis

User Stories & Epic Stories

Role, Goal, Benefit
As a resident in a COVID hotspot, I want to be alerted of all
new cases so that I can keep those around me safe

What’s a good user story?
Specific role
Singular goal
The benefit is actually beneficial to the user

Epic Stories
Abstract user story that encompasses several stories
Describes user problems at a higher level

Acceptance Criteria

Descriptive (Yes/No)
The user is given an alert whenever there is an update to
restrictions
The user can see the number of active cases in the
community

Scenario-Based
Given, When, Then
Given that the user has scanned in to a venue, when there
is a case identified at the venue, then the user is informed

Story Points and Priorities

Story Points
Relative measure of effort needed to complete a user
story
Includes time taken to research how to do it
Fibonacci Scale – 1, 3, 5, 8, 13, 21

Priorities
High Priority – Minimum Viable Product (MVP)
Medium Priority
Low Priority

Example Gitlab
Taskboard

https://gitlab.cse.unsw.edu.au/z5169779/taskboard-
example-2511/-/boards

Agile Project
Management

Timeline
Using Story Points and Priorities, create a rough plan
of how work will be completed
Considerations

Sequencing of Tasks
Allocation of Tasks
Timespan of Tasks

Meeting Minutes

Attendees
(Optional) Agenda
Discussion Points
Action Items

Agile Practices

Standups
Asynchronous Standups
Pair Programming

Test-Driven
Development (TDD)

Why test first?

Start with the end
Tests-last simply justify the code written
You want your tests to fail your code, not to pass your
code

TDD with Java & Classes

1. Design your model (UML Diagram)
2. Write the class & method stubs
3. Write unit tests
4. Run the unit tests
5. Implement the functions
6. Pass the tests

Git Practices

Tasks are assigned to team members;
Tasks are updated across the kanban columns;
The board shows the truth of your team’s progress;
The timeline you created in Milestone 1 is updated as
needed in Milestones 2 and 3
Assignment of tasks in the timeline corresponds to the
board;
Detail and specificity in commit messages;
Avoiding committing large chunks of code;
Merge requests are approved by another team member;
One feature = one branch = one merge request into
master.

Good Assumptions

Clear up an ambiguity in the specification
A good assumption articulates a behaviour rather
than an implementation
Assumptions are black-box