rapid agile delivery: stories from stash on shipping product more frequently

29

Post on 21-Oct-2014

434 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently
Page 2: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

MATTHEW WATSON • STASH TEAM LEAD • ATLASS IAN • @mattw_watson

Rapid Agile Delivery:STORIES FROM STASH ON SHIPPING PRODUCT

FREQUENTLY

Page 3: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

If you want a good example how

to do "release early, release often" properly, take a look at @atlassian Stash.

COSMIN STEJEREAN, @offbytwo , 21 August 2013

Page 4: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Timeline of releases

0 weeks

5 weeks

10 weeks

15 weeks

20 weeks

25 weeks

1.0 1.1 1.2 1.3 2.0 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8

6555634

98977

26

Page 5: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Why release often?

• Features to customers faster

• Smaller deliverables = less risk

• Earlier feedback

G o o d f o r t h e p r o d u c t

Page 6: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Faster release cycles!

Release productivity cycle

Start work on releaseFigured out what we’re doing

We’re rocking it now!Bug fixing, docs :-(Release!

Page 7: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Release early, release often

• Only ship when we’re ready

• Reduce stress

• No drop in quality or scope

G o o d f o r t h e d e v e l o p m e n t t e a m

Page 8: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Release early, release often

• Smaller features = more features

• Always something to release

G o o d f o r t h e d e v e l o p m e n t t e a m

Page 9: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Stash feature development

Page 10: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Early problemsL a c k o f f e a t u r e o w n e r s h i p

• Front end/back end split in teams

• Long timeframe

• Developers working to ‘spec’

• Team leads under pressure

Page 11: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

• Feature stakeholders

• Product Manager

• Designer

• Developers

• QA

• Brainstorming

Developer ownershipF e a t u r e k i c k o f f s

Page 12: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

• JIT Feature specification

• Developer driven process

• Developers responsible for end result - the drivers of quality

Developer owns the specF e a t u r e L e a d s

Page 13: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

• engaged developers

• complete, high quality features

• developer experience

• less work for PM, Design, Team leads

Benefits

Page 14: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

• 2.6

• Fork Synchronization

• Audit logging

• 2.5

• Editing a pull requests destination branch

• Expanding the diff context wherever there's a diff in Stash

• Support for git .mailmap files

• Ability to disable CAPTCHA

• 2.4

• Personal projects and forks

• 2.3

• Crowd SSO support

• Delete branch on merging a pull-request

• Submodule support

• 2.2

• Rework of our developer documentation

• 2.1

• Pull Request Inbox

• Build status

• 2.0

• Branch permissions

• New comment highlighting

• 1.2

• File search

• merge filtering

• 1.1

• image diffs

• SSH Support

• 90% of releases contain work started during or wholly completed in an Innovation Week

• Developer driven ideas

• Time off normal backlog

Innovation weeksF e a t u r e s P r o d u c t M a n a g e m e n t n e v e r t h i n k o f

Page 15: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Quietly impressed with features

that @atlassian have been rolling out on Stash. Per-branch permissions, pub. accessible repos in particular.

DAVID BOLTON, @l ightn ingdb , 13 June 2013

Page 16: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Stash development cycle

Page 17: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Agile development with git F e a t u r e b r a n c h i n g

• Allows development in isolation

• functional testing

• performance testing

• Isolate stable code from work-in-progress

• Only merge when ready

Page 18: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Code reviewI n S t a s h : p u l l r e q u e s t s

• Guarantee quality of shipped code

• Improve developer skills and disseminate information

• Gatekeeping

• Becomes part of the culture of the team

Page 19: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently
Page 20: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently
Page 21: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Continuous integration

master build

Deploy to stash.dev

•Database matrix•git version matrix•git on windows

• All builds reported to Stash

• Appear in Pull Requests

• Continuous deployment from day 5

Page 22: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Monitoring CI

Page 23: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

K e e p i n g S t a s h f a s t

vcvcxLevel TwoLevel TwoLevel Two

Level One

Performance monitoring

Performance monitoring

• Daily monitoring

• Check results in standup

• Monitor significant feature branches

Page 24: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Release branching

• Develop on feature branches

• Merge to master

• JIT branch for release

• Merge all bug fixing downstream

S u p p o r t i n g m u l t i p l e r e l e a s e s master 2.6 2.5

Page 25: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Automate all the things

Page 26: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

• Release often!

• Engage developers and designers

• Parallelize feature development

• Quality code won’t slow you down

• Trust your CI

• Automate everything

Techniques for rapid delivery

Page 27: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Stash by Atlassian, one of the

best things that could happen to your company.

ONDREJ KVASNOVSKY , @okvasnovsky , 5 June 2013

”“

Page 28: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Thank you!

MATTHEW WATSON • STASH TEAM LEAD • ATLASS IAN • @mattw_watson

Page 29: Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

Text code below to 22333or visit http://bit.ly/19JYG7e

Rapid Agile Delivery: Stories from Stash on Shipping Product More Frequently

To join this session, send text 136888 to

AWESOME = 24

PRETTY GOOD = 23

NOT BAD = 22

MEH = 21

Rate this Talk