Download - A True Story of Why QA Loves DevOps
CONNECT WITH US: IT: Customized to Your Advantage
A True Story of Why QA Loves DevOps
Greg Hodgkinson Director, Lifecycle Tools and
Methodology
Public | Copyright © 2014 Prolifics
CONNECT WITH US:
Hello! Introductions
Me: Greg Hodgkinson
• Director for Lifecycle Tools and Methodology
• Optimize project delivery: Best combination of earlier, better, cheaper, more.
• CBD, Agile, SOA, DevOps
Public | Copyright © 2014 Prolifics 2
CONNECT WITH US:
Hello! Introductions
My Company: Prolifics
• Global Technology Solutions Provider
• IT: Customized to Your Advantage
• Technology Solutions:
Public | Copyright © 2014 Prolifics 3
• Business Process Management
• Enterprise Security
• Infrastructure Optimization
• Digital Experiences
• SOA and Integration
• Decision Management
• Enterprise Content
Management
• Managed Services
• Quality Assurance and Testing
• Information Management and
Analytics
• Managed Services
CONNECT WITH US:
Why is Continuous Delivery Important?
4
Your team’s success is based on a single thing:
Their ability to deliver new features
•at a pace
•and with a quality
that keeps up with the needs of the business.
Why is it important?
•Marketplace differentiation
•Successful business operation
•Generating new revenues
Continuous Delivery has a hugely positive business impact!
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Continuous Delivery - How? = DevOps!
DevOps has emerged as the way to achieve goals of Continuous Delivery.
It does so by:
• Removing the barriers between Dev and Ops teams,
• Shortening lead times, and
• Improving quality feedback loops.
5 Public | Copyright © 2015 Prolifics
CONNECT WITH US:
QA is an integral part of the workflow!
QA has profound ties to DevOps:
• QA is the first consumer and also cares about the lead time.
• The Wall of Confusion is as big an issue to QA (What is ready? Where is it?)
• QA is a fundamental part of the feedback loop.
DevOps Makes QA Departments Happy!
QA
DevTestOps
6 Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Our Case Study – How DevOps Keeps Taylor Swift Happy
7
DevOps ?!
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Background: How Musicians Make Their Money
8
Album Sales Concerts Merchandising Airplays*
*But only for songwriters!
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Introducing Broadcast Music Inc. (BMI)
9
Airplays Royalties
Broadcast Music Inc.
BMI detects “airplays” of music, and charges and distributes the royalties due to the songwriters.
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Challenge: Fast Changing Marketplace
10
Vibrant
music
marketplace
IT
Innovation
Software
delivery
Pace of change in marketplace means…
Increased need for innovation meaning…
Increased pace of delivery for IT
Call to action:
Set up the platforms, processes and tools to allow them to keep pace
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Success: BMI Transformation
Over the last 4 years, the program has fundamentally changed BMI’s ability to innovate!
Three pillars:
New Approaches New Runtime Platforms New Development Tools
IBM BPM
IBM WebSphere Portal
IBM ODM
WebSphere DataPower
IBM Integration Bus
WebSphere ESB
IBM CastIron
IBM DataStage
Oracle
IBM WSRR
Focal Point
DOORS NG
Rational Software Arch.
Rational Team Concert
Rational Quality Mgr.
IBM UrbanCode Deploy
11
SOA
BPM
Agile
DevOps
Test
Automation
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
In order to reduce lead-time, identified and targeted key bottlenecks in end-to-end process.
DevOps
Removing Constraints Reduces Lead Times
12
Test Automation
Planning
Bottleneck
Requirements
Bottleneck
Integration
Bottleneck
Provisioning
Bottleneck
Deployment
Bottleneck
Testing
Bottleneck
Agile
SOA
BPM
Collaboration
Bottleneck
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
BMI Pain: Planning, Requirements and Collaboration Bottleneck
13
The Situation
• Heavy-weight requirements documents
• Lengthy waterfall project lifecycles
• Project management by static .mpp plan
• Silo teams and email communications
The Effect
•World has changed by the time solution is in use
•Hard to apply lessons learnt during project
•Poor visibility of progress
•Project communications embedded in emails
•Teams don’t collaborate well
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
BMI Pain: Integration and Deployment Bottleneck
Public | Copyright © 2015 Prolifics 14
The Situation
• Developers are independently deploying code to environments
The Effect
•Causes integration issues as components may be incompatible
•Hard to recreate a deployment
•No audit
•Distraction for developers – waste of time!
•Delays to get a new release
CONNECT WITH US:
BMI Pain: Provisioning Bottleneck
15
The Situation
• Requests to infrastructure team to manually provision environments
The Effect
•Long (“loooonnngg”) lead times for new environments
•Slow to respond to required changes
•Hard to reliably move infrastructure changes through pipeline of environments
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
BMI Pain: Testing Bottleneck
16
The Situation
• Small testing team available to test a large amount of functionality
• Testing windows always seem to get compressed
The Effect
• Poor test coverage
• Often have to rush through tests
• Productivity not what it should be (at no fault of testers)
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Agile: Iterative Development with Scrum
17
Intent: Focus on delivering working code in small, iterative cycles, continuously prioritized by the business, using light-weight but “tight” requirements contracts.
How?
Capture requirements in user stories (with acceptance criteria), delivered by cross-functional teams in sprints, working with close product owner involvement.
Why? (for QA)
1.Requirements are more testable – better for QA to test against.
2.Testers more effective embedded alongside development activities.
3.Testers better able to provide feedback that influences future direction.
Story Name
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
DevOps: Automated Build, Continuous Integration
18
Intent: Do a “clean build” of code whenever a developer delivers changes related to that code.
How?
Centralized source control with scheduled, automated builds.
Why? (for QA)
1.Weeds out issues that otherwise prevent testers from getting a new release e.g. missing compilation dependencies.
2.Testers always have a new “good” release to call on when they are ready.
3.Having a build repository allows you to easily rollback to previous builds if testers realize the current build has fatal flaws.
deliver
changes
build
notifications
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
DevOps: Automated Deploy, Continuous Deployment
19
Intent: Testers automatically get new releases deployed for them, provided they pass quality gates.
How?
Nightly automated deploys from release snapshots, controlled by quality gates.
Why? (for QA)
1.Remove human delays – automation doesn’t get distracted so testers get changes sooner.
2.Testers get fixes more quickly if they can raise defects earlier.
3.Weeds out deployment issues that otherwise prevent testers from getting a new release e.g. missing runtime dependencies.
green light build
deploy
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
How?
Use full-stack environment provisioning solution to author and provision environments.
Why? (for QA)
1. More testing environments available as infrastructure is shared better.
2. Drastic reduction in delays on getting a new test environment.
3. Better turnaround on designing and testing out a new environment.
DevOps: Automated Provisioning, Continuous Provisioning
20
Intent: Have push-button automated test environment provisioning, based on infrastructure “gold standards”.
Provision
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
DevOps: Automated Tests, Continuous Quality
21
Intent: Automatically regression test every deployment before the testers get hands-on.
How?
Deliver automated test packs to source control alongside code, and automatically execute after successful automated build and deploy cycles.
Why? (for QA)
1. Allows testers to focus on higher value testing, immediately.
2. Increases test coverage by testers therefore improving quality.
3. Hugely increases value and importance of automated tests created by testers.
TEST
Environment
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Agile
deploy
Provision
DevOps
Test Automation
Continuous
Integration AutomatedProvisioning
Continuous Deployment
Continuous Quality
Summary: Free-Flow Innovation
22
SOA
BPM
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Agile
deploy
DevOps
Test Automation
Continuous
Integration Automated Provisioning
Continuous Deployment
Continuous Quality
Summary: Tools to Support Innovation
23
SOA
BPM
Rational Team Concert UrbanCode
Deploy UCD with
Patterns
Testing
Tools
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Ergo: Happy BMI, Happy Taylor!
24
Thank you for listening.
Any questions or comments to share?
Broadcast Music Inc.
1 Build Engineer achieves the workload of 6-8 people!
Frees up between 8,000 and 12,000 hours a year!
Went from tens of deploys a month to
hundreds (with potential to spare).
Public | Copyright © 2015 Prolifics
CONNECT WITH US:
Contact US
25
www.prolifics.com
+1 646 435 2470
Public | Copyright © 2015 Prolifics