agile ios

68
Stewart Gleadow @stewgleadow Agile iOS

Upload: sgleadow

Post on 29-Jan-2018

4.629 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Agile iOS

Stewart Gleadow

@stewgleadow

Agile iOS

Page 2: Agile iOS

iOS something something

Stewart Gleadow

@stewgleadow

Page 3: Agile iOS

Stewart Gleadow

@stewgleadow

My ramblings about iOS development in large teams

Page 4: Agile iOS

Outline

Page 5: Agile iOS

Outline

• [ObjectiveC release];

Page 6: Agile iOS

Outline

• [ObjectiveC release];

• Problems with iOS in large teams

Page 7: Agile iOS

Outline

• [ObjectiveC release];

• Problems with iOS in large teams

• Team process

Page 8: Agile iOS

Outline

• [ObjectiveC release];

• Problems with iOS in large teams

• Team process

• Testing strategies

Page 9: Agile iOS

Outline

• [ObjectiveC release];

• Problems with iOS in large teams

• Team process

• Testing strategies

• Design & development

Page 10: Agile iOS

iOS in large teams

Page 11: Agile iOS

iOS in large teams

Building the

wrong product

Page 12: Agile iOS

iOS in large teams

Building the

wrong product

Low utilisation

Page 13: Agile iOS

iOS in large teams

Building the

wrong product

Long lead time

Low utilisation

Page 14: Agile iOS

iOS in large teams

Building the

wrong product

Long lead time

Low utilisation

Bugs and

regressions

Page 15: Agile iOS

iOS in large teams

Building the

wrong product

Long lead time

Low utilisation

Bugs and

regressions

Meetings

Page 16: Agile iOS

iOS in large teams

Building the

wrong product

Long lead time

Low utilisation

Bugs and

regressions

Meetings Documentation

Page 17: Agile iOS

Agile

Page 18: Agile iOS

Agile

“You keep using that word. I do not think it means what you think it

means.”

Page 19: Agile iOS

be agile

“You keep using that word. I do not think it means what you think it

means.”

Page 20: Agile iOS

Why is agility

important for iOS

development?

Page 21: Agile iOS

Why is agility

important for iOS

development?

• Rich user experience

Page 22: Agile iOS

Why is agility

important for iOS

development?

• Rich user experience

• New devices and platform

Page 23: Agile iOS

Visibility and Measurement

Page 24: Agile iOS

Visibility and Measurement

Page 25: Agile iOS

Visibility and Measurement

Page 26: Agile iOS
Page 27: Agile iOS
Page 28: Agile iOS

Everyone cares about the details

Page 29: Agile iOS

Everyone cares about the details

Page 30: Agile iOS
Page 31: Agile iOS

To Do Doing Done

Page 32: Agile iOS

Corner Cases

Page 33: Agile iOS

Corner CasesNormal

Page 34: Agile iOS

Corner CasesNormal

No Network

Slow Network

Old Devices

PersistentState

DeviceCapability

PowerUsage

RetinaDisplay

Multi-Touch

Bad Data

Page 35: Agile iOS

Testing strategies

Page 36: Agile iOS

Delivering quality apps...whose requirements change constantly

Page 37: Agile iOS

Delivering quality apps...whose requirements change constantly

External

Page 38: Agile iOS

Delivering quality apps...whose requirements change constantly

External Internal

Page 39: Agile iOS

Testing strategies

Page 40: Agile iOS

Testing strategies• Manual, automated, assisted

Page 41: Agile iOS

Testing strategies• Manual, automated, assisted

Page 42: Agile iOS

Testing strategies• Manual, automated, assisted

Page 43: Agile iOS

Testing strategies• Manual, automated, assisted

Page 44: Agile iOS

Manual testing using cucumber

Page 45: Agile iOS

Manual testing using cucumber

Scenario: User tries posts a message before logging in

Page 46: Agile iOS

Manual testing using cucumber

Scenario: User tries posts a message before logging in

Given I am not logged in

Page 47: Agile iOS

Manual testing using cucumber

Scenario: User tries posts a message before logging in

Given I am not logged inWhen I try to post a message

Page 48: Agile iOS

Manual testing using cucumber

Scenario: User tries posts a message before logging in

Given I am not logged inWhen I try to post a messageThen I should be prompted to sign in

Page 49: Agile iOS
Page 50: Agile iOS
Page 51: Agile iOS

Unit

Integration

UI

Page 52: Agile iOS

Unit

Integration

UI

60%

30%

10%

Page 53: Agile iOS

Refactoring

Page 54: Agile iOS

Refactoring

Red

Green Refactor

Page 55: Agile iOS

Refactoring

Are we fighting the laws of physics?

Red

Green Refactor

Page 56: Agile iOS

Design & Development

Page 57: Agile iOS

How developers see designers

How designers see developers

Page 58: Agile iOS

How developers see themselves

How designers see themselves

Page 59: Agile iOS

Photoshop

driven

development

Page 60: Agile iOS

Photoshop

driven

development

Page 61: Agile iOS

Get fast feedback5w\V\iforü t tlorr¡

c_:-_l

tL

Page 62: Agile iOS

Prototype

Test Refine

Page 63: Agile iOS

Continuous feedback loops

Page 64: Agile iOS
Page 65: Agile iOS

“If you want to go fast, go alone. If you want to go far, go together.”

Page 66: Agile iOS

“If you want to go fast, go alone. If you want to go far, go together.”

...but we need to go far, quickly.

Page 67: Agile iOS
Page 68: Agile iOS

Thanks

Stewart Gleadow

@stewgleadow

[email protected]