This document provides an overview and agenda for a webinar on continuous delivery in the enterprise. The webinar will define continuous delivery and differentiate it from continuous integration, Agile, quality and DevOps practices. It will explore the continuous delivery pipeline and key aspects like continuous development, integration and the ability to continuously release software. Attendees will learn about their role in continuous delivery and why it is important. The webinar will also discuss tools, products and solutions for continuous delivery and include case studies. It aims to explain how organizations can adopt continuous delivery practices.
this presentation contains agile engineering practices which are used by software community.
These practices provides agility in the software development. Applying agile software development without these practices is not easy for software developers.
A brief reflection on the Waterfall approach, review the Scrum elements and artifacts, and their purpose. Demonstrate Agile Scrum by providing real-world examples that delivered successful measurable outcomes to the business.
CD Roadmap Series Part 1 - From Firefighting to Faster Feature DeliveryXebiaLabs
Is your software release process plagued by unnecessary delays, failures and manual coordination effort? Tired of 9 a.m. catch-up calls and emergency production troubleshooting? Looking for a way to ship software faster while managing risk and maintaining quality?
Without a significant change in process and tools, the current pace is unsustainable. Release cycles are expected to happen faster than ever and stability and quality must be maintained. Meanwhile the complexity of developing and delivering software is increasing exponentially; mobile, microservices and rampant dependencies are just the start.
New challenges require new thinking. Continuous Delivery will help you release higher quality software, faster. And whether you're a release manager, build engineer, developer, Devops guy or gal, or manager, it will make your life better and your users happier too.
The burning question is, how do you start your journey of improvement? How do you take your release process to the next level and ensure success? Join us and find out.
this presentation contains agile engineering practices which are used by software community.
These practices provides agility in the software development. Applying agile software development without these practices is not easy for software developers.
A brief reflection on the Waterfall approach, review the Scrum elements and artifacts, and their purpose. Demonstrate Agile Scrum by providing real-world examples that delivered successful measurable outcomes to the business.
CD Roadmap Series Part 1 - From Firefighting to Faster Feature DeliveryXebiaLabs
Is your software release process plagued by unnecessary delays, failures and manual coordination effort? Tired of 9 a.m. catch-up calls and emergency production troubleshooting? Looking for a way to ship software faster while managing risk and maintaining quality?
Without a significant change in process and tools, the current pace is unsustainable. Release cycles are expected to happen faster than ever and stability and quality must be maintained. Meanwhile the complexity of developing and delivering software is increasing exponentially; mobile, microservices and rampant dependencies are just the start.
New challenges require new thinking. Continuous Delivery will help you release higher quality software, faster. And whether you're a release manager, build engineer, developer, Devops guy or gal, or manager, it will make your life better and your users happier too.
The burning question is, how do you start your journey of improvement? How do you take your release process to the next level and ensure success? Join us and find out.
In the world of agile, there is theory and then there is practice. We like to talk about self-organizing teams, asynchronous execution, BDD, TDD, and emergent architecture. We also talk about cross-functional teams: how analysts, testers, architects, technical writers, and UX designers belong on the same team, right next to programmers. It all sounds nice in theory, but how does this work in reality? What do these people actually do? How do they interact? What does it look like? Is there really a pragmatic way to make this work?
In this simulation, a cross-functional team will actually build a piece of software. Every specialist will have a hand in the process. Every specialist will also act as a generalist. Everyone will add value. And as a team, we’ll get something DONE.
This is your opportunity to see agile development in practice, and to bridge the gap between what agilists say and what teams do. And it’s not as new or as difficult as you think – affinity between testers, BA’s, coders, and other team members has really been at the root of effective development practices all along. Let’s just finally acknowledge that it works, demonstrate its capabilities, and encourage it going forward.
This IS agile development.
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...XebiaLabs
There’s no mistaking how important initiatives like DevOps and Continuous Delivery have become to organizations seeking to gain a competitive edge. But without the right metrics, enterprises that have adopted DevOps or Continuous Delivery strategies have no way of measuring their effectiveness in the context of their digital transformation goals. So what are the right measures that can answer questions like “are we getting better at delivering high-quality software faster and at scale?” and “has all this effort been worth it?!”
Learn ways to better measure the processes and output of your DevOps and Continuous Delivery transformation.
You'll also learn:
How to identify the best metrics for various stakeholders in your software development lifecycle
How to measure and demonstrate the business value and effectiveness of DevOps and Continuous Delivery processes and programs
How to address some of the challenges along your process that these metrics and KPI's may reveal
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
Lessons learned from a large enterprise mobility roll-out project for an Asset Management and maintenance workforce. Managing User expectations, testing tools, gotcha areas and what we did about them. Presentation from Mastering SAP Technology conference 2015.
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
There has been a lot of hullabaloo over the past few years around a concept called “DevOps.” The idea is that we need to break down the barriers between development and operations teams, and treat infrastructure as code, in order to move towards better software, more reliable and scalable systems, and continuous deployment.
For some of us who have been around a while, this is just a new label for something we’ve always done.
They say those that don’t learn from history are destined to repeat it. In this talk, we will look back at how the DevOps movement evolved, what it advocates, what it doesn’t address, and what you should take away from the movement that will help you in your professional life. We will also use this opportunity to look back over the past decade or two of system administration, and see how our challenges have changed, and how they have remained the same.
One of the values of the Agile manifesto is working software over comprehensive documentation. However many agile teams think that now we are Agile we don’t need to document. Come to this session to learn about lightweight documentation and how to strike a sensible balance between working software and documentation. Learn which documents are necessary and which documents you can do without as well. Learn about JIT lightweight alternatives to our tradition documentation set. Leave with specific techniques to evaluate the value of each document along with recommended alternatives.
Pre-Conference Course: UX and Agile: Making a Great Experience - UXPA International
In this tutorial for experienced practitioners you will learn how to manage work and make great experiences one sprint at a time. We'll look at common Agile methodologies such as Scrum and Kanban and what opportunities and risks are inherent for UX teams. We will look at team makeup, balancing longer-term research with production needs and strategies for making the most of design spikes. We'll also go through the pros and cons of a Sprint Zero and alternatives. Participants will come away with the tools they need to be successful in their Agile environment
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
Today, we are hearing a lot talking about digital company but many of those same companies are forgetting what is a digital company. Back to basics, It's simply a company dealing with IT projects. So, here is my lessons learnt regarding 'How to deliver successfull IT projects' from my 15 years spent as an IT project manager and my 5 years spent as a Lean & Agile coach.
In the world of agile, there is theory and then there is practice. We like to talk about self-organizing teams, asynchronous execution, BDD, TDD, and emergent architecture. We also talk about cross-functional teams: how analysts, testers, architects, technical writers, and UX designers belong on the same team, right next to programmers. It all sounds nice in theory, but how does this work in reality? What do these people actually do? How do they interact? What does it look like? Is there really a pragmatic way to make this work?
In this simulation, a cross-functional team will actually build a piece of software. Every specialist will have a hand in the process. Every specialist will also act as a generalist. Everyone will add value. And as a team, we’ll get something DONE.
This is your opportunity to see agile development in practice, and to bridge the gap between what agilists say and what teams do. And it’s not as new or as difficult as you think – affinity between testers, BA’s, coders, and other team members has really been at the root of effective development practices all along. Let’s just finally acknowledge that it works, demonstrate its capabilities, and encourage it going forward.
This IS agile development.
DevOps by the Numbers - How to Approach the Measurement and Metrics of Your C...XebiaLabs
There’s no mistaking how important initiatives like DevOps and Continuous Delivery have become to organizations seeking to gain a competitive edge. But without the right metrics, enterprises that have adopted DevOps or Continuous Delivery strategies have no way of measuring their effectiveness in the context of their digital transformation goals. So what are the right measures that can answer questions like “are we getting better at delivering high-quality software faster and at scale?” and “has all this effort been worth it?!”
Learn ways to better measure the processes and output of your DevOps and Continuous Delivery transformation.
You'll also learn:
How to identify the best metrics for various stakeholders in your software development lifecycle
How to measure and demonstrate the business value and effectiveness of DevOps and Continuous Delivery processes and programs
How to address some of the challenges along your process that these metrics and KPI's may reveal
2015 Mastering SAP Tech - Enterprise Mobility - Testing Lessons LearnedEneko Jon Bilbao
Lessons learned from a large enterprise mobility roll-out project for an Asset Management and maintenance workforce. Managing User expectations, testing tools, gotcha areas and what we did about them. Presentation from Mastering SAP Technology conference 2015.
The first part of this presentation is a situational assessment of typical challenges in IT project delivery using the SCRAP (Situation, Complication, Resolution, Action, Proof) model. This is essentially a business case for Agile. So if you are looking for ways to get buy-in for Agile, this is the place to be.
The second part of this presentation shows you what Agile is from 50,000 ft. From this high up, we'll be covering the essential elements from a business and management perspective. We'll cover what Agile is, what it does, how it works and what it achieves.
If you are interested in learning or communicating the value of Agile, then this is the presentation for you!
Please email me if you would like a download.
Fifteen Years of DevOps -- LISA 2012 keynoteGeoff Halprin
There has been a lot of hullabaloo over the past few years around a concept called “DevOps.” The idea is that we need to break down the barriers between development and operations teams, and treat infrastructure as code, in order to move towards better software, more reliable and scalable systems, and continuous deployment.
For some of us who have been around a while, this is just a new label for something we’ve always done.
They say those that don’t learn from history are destined to repeat it. In this talk, we will look back at how the DevOps movement evolved, what it advocates, what it doesn’t address, and what you should take away from the movement that will help you in your professional life. We will also use this opportunity to look back over the past decade or two of system administration, and see how our challenges have changed, and how they have remained the same.
One of the values of the Agile manifesto is working software over comprehensive documentation. However many agile teams think that now we are Agile we don’t need to document. Come to this session to learn about lightweight documentation and how to strike a sensible balance between working software and documentation. Learn which documents are necessary and which documents you can do without as well. Learn about JIT lightweight alternatives to our tradition documentation set. Leave with specific techniques to evaluate the value of each document along with recommended alternatives.
Pre-Conference Course: UX and Agile: Making a Great Experience - UXPA International
In this tutorial for experienced practitioners you will learn how to manage work and make great experiences one sprint at a time. We'll look at common Agile methodologies such as Scrum and Kanban and what opportunities and risks are inherent for UX teams. We will look at team makeup, balancing longer-term research with production needs and strategies for making the most of design spikes. We'll also go through the pros and cons of a Sprint Zero and alternatives. Participants will come away with the tools they need to be successful in their Agile environment
To successfully deliver your IT project: build your team, build your Agile it...Jean-François Nguyen
Today, we are hearing a lot talking about digital company but many of those same companies are forgetting what is a digital company. Back to basics, It's simply a company dealing with IT projects. So, here is my lessons learnt regarding 'How to deliver successfull IT projects' from my 15 years spent as an IT project manager and my 5 years spent as a Lean & Agile coach.
The process of building and deploying software can be tedious, difficult, and problem-prone. Even more challenging is building a continuous integration and delivery platform that can be flexible and adaptive to your agile software teams. Take a sneak peek into how Dude Solutions revamped and replaced their entire continuous integration and delivery process with a brand new environment and toolset in just under 3 months! We will share our experiences: the good, the bad, and the ugly.
Agility via Software Engineering Practices - Agile Tour Montreal 2015Steve Mercier
A presentation given to Agile Tour Montreal 2015 about how you can attain better Agility by applying software development practices helping to correct typical issues with Agile methodologies.
We will go over the motivations for wix.com R&D to move to a CI/CD/TDD model, how the model was implemented and the impact on Wix R&D. We will cover the tools used (developed in-house and 3rd party), change in methodologies, what we have learned during the transformation and the unexpected change in working with product and the rest of the company.
Presented in the Continuous Delivery track at DevOps Con Israel 2013
Simon White, Marks and Spencer Group DevOps Manager discusses the disconnect between traditional SQA & Agile approaches and how DevOps can be perceived as the ‘mature Agile’ model.
La Continuous Delivery è una metodologia all’avanguardia nei processi di sviluppo software. Tuttavia, l’elevato numero di incidenti e di istanze di inattività del database sono causate da processi non aggiornati, dalla riscrittura del codice e da altri disturbi del database. Attraverso l’automazione del Database è possibile evitare questi disturbi ed errori.
Visualizza le slide del webinar.
6 ways DevOps helped PrepSportswear move from monolith to microservicesDynatrace
Like a lot of online businesses today, PrepSportswear’s success is 100% dependent on the availability, scalability and performance of their digital online services. If the website is down, the business stops. They knew they had to transform their business from that of a retailer with a website to a high caliber IT company that sells products online.
In these webinar slides, Richard Dominguez, PrepSportswear’s Developer in Operations, shares their journey. They transformed from a team operating a monolithic app using waterfall development methodology on an old, hard to maintain code base, to a modern IT organization applying new practices from Agile development, DevOps and a Service-Oriented Architectural approach.
The Impact? PrepSportswear’s Most Successful Online Holiday Shopping Season in Company History! Join us to:
Learn how to identify if you are running a monolithic application that is dragging you down.
Get tips on hiring the right people to inject a DevOps cultural mindset into your organization.
Understand how to break the monolith into smaller pieces that support key lines of business.
Discover where to automate monitoring into your pipeline and platform.
Identify metrics for individual stakeholders (dev vs. test vs. business).
Go forward, celebrate, learn from, and repeat success!
Richard will be joined by Andreas Grabner, Performance Advocate at Dynatrace who will support why monitoring, application and end user metrics have to be a key part of your own transformation!
Richard Dominguez has 9+ years’ experience as both a System Analyst and Software Developer in Test. He has worked on many high profile projects in Microsoft such as Hyper-V, Windows 7 Client Performance, and Windows Phone Services. Richard now works at PrepSportswear as the company’s DevOps engineer. His responsibilities include site reliability, external synthetic testing, release management and overall site performance.
Andreas Grabner has 15+ years’ experience as an architect and developer in the Java and .NET space. In his current role, Andi works as an advocate for high performing applications in both the development and operations areas. He is a regular expert and contributor to large performance communities, a frequent speaker at technology conferences and regularly publishes articles blogs on blog.dynatrace.com
This talk will demo one threat modeling methodology and how an engineering team is appending it to their Secure Software Development Life Cycle. The goal is to create a single platform for communicating architectural risk and planning mitigations within sprints. This will not only address security concerns sooner in a product's lifecycle but establish a trusting relationship between engineering and security teams. As an ever-evolving space, to reduce risk and deploy products to market, this is one additional step any software-focused team can quickly adapt to their practices.
Building a successful DevOps solution requires a holistic view of your development ecosystem plus solid technology that can support your organization today and in the future. Learn how to start defining your own successful DevOps solution and how to position Helix to be at the center of it all.
State of continuous delivery in 2015 - Minsk 15-5-2015Pavel Chunyayev
The presentation gives high-level overview of most important aspects of implementing Continuous Delivery comparing CD with Agile, DevOps and Lean software development.
Continuous Integration and Quality DevelopmentGareth Davies
A talk that covers Continuous Integration, Continuous Development & Continuous Deployment, Development Workflow, Quality as a Mind-set, Agile Methodology including Scrum and how it all comes together including tools that can help.
Delivered as a Code Lab at Google DevFest Georgetown 2015.
Maruthi Prithivirajan, Head of ASEAN & IN Solution Architecture, Neo4j
Get an inside look at the latest Neo4j innovations that enable relationship-driven intelligence at scale. Learn more about the newest cloud integrations and product enhancements that make Neo4j an essential choice for developers building apps with interconnected data and generative AI.
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
In the rapidly evolving landscape of technologies, XML continues to play a vital role in structuring, storing, and transporting data across diverse systems. The recent advancements in artificial intelligence (AI) present new methodologies for enhancing XML development workflows, introducing efficiency, automation, and intelligent capabilities. This presentation will outline the scope and perspective of utilizing AI in XML development. The potential benefits and the possible pitfalls will be highlighted, providing a balanced view of the subject.
We will explore the capabilities of AI in understanding XML markup languages and autonomously creating structured XML content. Additionally, we will examine the capacity of AI to enrich plain text with appropriate XML markup. Practical examples and methodological guidelines will be provided to elucidate how AI can be effectively prompted to interpret and generate accurate XML markup.
Further emphasis will be placed on the role of AI in developing XSLT, or schemas such as XSD and Schematron. We will address the techniques and strategies adopted to create prompts for generating code, explaining code, or refactoring the code, and the results achieved.
The discussion will extend to how AI can be used to transform XML content. In particular, the focus will be on the use of AI XPath extension functions in XSLT, Schematron, Schematron Quick Fixes, or for XML content refactoring.
The presentation aims to deliver a comprehensive overview of AI usage in XML development, providing attendees with the necessary knowledge to make informed decisions. Whether you’re at the early stages of adopting AI or considering integrating it in advanced XML development, this presentation will cover all levels of expertise.
By highlighting the potential advantages and challenges of integrating AI with XML development tools and languages, the presentation seeks to inspire thoughtful conversation around the future of XML development. We’ll not only delve into the technical aspects of AI-powered XML development but also discuss practical implications and possible future directions.
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!SOFTTECHHUB
As the digital landscape continually evolves, operating systems play a critical role in shaping user experiences and productivity. The launch of Nitrux Linux 3.5.0 marks a significant milestone, offering a robust alternative to traditional systems such as Windows 11. This article delves into the essence of Nitrux Linux 3.5.0, exploring its unique features, advantages, and how it stands as a compelling choice for both casual users and tech enthusiasts.
Threats to mobile devices are more prevalent and increasing in scope and complexity. Users of mobile devices desire to take full advantage of the features
available on those devices, but many of the features provide convenience and capability but sacrifice security. This best practices guide outlines steps the users can take to better protect personal devices and information.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...Neo4j
Leonard Jayamohan, Partner & Generative AI Lead, Deloitte
This keynote will reveal how Deloitte leverages Neo4j’s graph power for groundbreaking digital twin solutions, achieving a staggering 100x performance boost. Discover the essential role knowledge graphs play in successful generative AI implementations. Plus, get an exclusive look at an innovative Neo4j + Generative AI solution Deloitte is developing in-house.
In his public lecture, Christian Timmerer provides insights into the fascinating history of video streaming, starting from its humble beginnings before YouTube to the groundbreaking technologies that now dominate platforms like Netflix and ORF ON. Timmerer also presents provocative contributions of his own that have significantly influenced the industry. He concludes by looking at future challenges and invites the audience to join in a discussion.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
3. Agenda
• What is Continuous Delivery?
• I thought I knew CI, Agile, Quality and DevOps!
• Continuous development, integration and the ability to continuously release
– The CD Pipeline
• Key aspects and players
• What’s my role in CD and why should I care?
• Work, Gamified!
• CD Tools, Products and Solutions out there!
• Wrap-up: Case Studies, What’s Virtusa doing on CD?
• Coming up next…
3
5. The Big Question - What does it take to get a
feature/hotfix/patch to your customer?
• What’s involved in doing a release?
• How long does it take?
• How many steps are involved?
• How successful is the process?
• How often do you do them?
• Do you have “heroes”?
• What would happen if a particular environment disappeared/melted down?
• Do your environments match?
• How quickly can you build an environment?
• How hard is it to do a patch? A major release?
5
8. Continuous Delivery
• Continuous Delivery is a software development discipline where
you build software in such a way that the software can be
released to production at any time.
• Your software is deployable throughout its lifecycle
• Your team prioritizes keeping the software deployable over working on
new features
• Anybody can get fast, automated feedback on the production readiness of
their systems any time somebody makes a change to them
• You can perform push-button deployments of any version of the software
to any environment on demand
Martin Fowler - http://martinfowler.com/bliki/ContinuousDelivery.html
8
9. I thought I knew CI, Agile, Quality and
DevOps!
11. Audience Poll - 1
Who drives Continuous integration and
delivery in your project?
•DEV
•Operations
11
12. Audience Poll - 2
On average how frequently are changes integrated
into the release branch/trunk? (not the developer
feature/promo/task branch, but the main code line
from which a release candidate is built)
•daily
•weekly
•with each sprint
•only once feature development is complete
12
13. Audience Poll - 3
What latent code strategies have you used
within the last 12 months?
•None...SCM feature branching
•Hidden code
•Abstraction
•Feature toggles
13
14. Audience Poll - 4
Merge problems?
•None – We don’t do multiple releases and our single
release process has minimal merges whatsoever
•We don’t do multiple releases but our single release
process has merge issues
•Multiple releases – Merge issues
•Automated Merge process using SCM Streams and CI
automation
14
15. Quick Case Study
Etsy (Online retailer):
22+ million members
800,000+ active shops
18+ million items currently for sale
400+ employees
Business Problem - Our site is so successful, how
can we move fast enough to keep up with feature
demand?
15
24. Etsy - Continuous Deployment Math!
• N = # of deploys
• P = probability of site degradation
• S = average severity of degradation
• T = time to detect/resolve
Expected Downtime = N*P*S*T
24
25. Etsy - Release!!!
N = # of deploys
S = avg. severity of degradation
ED = Expected Downtime
P = prob. of degradation
T = time to detect/resolve
Before CD
N=1
P = 0.5
S = 0.7
T = 100
After CD
N = 250
P = 0.1
S = 0.05
T=5
E.D = 35
E.D = 6.25
25
*Arbitrary Numbers
29. Design
3 inevitabilities we design for:
• Things break, unexpectedly
• What we’re building changes
• We don’t get to start over
29
30. Architectural Principles
Don’t bet against the future.
Our customers are humans.
Simplicity always wins, in the end.
Ambiguity kills momentum.
Make failure cheap.
Technical debt is an inevitable by-product of
shipping code.
Optimize for change.
30
33. Continuous Integration (Build Pipeline)
•
•
•
•
•
•
•
•
Check-in Daily
Make Code Self Testing
Commit to Trunk
Automate the Build
Keep the Build Fast
Every Commit results in Build/Validate
Test in Clone of Production
Automate Deployments
33
35. Testing Recommendations
• Automated Acceptance Tests
•
•
•
•
•
Fast Feedback
Reduce Tester workload
Testers can do Exploratory Testing
Regression Tests
Requirements can be generated from Tests
• Acceptance Test Approaches
• Acceptance Test Driven Development (ATDD)
• Behavior Driven Development (BDD)
Given [some precondition] When [some event] Then [some result]
35
42. Gamified development!
• Gamifying (Agile) Development –
• Stories, Narratives, Spikes
• Project initiation (iteration 0), technology discovery thru games
• Hackathons
• Gamify feature development [motivation, social, engaged, velocity, quality]
• Develop from Cradle to Grave – rewards for tdd, automation from dev to prod (making life easier,
process improvements)
• Progress, Rules and Social impact–
• TDD (rules), Kanban (visual), CI build monitors, Card Wall (visual)
• Socialize – Yammer, Project Dashboards, Leaderboard (Jenkins CI Game Plugin)
42
43. Metrics and Rewards!
• An integrated view of the development efficiency can be derived from usual metrics all along • SVN Metrics
• JIRA Metrics
• Code review metrics
• CI Metrics
• Deployment Metrics
• Automated unit/acceptance test metrics
• Is there a tool (or a set of tools integrated) that pulls out and then co-relates this information to
derive meaningful metrics?
43
45. Metrics and Rewards…
Description
Reward Points
Check-in and build passes (with unit tests)
1
One or more unit tests failed
-10
Compiler error (come on now)
-20
Big check-in caused build to remain in a broken
state for hours
-40
Code review (complexity, re-use, leaks, copypaste)
-40
OthersJIRA metrics
Stack Exchange like metrics (Forums, QnA, tech discovery)
Continuous Improvement metrics (e.g. Maven build – time, accuracy, adherence to standards, Deployment
Engine metrics)
Jenkins - https://wiki.jenkins-ci.org/display/JENKINS/The+Continuous+Integration+Game+plugin
45
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
Key Pain Points: Painful releasesInability to predict delivery affecting business commitments Deployment to environmentsCode quality Environment configuration & management Expensive, time consuming manual QA (unable to build lab) -Partial Agile implementation (Scrum but no technical processes)
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013 Delivery vs. Release •Delivery: integrated, passing all stages of pipeline validation •Release: accessible by customers and market •Deliver continuously, release when business decides •Requires latent code strategy (inherently latent code, abstraction, feature toggles, etc.)
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
Throwing Code off the wall - QA testing and Deployment
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
“Software development providers can’t deliver new services at the rate business leaders want” - Forrester Consulting “Continuous Delivery: A Maturity Assessment Model”, March 2013
Discuss – CIAgileQualityDevOps
Complex systems and change Distributed systems are inherently complex. The outcome of change in complex systems is hard to predict.The outcome of small, frequent, measurable changes are easier to predict, easier to recover from, and promote learning
CD is more difficult to achieve in large, enterprise organizations due to unique challenges; some of them are – - Scale of parallel activity- Complexity of software and environment - Variance in skills/experience of teams/individuals across the organization - Variance in the ability to integrate “work in progress” across the organization - Often no CI across team boundaries
Best Practices - Extreme Programming (XP)Fail a Build for Design BreachesFail a Build for Slow TestsFail a Build for Warnings & Code Style BreachesBuild Pipeline Practices –Build Once, Deploy ManyDeploy the Same Way to All EnvironmentsSmoke Test your DeploymentsDeploy into a Copy of ProductionEach Change should Propagate InstantlyIf any part fails, Stop the line
Use Appropriate Technology – In-House Vs. External Deployment automation productsApp deployment - Scripting Approaches Jenkins driven deployment Script logs (ssh) into each box and runs deployment commands Script runs locally, each remote machine has deployment agent to execute script Package app using platform’s packaging technology (rpm, gems) and use infrastructure management tools to push new versions App syncs-up with an online store and automatically pulls latest updates (artifacts, db, properties)Database DeploymentsVersion your DatabaseEvolve Your Database Incrementally41Environment ManagementVersion your Application ConfigurationVersion your Operating System42
CD is more difficult to achieve in large, enterprise organizations due to unique challenges; some of them are – - Scale of parallel activity- Complexity of software and environment - Variance in skills/experience of teams/individuals across the organization - Variance in the ability to integrate “work in progress” across the organization - Often no CI across team boundaries
Why should we gamify work? Adapt work for incoming, younger workforce Intrinsic rewards are renewable resource Develop leadership in teams More-satisfying work = better productivity Develops people by pointing them forward to clear goals Fosters teamwork and accountability Key to greater innovation (through imagination)
Dangers- You can’t just spawn a new project after failing Could depersonalize rather than personalize No one game can please all Gaming and misuse of metricsApproach-Take an agile approach (Increment, Iterate, Improve) Focus on the intrinsic first (extrinsic will come) Voluntary participation Give control and teams design their own games (and fail) Lightweight, both in implementation and tone (i.e., fun)
The Development Game
Jenkins CI Game Plugin –-10 points for breaking a build0 points for breaking a build that already was broken+1 points for doing a build with no failures (unstable builds gives no points)-1 points for each new test failures+1 points for each new test that passeshttp://www.badgeville.com/products/gamificationhttp://www.redcrittertracker.com/