Your SlideShare is downloading. ×
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Continuously Delivering: Compress the time from committed to consumed
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Continuously Delivering: Compress the time from committed to consumed

1,411

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,411
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
50
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • Explain: my team my mission prefer technical solutions Of all process changes – this is the best
  • Who uses CI?
  • All Hands Gestures!
  • Embedded Crowd
  • XHTML
  • How many people here dogfood?
  • Mention CI
  • Value always delivered
  • Value always delivered
  • Value always delivered
  • Value always delivered
  • Value always delivered
  • React more quickly to new opportunities Don’t need to wait on release boundaries Reallocate resources more easily
  • React more quickly to new opportunities Don’t need to wait on release boundaries Reallocate resources more easily
  • Value always delivered
  • Less integration pain
  • Value always delivered
  • Ask what the audience make up is Chrome is one example of CD infrastructure – although channel based, so not the same
  • Use XHTML as an example
  • Gestures!
  • Dependencies
  • Transcript

    • 1.  
    • 2. Continuously Delivering
    • 3. Agenda
      • Existing Processes
      • Benefits of Continuous Delivery
      • Approaches to achieving Continuous Delivery
      • Atlassian Tools
    • 4. Atlassian Process
      • Long lived feature branches for major features
      • 98 day releases
      • Feature integration
      • Hardening
        • 2 week beta
        • 2 week RC
    • 5. What’s the problem?
    • 6. Value Timeline Release Release to Studio Release of cross-product features Customer Upgraded
    • 7. Large Releases
      • Unaddressed risk
        • Large changes
        • Support burden
        • Impacts development speed
      • No way to revert?
        • Need to double check everything
      • Large release anti-pattern
    • 8. Branching
      • Extends time to delivery
      • Prevents iterative development
      • Increases big-bang
      • Merging pain
    • 9. Everyone does CI, right?
      • Same reason as Continuous Integration
        • Don’t leave a manual, error-prone process to the end
    • 10. Rapid Release Cycles
    • 11. Dogfooding
      • Some are fortunate enough to use their own software
      • If you are, take advantage of it!
      • Find bugs, gather feedback
      • Instability won’t affect the customer
    • 12. Regular Deployments
      • Company dogfooding server
        • Fortnightly
      • Team dogfooding server
        • Nightly
      • Stable releases
        • Fortnightly
    • 13. Packaged Release Automation
      • SCM Tag
      • Maven upload
      • Release in JIRA
      • Release notes in Confluence
      • Push binaries to distribution
    • 14. Continuous Delivery
    • 15. Continuous Delivery
      • Produce a regular, deployable-to-production build
        • Regular probably means daily
      • Continuous Deployment would be to deploy each one
    • 16. Why?
    • 17. For Product…
    • 18. No Features Waiting in Queue
    • 19. Market New Releases “Whenever”
    • 20. Great Momentum
      • Happy & Forgiving Customers
    • 21. Small Changes, Immediate Validation
    • 22. Rapid Iteration
      • Hit => Double Down
      • Miss => Revert
    • 23. Agility
    • 24. For Engineering…
    • 25. Build what people want
    • 26. Less Fragility
      • Less time waiting in queue
    • 27. Smaller batches
      • Less integration pain
    • 28. More Focus
    • 29. Our Story…
    • 30. Which may apply to you…
      • SaaS
      • Installed Product
      • Single Client
    • 31. Progress Summary
      • Small Stories
      • Removed Branches
      • Accelerated Builds
      • Automated Deployment
    • 32. Deployment Pipeline
      • Environments
        • Dogfooding
        • Homogeneous
      • Batched build pipeline
      • Smoke tests
      • Automated backup & rollback
    • 33. Rapid Continuous Integration
      • Build Stages
        • Unit tests
        • UI tests
        • Functional tests
      • Batching
        • EC2
        • Bamboo
    • 34. Deployment Speedup
      • Previously…
        • 1-2 days effort
        • Every 2 weeks
      • Now
        • 25min build, 15min deploy, zero downtime
        • Approx 10x / day
    • 35. Bamboo Support
      • Tasks
      • Plan Variables
      • Parameterised Builds
      • Artifact Passing
      • Manual Stages (3.2)
    • 36. Delivery Gates
      • Checkpoints are necessary
        • Just make sure they’re automated
      • Manual checkpoints exist due to fear
        • Often they can be removed with no tangible impact
        • Sometime possible to partially automate
    • 37. Dark Features
      • No long-lived branches
      • Decouples deploy & launch
      • Reduces risk
    • 38. Monitoring
      • Log file analysis
        • Splunk
      • Application instrumentation
        • Metrics
      • Runtime VM instrumentation
        • New Relic
    • 39. Challenges
      • Scrum vs. Kanban
      • Downtime
      • Code & test discipline
        • Pre-commit reviews?
      • Change tracking
        • Release notes?
        • What environments have received a change?
    • 40. Tips
      • Environment Independence
      • Modular Code
        • Or “Branch by Abstraction”
      • Version Everything
        • Especially the deploy scripts
      • Team Changes
        • QA
        • DevOps
    • 41. Future
    • 42. Extending the pipeline Team Company Studio Studio Studio
    • 43. Issue-based Deployment
      • Smallest sensible chunk should be delivered
      • Used to be a whole release
        • Traditional Process
      • A feature?
        • Deployment after feature branch merges
      • A commit?
        • Deploy on green build
      • An issue?
    • 44. Issue-based Deployment A B A C B D D B C B E B B B B master/default/trunk deployment branch
    • 45. Summary
      • Commit -> Dogfooding
        • Time: 2 weeks to 30min
        • Frequency: Fortnightly to 10 times per day
      • It may require changes to existing processes
      • Atlassian tools are currently easy to automate
      • Continuous Delivery is a first-class feature of Bamboo
      • Stay tuned for more help from Atlassian
    • 46. Questions?
    • 47. More Information
      • Bamboo 3.2
      • http://atlassian.com/sotware/bamboo
      • Atlassian Dev Blog
      • http://blogs.atlassian.com/developer
      • Recorded Summit Sessions
      • http://summit.atlassian.com

    ×