From idea to delivery in less than 4 hours
A presentation and discussion about fast and reliable software development.Our goal is to be able to get from a commit to our version control system to a deployed software within a few hours, or if possible, within a few minutes. In this 4-hours long session we are going to cover the current best practices of continuous integration and continuous deployment.
The key question in software development projects is that given an idea for a feature or given a bug report, how quickly can we get it in the hands of our customers? Being able to deliver the new feature faster means the value realized by the investment will be seen sooner. This is good both for your customers and for your company. Traditionally the release cycles of companies were measured by months or even by years. Today, in most of the systems this is unacceptable. Today you need to deliver your software much faster. How fast can this happen depends on the type of software you produce and how much control do you have over the delivery of the software, but in many cases this could be measure in minutes or hours
How can you do this? How can you do this in a reliable, repeatable, and safe way that does not require heroic after-hour actions by you and by your team? In this session we'll go over various aspects of the development - testing - deployment process. We'll see practices employed in different situations. We will look at case-studies how this can be done for the product-types your organization has.
Target Audience
- Tech leaders
- Team Leaders
- QA Manager
- Operations lead
- DevOps lead
- CTO
- VP R&D
Objectives
- To have an understand of how one can achieve very short release cycles.
- Understand how (if at all) cloud could help your organization.
- Have ways on how to get started in your own organization.
Course Format
- 4 hours.
Language
- The course can be given either in English or in Hebrew with slides being in English.
Syllabus
- Topics
- Value chain
- Deployment pipeline
- Waterfall vs Agile vs Lean
- The Wall of Confusion
- DevOps?
- High-performance organizations
- Multitasking
- Batch sizes
- Eliminate waste
- Fast feedback loops
- Andon cord
- Continuous Integration
- Test Driven Development
- Pair programming
- Mob programming
- Refactoring code
- Conway's Law and its application
- Continuous Deployment
- Continuous Delivery
- Continuous Improvement
- Top-down and bottom-up approaches
- Version Control strategies
- A single system (e.g. web application)
- Handling software with multiple versions deployed at clients.
- Strategies for A/B testing
- Stable master
- Short-lived feature branches
- Long feature branches
- Rebase or not to rebase
- Using the cloud
- On Premise infrastructure
- Iaas - Infrastructure as a service
- PaaS - Platform as a service
- SaaS - Software as a service
- Serverless Architecture (Amazon Lamda, Google Functions)
- Product/Service types
- Hardware
- Embedded software
- On-premise application/device
- Desktop Application
- Mobile Application
- Web Application
Resources
- The Phoenix project by Gene Kim, Kevin Behr, George Spafford
- The DevOps handbook by Gene Kim, Patrick Debois, John Wills, Jez Humble, John Allspaw
- Continuous delivery by Jez Humble and Dave Farley
- Lean Software Development: An Agile Toolkit by Mary Poppendieck and Tom Poppendieck.
- The Goal: A Process of Ongoing Improvement by Eliyahu M. Goldratt and Jeff Cox.
- Lean Thinking: Banish Waste and Create Wealth in Your Corporation by James P. Womack and Daniel T. Jones.
- The Fifth Discipline: The Art & Practice of The Learning Organization by Peter M. Senge.
- Beyond Legacy Code by David Scott Bernstein.
- Switch: How to Change Things When Change Is Hard by Chip Heath and Dan Heath
- Drive: The Surprising Truth About What Motivates Us by Daniel H. Pink
- Flow: The Psychology of Optimal Experience by Mihaly Csikszentmihalyi.
- Refactoring: Improving the Design of Existing Code (2nd Edition) by Martin Fowler
- Mob programming by Woody Zuill and Kevin Meadows.
- Forging Python by Miki Tebeka.
- Velocity and volume (or speed wins) Adrian Cockcroft.
- Moving Fast At Scale video by Randy Shoup.
- Moving Fast At Scale slides by Randy Shoup.
- How Software Developers Really Spend Their Time Lauren Orsini
- You're Doing Scrum Wrong, and Here's How to Fix It
- Manifesto for Agile Software Development
- Canary Release
- Ron Jeffries Says Developers Should Abandon Agile
- Developers Should Abandon Agile by Ron Jeffries.
- State of Agile Collabnet and VersionOne survey.
- State of DevOps Puppet labs report.
- The Twelve-Factor App
- Making Work Visible: Exposing Time Theft to Optimize Work & Flow by Dominica DeGrandis
- IT Revolution
Contact
Contact: Gabor Szabo gabor@hostlocal.com
Phone: +972-54-4624648