SlideShare a Scribd company logo
BOSE - Josh Steckler - Automating Automation: Build environments, on-demand
Automating Automation | Bose Corporation 2
Automating Automation: Build
Environments, On-Demand
Josh Steckler
Bose Corporation
Automating Automation | Bose Corporation 3
Who am I?
• Software Engineer
• 7 Years at Bose
• Scrum Master
• Lead for ElectricFlow, JIRA
Automating Automation | Bose Corporation 4
Bose
• Based in Massachusetts
• 51 years
• Products come from research
• Audio & Non-audio products
Automating Automation | Bose Corporation 5
Bose is Global
x5
Automating Automation | Bose Corporation 6
Bose & DevOps
• Centralized Engineering
Software & Tools Team
• Enterprise, integration,
automation & Self
Service focus
• Typically engage for new
development, hands off
for day to day operations
Automating Automation | Bose Corporation 7
The Team
• 3 software engineers, 2 system administrators
• Located in HQ, support over 2000 users
• Steady headcount with more products developed
• In EF: 108 projects, ~3000 jobs/day
• Product development focus
• Grown from Tool Supporters to DevOps – provide
more value
Automating Automation | Bose Corporation 8
Changing industry = More Software
Automating Automation | Bose Corporation 9
Product Growth Challenge
• How do we support a massive increase in software?
• How much would overhead increase?
• Needed to revisit our entire environment
Automating Automation | Bose Corporation 10
Starting Point: Home Grown System
• Not scalable, time consuming configuration
• Different divisions – different systems
• No build status visibility – manual log checking
• No job management – failures caused issues
• No management UI – hard to learn
• Hard to share responsibility
Automating Automation | Bose Corporation 11
Adoption of Electric Flow
Small pilot
project in one
division
Gradual,
bottom-up
viral adoption
Remainder of
pilot division
migrates to EF
Success story
shared and
adoption
spreads to
more divisions
Automating Automation | Bose Corporation 12
How we got there:
1. Just get it running – copy & paste existing scripts
2. Incremental improvements
3. Automate!
4. Utilize Advanced Features
5. Retirement of old systems
Automating Automation | Bose Corporation 13
First Run
• Started with one project, one build resource
• No build script changes
• Hard coded properties
• Comparisons to old system’s deliverables – ensure
process is valid
Automating Automation | Bose Corporation 14
Improvements
• Properties – Data Storage,
“variables”
• Parameters – runtime
“arguments”
• Abstract variables into
Properties or Parameters
• Split existing code into
Job Steps
• Time based scheduling
Automating Automation | Bose Corporation 15
Procedure Library
Examples
– Selecting a resource
– SVN checkout
– Testing (Klocwork)
– Deploy to server
Why use a library?
– Version Control
– Roll out enhancements
globally
– Change management
– Standardization
Automating Automation | Bose Corporation 16
Procedure Standardization
Automating Automation | Bose Corporation 17
Automate!
• Goal: Increase adoption without increasing
overhead
• Phase One: create new projects
– Started by copying and renaming
– Permissions issues. Different divisions, different access
levels were not implemented
– Changing code in several places
Automating Automation | Bose Corporation 18
Phase Two: “Create Project” Procedure
• Self Service – no service ticket required
• Utilizes ec-perl API
• Default build procedure template
• Default properties & parameters set
• Set Permissions accurately
Automating Automation | Bose Corporation 19
A unique system for each vehicle
Audi
A3
Q3
A6
3.0 Turbo
Tweeter
Woofer
Amplifiers
DSP
Etc.
3.0 Diesel
A7
Q7
A8
TT
Automating Automation | Bose Corporation 20
Automating Automation | Bose Corporation 21
Managing Product Complexity
• Automotive products have a complex matrix of
dependencies
• How to make correctly run build?
• Phase One: Flexible, but unmanaged build
parameter inputs
– Error prone
– Required specialized syntax, hard to learn
Automating Automation | Bose Corporation 22
Phase Two: Guided User Input Screen
• Easy to learn and use
• Able to scale a complex matrix
• Don’t allow invalid parameters
• Implemented as a Plugin
– Version controlled
Automating Automation | Bose Corporation 23
Guided User Input
Automating Automation | Bose Corporation 24
Guided User Input
Automating Automation | Bose Corporation 25
Input Validation - Syntax
Automating Automation | Bose Corporation 26
Input Validation - Logic
Automating Automation | Bose Corporation 27
Build Data Management System
• Refreshes every 15 mins
• Info on build dependencies
• Stores data in nested
property sheets
Automating Automation | Bose Corporation 28
More Layers of Complexity
• Need to run the same process over a variable
number of components
• Can’t know the right components until runtime
• Doing all components too time consuming
Automating Automation | Bose Corporation 29
Build Steps Unknown
• Goal: Build avoidance - handle variable number of
changed components
• Phase One (considered, never implemented):
– Just use a loop in a single step
– Hard to report status
– Wouldn’t make use of procedure library
Automating Automation | Bose Corporation 30
Phase Two: Dynamic Jobs
• Construct the job at runtime to only build what is
necessary, skip the rest
• “Metaprogramming” – job transforms itself while
running
• EF API createJobStep
Automating Automation | Bose Corporation 31
Outside the Box - Automation Platform
• Group has lots of systems to manage
• Backups, integrity checks, standard maintenance
jobs, etc.
• Goal: Take advantage of EF as an automation
platform for administrative/IT operations
Automating Automation | Bose Corporation 32
Flow – an IT Automation Platform?
• Notifications, reporting, scheduling and resource
management
Automating Automation | Bose Corporation 33
Where are we going?
• Integrations with other applications – JIRA
• Continue adoption: rest of product development,
website group
Automating Automation | Bose Corporation 34
Thanks!
• Questions?
• Josh_Steckler@bose.com

More Related Content

PPTX
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
PPTX
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
PPTX
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
PPTX
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
PPTX
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
PPTX
Anand Ahire - Electric Cloud - Visibility, Coordination, Control. Getting st...
PPTX
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
PPTX
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world
Sam Fell - Electric Cloud - Faster Continuous Integration with ElectricAccele...
Sam Fell - Electric Cloud - Automating Continuous Delivery with ElectricFlow
Tanay Nagjee - Electric Cloud - Better Continuous Integration with Test Accel...
Steve Brodie - Electric Cloud - The Yin and Yang of DevOps Transformation
Rohit Jainendra - Electric Cloud - Enabling DevOps Adoption with Electric Cloud
Anand Ahire - Electric Cloud - Visibility, Coordination, Control. Getting st...
Greg Maxey - Electric Cloud - Process as Code: An Introduction to the Electri...
Lucas Gravley - HP - Self-Healing And Monitoring in a DevOps world

What's hot (20)

PDF
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
PPTX
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
PPTX
What's New in Puppet Enterprise 2015.3
PPTX
Introduction to Puppet Enterprise 01/29/16.pptx
PPT
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
PDF
Get Loose! Microservices and Loosely Coupled Architectures
PPTX
Cloud-based performance testing
PDF
Bridging The Gap Between Dev and Ops
PDF
Reduce Test Automation Execution Time by 80%
PPTX
Cloud based Performance Testing
PPTX
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
PPTX
What's New in Puppet Enterprise 2015.3
PPTX
Lessons Learned Monitoring Production
PDF
Agile Testing in the Cloud
PDF
Continuous Deployment
PPTX
Sam Guckenheimer - Moving to One Engineering System
PPT
Cloud Computing Webinar
PDF
Soasta Cloud Test
PPTX
Intro to Puppet Enterprise
PPTX
What's New in Puppet Enterprise 2015.3 (APAC)
20111110 how puppet-fits_into_your_existing_infrastructure_and_change_managem...
Accelerate Your Visual Studio Software Build Environment with ElectricAcceler...
What's New in Puppet Enterprise 2015.3
Introduction to Puppet Enterprise 01/29/16.pptx
Performance Testing Strategy for Cloud-Based System using Open Source Testing...
Get Loose! Microservices and Loosely Coupled Architectures
Cloud-based performance testing
Bridging The Gap Between Dev and Ops
Reduce Test Automation Execution Time by 80%
Cloud based Performance Testing
Introduction to Puppet Enterprise Webinar, Dec. 3, 2015
What's New in Puppet Enterprise 2015.3
Lessons Learned Monitoring Production
Agile Testing in the Cloud
Continuous Deployment
Sam Guckenheimer - Moving to One Engineering System
Cloud Computing Webinar
Soasta Cloud Test
Intro to Puppet Enterprise
What's New in Puppet Enterprise 2015.3 (APAC)
Ad

Similar to BOSE - Josh Steckler - Automating Automation: Build environments, on-demand (20)

PPTX
7 Tips from Siemens Energy for Success with Automation
PPTX
When is a project ready for Software Automation_NEW
PDF
Devoteam itsmf 2021 - from business automation to continuous value-driven i...
PDF
TLC2018 Thomas Haver: Transform with Enterprise Automation
PDF
Upgrade JDE Quicker, Faster, and More Predictable
PPTX
AUG NYC June 12 - Event Presentations
PPTX
Hurdles, the sprint with impediments on the way to automation
PPTX
Hurdles the sprint with impediments on the way to automation
PDF
Automation Culture: Essential to Agile Success
PDF
Ad Hoc Automation is an Expensive Mistake
PDF
Building a Roadmap for Hyperautomation.pdf
PPTX
A brief history of automation in Software Engineering
PDF
Test Automation in Agile: A Successful Implementation
PDF
How to Automate Yourself out of a Job (7/9/19)
PPTX
ONE Automation Platform - v11 Features and Functions
PDF
Dev Dives: Design user-friendly attended automations from A to Z
PDF
Winning strategies in Test Automation
PPTX
DigiBlu's Approach and Strategy for our Intelligent Automation Proposal to Ce...
PPTX
DevOps and Build Automation
PPTX
Segment 1 – Automation, Data Integrity and Digital Transformation
7 Tips from Siemens Energy for Success with Automation
When is a project ready for Software Automation_NEW
Devoteam itsmf 2021 - from business automation to continuous value-driven i...
TLC2018 Thomas Haver: Transform with Enterprise Automation
Upgrade JDE Quicker, Faster, and More Predictable
AUG NYC June 12 - Event Presentations
Hurdles, the sprint with impediments on the way to automation
Hurdles the sprint with impediments on the way to automation
Automation Culture: Essential to Agile Success
Ad Hoc Automation is an Expensive Mistake
Building a Roadmap for Hyperautomation.pdf
A brief history of automation in Software Engineering
Test Automation in Agile: A Successful Implementation
How to Automate Yourself out of a Job (7/9/19)
ONE Automation Platform - v11 Features and Functions
Dev Dives: Design user-friendly attended automations from A to Z
Winning strategies in Test Automation
DigiBlu's Approach and Strategy for our Intelligent Automation Proposal to Ce...
DevOps and Build Automation
Segment 1 – Automation, Data Integrity and Digital Transformation
Ad

Recently uploaded (20)

PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPT
Introduction Database Management System for Course Database
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Materi-Enum-and-Record-Data-Type (1).pptx
PPTX
Introduction to Artificial Intelligence
PDF
System and Network Administration Chapter 2
PPTX
history of c programming in notes for students .pptx
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
AI in Product Development-omnex systems
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
Online Work Permit System for Fast Permit Processing
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
ai tools demonstartion for schools and inter college
PPTX
Transform Your Business with a Software ERP System
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
System and Network Administraation Chapter 3
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Introduction Database Management System for Course Database
ManageIQ - Sprint 268 Review - Slide Deck
VVF-Customer-Presentation2025-Ver1.9.pptx
Materi-Enum-and-Record-Data-Type (1).pptx
Introduction to Artificial Intelligence
System and Network Administration Chapter 2
history of c programming in notes for students .pptx
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
AI in Product Development-omnex systems
Operating system designcfffgfgggggggvggggggggg
How to Migrate SBCGlobal Email to Yahoo Easily
Wondershare Filmora 15 Crack With Activation Key [2025
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Online Work Permit System for Fast Permit Processing
Understanding Forklifts - TECH EHS Solution
ai tools demonstartion for schools and inter college
Transform Your Business with a Software ERP System
How Creative Agencies Leverage Project Management Software.pdf
System and Network Administraation Chapter 3

BOSE - Josh Steckler - Automating Automation: Build environments, on-demand

  • 2. Automating Automation | Bose Corporation 2 Automating Automation: Build Environments, On-Demand Josh Steckler Bose Corporation
  • 3. Automating Automation | Bose Corporation 3 Who am I? • Software Engineer • 7 Years at Bose • Scrum Master • Lead for ElectricFlow, JIRA
  • 4. Automating Automation | Bose Corporation 4 Bose • Based in Massachusetts • 51 years • Products come from research • Audio & Non-audio products
  • 5. Automating Automation | Bose Corporation 5 Bose is Global x5
  • 6. Automating Automation | Bose Corporation 6 Bose & DevOps • Centralized Engineering Software & Tools Team • Enterprise, integration, automation & Self Service focus • Typically engage for new development, hands off for day to day operations
  • 7. Automating Automation | Bose Corporation 7 The Team • 3 software engineers, 2 system administrators • Located in HQ, support over 2000 users • Steady headcount with more products developed • In EF: 108 projects, ~3000 jobs/day • Product development focus • Grown from Tool Supporters to DevOps – provide more value
  • 8. Automating Automation | Bose Corporation 8 Changing industry = More Software
  • 9. Automating Automation | Bose Corporation 9 Product Growth Challenge • How do we support a massive increase in software? • How much would overhead increase? • Needed to revisit our entire environment
  • 10. Automating Automation | Bose Corporation 10 Starting Point: Home Grown System • Not scalable, time consuming configuration • Different divisions – different systems • No build status visibility – manual log checking • No job management – failures caused issues • No management UI – hard to learn • Hard to share responsibility
  • 11. Automating Automation | Bose Corporation 11 Adoption of Electric Flow Small pilot project in one division Gradual, bottom-up viral adoption Remainder of pilot division migrates to EF Success story shared and adoption spreads to more divisions
  • 12. Automating Automation | Bose Corporation 12 How we got there: 1. Just get it running – copy & paste existing scripts 2. Incremental improvements 3. Automate! 4. Utilize Advanced Features 5. Retirement of old systems
  • 13. Automating Automation | Bose Corporation 13 First Run • Started with one project, one build resource • No build script changes • Hard coded properties • Comparisons to old system’s deliverables – ensure process is valid
  • 14. Automating Automation | Bose Corporation 14 Improvements • Properties – Data Storage, “variables” • Parameters – runtime “arguments” • Abstract variables into Properties or Parameters • Split existing code into Job Steps • Time based scheduling
  • 15. Automating Automation | Bose Corporation 15 Procedure Library Examples – Selecting a resource – SVN checkout – Testing (Klocwork) – Deploy to server Why use a library? – Version Control – Roll out enhancements globally – Change management – Standardization
  • 16. Automating Automation | Bose Corporation 16 Procedure Standardization
  • 17. Automating Automation | Bose Corporation 17 Automate! • Goal: Increase adoption without increasing overhead • Phase One: create new projects – Started by copying and renaming – Permissions issues. Different divisions, different access levels were not implemented – Changing code in several places
  • 18. Automating Automation | Bose Corporation 18 Phase Two: “Create Project” Procedure • Self Service – no service ticket required • Utilizes ec-perl API • Default build procedure template • Default properties & parameters set • Set Permissions accurately
  • 19. Automating Automation | Bose Corporation 19 A unique system for each vehicle Audi A3 Q3 A6 3.0 Turbo Tweeter Woofer Amplifiers DSP Etc. 3.0 Diesel A7 Q7 A8 TT
  • 20. Automating Automation | Bose Corporation 20
  • 21. Automating Automation | Bose Corporation 21 Managing Product Complexity • Automotive products have a complex matrix of dependencies • How to make correctly run build? • Phase One: Flexible, but unmanaged build parameter inputs – Error prone – Required specialized syntax, hard to learn
  • 22. Automating Automation | Bose Corporation 22 Phase Two: Guided User Input Screen • Easy to learn and use • Able to scale a complex matrix • Don’t allow invalid parameters • Implemented as a Plugin – Version controlled
  • 23. Automating Automation | Bose Corporation 23 Guided User Input
  • 24. Automating Automation | Bose Corporation 24 Guided User Input
  • 25. Automating Automation | Bose Corporation 25 Input Validation - Syntax
  • 26. Automating Automation | Bose Corporation 26 Input Validation - Logic
  • 27. Automating Automation | Bose Corporation 27 Build Data Management System • Refreshes every 15 mins • Info on build dependencies • Stores data in nested property sheets
  • 28. Automating Automation | Bose Corporation 28 More Layers of Complexity • Need to run the same process over a variable number of components • Can’t know the right components until runtime • Doing all components too time consuming
  • 29. Automating Automation | Bose Corporation 29 Build Steps Unknown • Goal: Build avoidance - handle variable number of changed components • Phase One (considered, never implemented): – Just use a loop in a single step – Hard to report status – Wouldn’t make use of procedure library
  • 30. Automating Automation | Bose Corporation 30 Phase Two: Dynamic Jobs • Construct the job at runtime to only build what is necessary, skip the rest • “Metaprogramming” – job transforms itself while running • EF API createJobStep
  • 31. Automating Automation | Bose Corporation 31 Outside the Box - Automation Platform • Group has lots of systems to manage • Backups, integrity checks, standard maintenance jobs, etc. • Goal: Take advantage of EF as an automation platform for administrative/IT operations
  • 32. Automating Automation | Bose Corporation 32 Flow – an IT Automation Platform? • Notifications, reporting, scheduling and resource management
  • 33. Automating Automation | Bose Corporation 33 Where are we going? • Integrations with other applications – JIRA • Continue adoption: rest of product development, website group
  • 34. Automating Automation | Bose Corporation 34 Thanks! • Questions? • Josh_Steckler@bose.com

Editor's Notes

  • #5: We are a privately held 51 year old company based in Massachusetts. Our founder was a MIT professor, and he left a legacy of creating products to make people’s lives better. You all know our headphones & wireless speakers etc., but we’ve also developed some things that may surprise you, such as an automotive suspension system and a vibration reducing seat for long-haul truckers.
  • #6: Although we’re based in Massachusetts, our engineering community is global. Having such a wide footprint obviously has its challenges. We have people working around the clock. How do you support engineers in the most efficient way? How do you work around the time difference? How do you train users, sites and processes you may never see? Unfortunately I can’t fix all of these – but automating our processes whenever and wherever we can is a good place to start.
  • #7: At bose, we’ve centralized our engineering support functions. It has its challenges, but we feel that the centralized approach allows us to provide more value by allowing our product engineers to focus on product development. Since we work in these tools day in and day out, we become experts quickly and we continuously improve our ecosystem with things we’ve learned from each new effort we embark on. There’s challenges of operating like this of course, the chief being the struggle between the whole company’s need to streamline development processes and the individual’s desire to have their environment be exactly what they want, and to control it themselves. You’ve got to find the right balance. We empower people to use self-service whenever we can in an effort to reduce overhead. This allows us to focus more on high-value initiatives. My group provides a full environment from version control, issue tracking, project management, code reviews, static analysis tools and an automation platform.
  • #8: Our team is 5 people, and we’re all located in Bose’s corporate headquarters in Massachusetts. In the past five years, the team has had a steady headcount, but Bose’s product output has exploded., We bring more products to market each year now than we ever have in the past.
  • #9: The music industry has, like many others, changed rapidly. It wasn’t too long ago when cars still came with tape decks, even though CDs have been around for quite a long time. But when audio devices like the ipod became popular, the game started to change. Very quickly, we went from having dedicated music devices to, storing the files locally on a hard drive, to using our phones and streaming the music from the internet. Streaming has taken over and there’s so many different choices and variations to keep up with. Spotify only launched in the US in 2011. So, in a matter of a few years, we went from fairly standardized sources, like a CD or a 30 pin ipod connector, to a huge number of variations in devices and services. And the way we actually listen has changed too. I suspect most of us no longer use multi-component systems. We use Bluetooth or other connectivity protocols to control the experience from our phones. The amount of software, and the complexity of the software in our products increased dramatically too.
  • #12: Details about the deployment resonates with engineers
  • #13: Did not start with focus on security
  • #16: Version Control – can Roll out enhancement globally – all changes are instantly applied to all projects Make it in terms of the story we’re telling – what challenges we had when expanding We made our library procedures smart enough to handle the same operation on all operating systems
  • #21: Got this from https://globalpressroom.bose.com/us-en/assets/view/8380 it’s public material
  • #28: Management of the data is automated
  • #30: System won’t let you build with invalid options
  • #32: What’s the pain?
  • #33: Eating our own dogfood