today -topics about teamwork - washington university in st ...todd/cse439/cse439_lecture… ·...
TRANSCRIPT
1/15/20
1
Extensible Networking Platform 11 - CSE 439 – Mobile Application Development II
Today - Topics about teamwork
• Xcode Git integration
• Agile software development
• XC Testing
• UI Testing
1
Extensible Networking Platform 22 - CSE 439 – Mobile Application Development II
Xcode Git Integration demo
2
1/15/20
2
Extensible Networking Platform 33 - CSE 439 – Mobile Application Development II
Agile Software Development
• A popular development methodology in the industry
• A very broad concept; has many variations subsets of practice.
• There is not a set way to do this; Implementation highly dependent on product
• Not easy to learn and teach
• Most companies spent days to teach this to new employees.
• Some companies spent years trying to even understand this.
3
Extensible Networking Platform 44 - CSE 439 – Mobile Application Development II
One thing everyone can agree on: Agile Manifesto
Source: https://agilemanifesto.org/
4
1/15/20
3
Extensible Networking Platform 55 - CSE 439 – Mobile Application Development II
Scrum
• For our purposes, we will stick with a subset of Agile called Scrum
• In fact, we will use a simplified Scrum. We will make high-level
requirements for you to stick to the general idea of Scrum, but there
should be enough room for you to figure out what’s the best practice
for your team.
• We will first cover basic components in Scrum and then talk about
the responsibilities of each role in a team.
5
Extensible Networking Platform 66 - CSE 439 – Mobile Application Development II
Source: https://www.cprime.com/wp-content/uploads/2018/05/ScrumCycle.jpg
Scrum
6
1/15/20
4
Extensible Networking Platform 77 - CSE 439 – Mobile Application Development II
“Story”
• In scrum, each feature in an application is called a “Story”
• Again, there are many ways to define what consists of a story, but for our purposes, for each
story, we require the following components:
• What is this story about
• Why do we build this, how is it valuable
• When will this story start and finish
• Acceptance Criteria (user experience assessment, automated/manual tests of functionality etc.)
7
Extensible Networking Platform 88 - CSE 439 – Mobile Application Development II
Backlog
• A board to hold stories in “cards,” separated by columns
• Each column usually represent a state of the story (to do, in-
progress, testing, release etc.)
• You can decide how you want to use a backlog, as long as it reflects
your team’s situation in a clear and accurate way.
• Each group must create a board (using Trello) that is shared with the
Head TA
8
1/15/20
5
Extensible Networking Platform 99 - CSE 439 – Mobile Application Development II
High-level Responsibilities for each role
• Project manager:
• Set out plan for the project (schedule, development order etc.)
• Specify high-level idea and description for each story. Also need to
specify the appearance of UI for frontend stories
• Stay away from details; those are for developers and testers
9
Extensible Networking Platform 1010 - CSE 439 – Mobile Application Development II
High-level Responsibilities for each role
• Developers:
• Decide on the details about how to implement each story, and develop :)
• Refactor code based on test results passed back by testers.
• Tester:
• Based on acceptance criteria in the story, decide on ways to test this story.
• Test developers’ code and send the results to developers.
10
1/15/20
6
Extensible Networking Platform 1111 - CSE 439 – Mobile Application Development II
Trello Demo
11
Extensible Networking Platform 1212 - CSE 439 – Mobile Application Development II
XC & UI Testing
12
1/15/20
7
Extensible Networking Platform 1313 - CSE 439 – Mobile Application Development II
A Test Should:
• Be able to fail
• Be able to pass
• Be independent from other test
13
Extensible Networking Platform 1414 - CSE 439 – Mobile Application Development II
XC Testing Demo
14