Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… ·...

7
1/15/20 1 1 - CSE 439 – Mobile Application Development II Today - Topics about teamwork Xcode Git integration Agile software development XC Testing UI Testing 1 Extensible Networking Platform 2 2 - CSE 439 – Mobile Application Development II Xcode Git Integration demo 2

Transcript of Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… ·...

Page 1: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 2: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 3: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 4: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 5: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 6: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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

Page 7: Today -Topics about teamwork - Washington University in St ...todd/cse439/cse439_lecture… · Today -Topics about teamwork •Xcode Git integration •Agile software development

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