SlideShare a Scribd company logo
Brad Hart, VCS Chief Technology Officer
Brent Schiestl, Senior Product Manager
perforce.com2 | Perforce © Perforce Software, Inc.
Confidentiality Statement
The information contained in this document is strictly confidential, privileged, and
only for the information of the intended recipient. The information contained in this
document may not be otherwise used, disclosed, copied, altered, or distributed
without the prior written consent of Perforce Software, Inc.
perforce.com3 | Perforce © Perforce Software, Inc.
Your Presenters
Brad Hart
VCS Chief Technology Officer
Brent Schiestl
Sr. Product Management
perforce.com4 | Perforce © Perforce Software, Inc.
How to Automate Your Development Process
1
2
3
4
Challenges Managing Branches
What Is Streams?
Streams Use Cases
Questions
Challenges Managing Branches
perforce.com6 | Perforce © Perforce Software, Inc.
Branching and Merging at Scale
• All development processes follow one or more “patterns.”
• Parallel development supports:
• Multiple teams, multiple releases, lots of users.
• Feature based development.
• Some have names, like GitFlow.
• All development patterns are managed with branching, merging, and tagging.
• For many teams, it is NOT automated. Challenges include:
• Prone to errors.
• Hard to learn/ remember. Often documented on a whiteboard!
• Many companies write scripts to manage.
• Costly to maintain.
• These issues are amplified as teams scale.
• Merge conflicts, failed builds, drawn out releases.
What Is Streams?
perforce.com8 | Perforce © Perforce Software, Inc.
Design and Automate Development
• Streams is how teams branch and merge in
Helix Core — version control by Perforce.
• Streams help you:
• Automate YOUR desired development process.
• Track branch to branch relationships.
• Visualize development in the Stream Graph.
• Minimize merge conflicts.
• Streamline your build process.
• No more scripts to write, nothing to
remember, less ERRORS!
• Streams supports complex development
processes while reducing bottlenecks and
accelerating teams.
Streams Use Cases
perforce.com10 | Perforce © Perforce Software, Inc.
When to Use Streams? Do You Have….
Component Based
Development
• How many components and
microservices do you have?
How many products use these?
• How many repositories do you
need to manage?
• Are your components shared
across multiple products?
• How do you bring these
components together?
Development Pipeline/Maturity
Model/Shift Left
• Is your organization currently
looking to shift-left?
• Are you having quality issues in
production?
• Have you had regressions make
it into production?
• When are bugs typically found
in the development process?
Multiple Teams, Releases, and
Variants
• How large are your teams?
• How many teams work on a
given product?
• How are your teams defined?
• Do you have to support
multiple slightly different
versions of the same product?
• How do you merge changes
across versions?
Streams can help you automate more and solve challenges, no matter your development method.
Component Based Development
perforce.com12 | Perforce © Perforce Software, Inc.
• Component Based Development (CBD) includes:
• Shared code.
• Common code.
• Microservices
• Producer/Consumer.
• CBD creates building blocks.
• Each “block” is worked on independently.
• “Blocks” are put together to create larger blocks.
• Larger groups of blocks are put together to create systems.
• Think of an automotive assembly line…
Component Based Development
+ +
=
+ +
=
perforce.com13 | Perforce © Perforce Software, Inc.
• CBD can have 100s to 10,000s of components.
• Difficult to keep track of all the dependencies.
• Late integration testing can lead to massive schedule delays and
defects.
• Propagating component defect fixes to all larger building blocks is
a monumental task and very often manual.
• You can create heavy-weight scripted layers on top of the VCS.
These solutions are:
• Painful to update.
• Costly to maintain.
• Not flexible.
• Quickly out-of-date.
Component Based Development Challenges
perforce.com14 | Perforce © Perforce Software, Inc.
• With Streams, all components are managed
independently and graphically.
• New versions of a component can be easily
tested just like code changes!
• Configurations are fully versioned giving
ultimate traceability.
• Simplifies developer experience.
• No need for external scripting for fewer:
• Mistakes.
• Regressions.
• Incorrect product configs.
• Delayed releases.
Component Based Development + Streams
Product is built from desired
version of each component.
perforce.com15 | Perforce © Perforce Software, Inc.
• Enterprises looking to modernize need a way to:
• Maintain legacy code.
• Improve performance and quality.
• Break up monolith structures.
• Integrate with CI/CD tool.
• Helix Core mitigates organizational risk, giving you time to slowly
move to CBD.
• Migrate your legacy monolith and implement CBD for new projects.
Streams Supports Monolith >> CBD
Existing Monolith à
Easiest, risk free path to components/microservices
Immediate performance and velocity improvement
STREAMS
Development Pipeline/Maturity Model/Shift Left
perforce.com17 | Perforce © Perforce Software, Inc.
• The later a defect is found, the more expensive it is to fix.
• Rework due to late stage defect detection chokes velocity.
• Mixing immature code with mature code creates havoc .
• Teams often need to send the “everyone stop checking in code so we can
get a clean build to QA” email.
• Shift-Left = Finding defects early in CI and testing.
• Keeping immature code separate from mature code streamlines the
development pipeline and keeps it running
• Ex: A bad checkin from a developer won’t break the build QA is testing.
Development Pipeline/Maturity Model/Shift Left
perforce.com18 | Perforce © Perforce Software, Inc.
Development Pipeline Challenges
New Functionality
(Innovation)
PLAN CODE BUILD TEST RUN
bugs
Users
User experience
Bug fix backlog slows
down teams.
Bug fixes – unplanned work
(found in QA or Production)
bottlenecks
$$$$
$$$
$
Focus on quality too late in SDLC
impacts cost and velocity.
Gaps in digital test coverage
impacts user experience, brand, and adoption.
perforce.com19 | Perforce © Perforce Software, Inc.
P1P1 P2 P1 P2 P3+ + +
Unit/Validate/Debug
CI - Smoke Scheduled Nightly NF UAT
Unit/Validate/Debug
Unit/Validate/Debug Production
Trigger
Feedback
Time
Pre-commit
Manually / On demand
Few minutes
Per-commit
Automatically
< 5-10 minutes
Every 3-4 Hours
Automatically
Nightly
Automatically
3-4 Hours 1 Day
24/7
Automatically
< 5 minutes
Nightly
Automatically
1 Day
Security
Performance
Devs
Test
Coverage
perforce.com20 | Perforce © Perforce Software, Inc.
Shift Left +
Streams
Dev Workspace
Code is fully tested before a person
reviews the changes.
Dev CI stream provides fast
feedback to the developer.
Test Streams provide
isolated environments for
automated testing, which
won’t be polluted with bad
checkins.
Less Stable
• With Streams, your teams can:
• Easily separate immature code
from mature code.
• Get faster feedback.
• Find defects earlier to help
avoid costly development
delays.
More Stable
Multiple Teams, Releases, and Variants
perforce.com22 | Perforce © Perforce Software, Inc.
• Companies with large, complex products often have:
• Multiple component teams.
• Feature teams.
• Front end/backend/API/database teams.
• Organizing and orchestrating the work of multiple teams, whose changes are interdependent is difficult.
• Often there is limited visibility into what everyone is working on and how it is connected.
• Teams defer integration and integration testing as it is too difficult.
• Waiting until the end causes delays in production, massive rework, and quality issues.
• Much like “merge early, merge often” is a best practices within a team, “integrate early, integrate often”
is a best practice across teams.
• This is very difficult unless you have the right VCS and process.
Multiple Teams
perforce.com23 | Perforce © Perforce Software, Inc.
Challenges for Multiple Teams
Backend API
E2E / Integration Pre-prod Production
Team A
Team B
Integration
Integration
Integration
• Late integration can cause ”Release Tail.”
• Need to test pre & post integration to quickly
identify of root cause of failure.
• Without a single unified platform, your
feedback loop can loose speed.
perforce.com24 | Perforce © Perforce Software, Inc.
Multiple Teams + Streams
API Teams Grouped Together
• Easy to see how teams relate
to one another.
• Encourages integration
EARLY.
• Automates the separation
and then integration of
multiple teams.
• Easily see when changes are
ready to integrate from one
team to another.
perforce.com25 | Perforce © Perforce Software, Inc.
• If you are supporting multiple product releases, you have a lot to support.
• This means bug fixes across multiple versions.
• For example, (4 major releases per year + 8 minor releases per year) * 3 years support
= 36 releases to support!
• Patching defects across multiple releases is very difficult.
• Which releases do you need to patch?
• What branch(es) do you need to patch into?
• How do you avoid regressions in future releases?
• Patching is often done manually due to VCS limitations.
• ZERO traceability .
• Highly resource intensive.
Parallel Releases
perforce.com26 | Perforce © Perforce Software, Inc.
• Streams allows you to visualize
all your releases and see how
they are connected.
• More easily propagate bug
fixes.
• Maintain releases with higher
quality.
Parallel Releases + Streams
perforce.com27 | Perforce © Perforce Software, Inc.
Multiple Variants
• Companies often need to produce slightly different versions of a given product.
• Most of the code is the same.
• Each variant differs.
• Fix or new feature code must be propagated across variant products.
• This could involve hundreds of variants.
• They must be maintained and tested each time a change is made to the base code.
• Propagating changes across variants has the same problems as supporting multiple parallel releases.
• Hard to determine where the changes need to go.
• Manual process to perform and verify the merge.
• Managing multiple variants can be costly and the stakes are extremely high.
16 GB 32 GB 64 GB 128 GB 256 GB
perforce.com28 | Perforce © Perforce Software, Inc.
Multiple Variants + Streams
Stream contains
base/common code for
all flash drives.
Stream inherits base/common code from
“flash” stream. It contains all the specific
code needed for the 128GB version.
With Streams, you always know where
code should flow. It is easy to see what
releases need changes and updates!
perforce.com29 | Perforce © Perforce Software, Inc.
• AUTOMATE any development process.
• Implement FLEXIBLE workflows.
• Maintain CONTROL.
• SIMPLIFY complex environments.
Start increasing your teams’ velocity and improving code quality.
With Streams, You Can….
Questions?
Ad

More Related Content

What's hot (20)

.NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10).NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10)
Alex Pshul
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Hassan Muhammad
 
Low code development platform
Low code development platform Low code development platform
Low code development platform
madisonsmith415303
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
Kris Buytaert
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개
SungTae Moon
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
Jirayut Nimsaeng
 
Code review
Code reviewCode review
Code review
dqpi
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
TechWell
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Matthew David
 
강좌 개요
강좌 개요강좌 개요
강좌 개요
chcbaram
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
Edureka!
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
Amit Rawat
 
내가써본 nGrinder-SpringCamp 2015
내가써본 nGrinder-SpringCamp 2015내가써본 nGrinder-SpringCamp 2015
내가써본 nGrinder-SpringCamp 2015
Lim SungHyun
 
Continuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQubeContinuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQube
Emre Dündar
 
Track code quality with SonarQube
Track code quality with SonarQubeTrack code quality with SonarQube
Track code quality with SonarQube
Dmytro Patserkovskyi
 
SonarQube Presentation.pptx
SonarQube Presentation.pptxSonarQube Presentation.pptx
SonarQube Presentation.pptx
Satwik Bhupathi Raju
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
Mohamed Taman
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 
letswift22_권은빈_비전공자 개발자로 살아남기.pdf
letswift22_권은빈_비전공자 개발자로 살아남기.pdfletswift22_권은빈_비전공자 개발자로 살아남기.pdf
letswift22_권은빈_비전공자 개발자로 살아남기.pdf
ssuserf55636
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 
.NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10).NET MAUI with .NET 6 (December 2021, Preview 10)
.NET MAUI with .NET 6 (December 2021, Preview 10)
Alex Pshul
 
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Cypress e2e automation testing -  day1 intor by: Hassan HameedCypress e2e automation testing -  day1 intor by: Hassan Hameed
Cypress e2e automation testing - day1 intor by: Hassan Hameed
Hassan Muhammad
 
Low code development platform
Low code development platform Low code development platform
Low code development platform
madisonsmith415303
 
Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.Devops, the future is here, it's just not evenly distributed yet.
Devops, the future is here, it's just not evenly distributed yet.
Kris Buytaert
 
오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개오픈소스 기반 비행제어컴퓨터 PX4 소개
오픈소스 기반 비행제어컴퓨터 PX4 소개
SungTae Moon
 
Code review
Code reviewCode review
Code review
dqpi
 
Integrating Automated Testing into DevOps
Integrating Automated Testing into DevOpsIntegrating Automated Testing into DevOps
Integrating Automated Testing into DevOps
TechWell
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
Matthew David
 
강좌 개요
강좌 개요강좌 개요
강좌 개요
chcbaram
 
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
What is Continuous Integration? | Continuous Integration with Jenkins | DevOp...
Edureka!
 
Test Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & ToolsTest Automation Frameworks: Assumptions, Concepts & Tools
Test Automation Frameworks: Assumptions, Concepts & Tools
Amit Rawat
 
내가써본 nGrinder-SpringCamp 2015
내가써본 nGrinder-SpringCamp 2015내가써본 nGrinder-SpringCamp 2015
내가써본 nGrinder-SpringCamp 2015
Lim SungHyun
 
Continuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQubeContinuous Inspection of Code Quality: SonarQube
Continuous Inspection of Code Quality: SonarQube
Emre Dündar
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
Mohamed Taman
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 
letswift22_권은빈_비전공자 개발자로 살아남기.pdf
letswift22_권은빈_비전공자 개발자로 살아남기.pdfletswift22_권은빈_비전공자 개발자로 살아남기.pdf
letswift22_권은빈_비전공자 개발자로 살아남기.pdf
ssuserf55636
 
Leveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the EnterpriseLeveraging Azure DevOps across the Enterprise
Leveraging Azure DevOps across the Enterprise
Andrew Kelleher
 

Similar to Branching Out: How To Automate Your Development Process (20)

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
Adithya Krishnakant
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
DevOps Challenges and Version Control
DevOps Challenges and Version ControlDevOps Challenges and Version Control
DevOps Challenges and Version Control
Perforce
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
Vadym Fedorov
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
SoftServe
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Steve Mercier
 
Devops
DevopsDevops
Devops
Mauro Cossu
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
Ulf Mattsson
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development Cycles
Perforce
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
Rachel Maxwell
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile development
Perforce
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
Weaveworks
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
CollabNet
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?Should You Break Up With Your Monolith?
Should You Break Up With Your Monolith?
Perforce
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
Adam Stephensen
 
How to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOpsHow to Do Code Reviews at Massive Scale For DevOps
How to Do Code Reviews at Massive Scale For DevOps
Perforce
 
Making software development processes to work for you
Making software development processes to work for youMaking software development processes to work for you
Making software development processes to work for you
Ambientia
 
DevOps Challenges and Version Control
DevOps Challenges and Version ControlDevOps Challenges and Version Control
DevOps Challenges and Version Control
Perforce
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
Vadym Fedorov
 
From Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym FedorovFrom Sandbox to Production by Vadym Fedorov
From Sandbox to Production by Vadym Fedorov
SoftServe
 
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as CodeConfoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Confoo-Montreal-2016: Controlling Your Environments using Infrastructure as Code
Steve Mercier
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
Ulf Mattsson
 
Testing in the new age of DevOps
Testing in the new age of DevOpsTesting in the new age of DevOps
Testing in the new age of DevOps
Moataz Mahmoud
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
Eklove Mohan
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development Cycles
Perforce
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
Rachel Maxwell
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile development
Perforce
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
Weaveworks
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
CollabNet
 
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Efficient Security Development and Testing Using Dynamic and Static Code Anal...
Perforce
 
Ad

More from Perforce (20)

How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
Perforce
 
Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices
Perforce
 
Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level
Perforce
 
Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019
Perforce
 
How to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning NeedsHow to Organize Game Developers With Different Planning Needs
How to Organize Game Developers With Different Planning Needs
Perforce
 
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...Regulatory Traceability:  How to Maintain Compliance, Quality, and Cost Effic...
Regulatory Traceability: How to Maintain Compliance, Quality, and Cost Effic...
Perforce
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
Perforce
 
How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog How to Spark Joy In Your Product Backlog
How to Spark Joy In Your Product Backlog
Perforce
 
Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team Going Remote: Build Up Your Game Dev Team
Going Remote: Build Up Your Game Dev Team
Perforce
 
Shift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New WorkflowShift to Remote: How to Manage Your New Workflow
Shift to Remote: How to Manage Your New Workflow
Perforce
 
Hybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated WorldHybrid Development Methodology in a Regulated World
Hybrid Development Methodology in a Regulated World
Perforce
 
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the EnterpriseBetter, Faster, Easier: How to Make Git Really Work in the Enterprise
Better, Faster, Easier: How to Make Git Really Work in the Enterprise
Perforce
 
Easier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALMEasier Requirements Management Using Diagrams In Helix ALM
Easier Requirements Management Using Diagrams In Helix ALM
Perforce
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
Perforce
 
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Achieving Software Safety, Security, and Reliability Part 3: What Does the Fu...
Perforce
 
How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure How to Scale With Helix Core and Microsoft Azure
How to Scale With Helix Core and Microsoft Azure
Perforce
 
Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2Achieving Software Safety, Security, and Reliability Part 2
Achieving Software Safety, Security, and Reliability Part 2
Perforce
 
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Achieving Software Safety, Security, and Reliability Part 1: Common Industry ...
Perforce
 
What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4What's New in Helix ALM 2019.4
What's New in Helix ALM 2019.4
Perforce
 
Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison Free Yourself From the MS Office Prison
Free Yourself From the MS Office Prison
Perforce
 
5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis 5 Ways to Accelerate Standards Compliance with Static Code Analysis
5 Ways to Accelerate Standards Compliance with Static Code Analysis
Perforce
 
Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices
Perforce
 
Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level
Perforce
 
Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019Revealed: The State of Automotive Software Development in 2019
Revealed: The State of Automotive Software Development in 2019
Perforce
 
Ad

Recently uploaded (20)

Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 
Salesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdfSalesforce Aged Complex Org Revitalization Process .pdf
Salesforce Aged Complex Org Revitalization Process .pdf
SRINIVASARAO PUSULURI
 
Solidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license codeSolidworks Crack 2025 latest new + license code
Solidworks Crack 2025 latest new + license code
aneelaramzan63
 
Sales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptxSales Deck SentinelOne Singularity Platform.pptx
Sales Deck SentinelOne Singularity Platform.pptx
EliandoLawnote
 
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Exceptional Behaviors: How Frequently Are They Tested? (AST 2025)
Andre Hora
 
Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025Adobe After Effects Crack FREE FRESH version 2025
Adobe After Effects Crack FREE FRESH version 2025
kashifyounis067
 
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
How Valletta helped healthcare SaaS to transform QA and compliance to grow wi...
Egor Kaleynik
 
Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]Get & Download Wondershare Filmora Crack Latest [2025]
Get & Download Wondershare Filmora Crack Latest [2025]
saniaaftab72555
 
Adobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install IllustratorAdobe Illustrator Crack | Free Download & Install Illustrator
Adobe Illustrator Crack | Free Download & Install Illustrator
usmanhidray
 
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Salesforce Data Cloud- Hyperscale data platform, built for Salesforce.
Dele Amefo
 
Download Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With LatestDownload Wondershare Filmora Crack [2025] With Latest
Download Wondershare Filmora Crack [2025] With Latest
tahirabibi60507
 
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
How to Batch Export Lotus Notes NSF Emails to Outlook PST Easily?
steaveroggers
 
Download YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full ActivatedDownload YouTube By Click 2025 Free Full Activated
Download YouTube By Click 2025 Free Full Activated
saniamalik72555
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Adobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest VersionAdobe Illustrator Crack FREE Download 2025 Latest Version
Adobe Illustrator Crack FREE Download 2025 Latest Version
kashifyounis067
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
Minitab 22 Full Crack Plus Product Key Free Download [Latest] 2025
wareshashahzadiii
 
FL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full VersionFL Studio Producer Edition Crack 2025 Full Version
FL Studio Producer Edition Crack 2025 Full Version
tahirabibi60507
 
EASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License CodeEASEUS Partition Master Crack + License Code
EASEUS Partition Master Crack + License Code
aneelaramzan63
 
Douwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License codeDouwan Crack 2025 new verson+ License code
Douwan Crack 2025 new verson+ License code
aneelaramzan63
 

Branching Out: How To Automate Your Development Process

  • 1. Brad Hart, VCS Chief Technology Officer Brent Schiestl, Senior Product Manager
  • 2. perforce.com2 | Perforce © Perforce Software, Inc. Confidentiality Statement The information contained in this document is strictly confidential, privileged, and only for the information of the intended recipient. The information contained in this document may not be otherwise used, disclosed, copied, altered, or distributed without the prior written consent of Perforce Software, Inc.
  • 3. perforce.com3 | Perforce © Perforce Software, Inc. Your Presenters Brad Hart VCS Chief Technology Officer Brent Schiestl Sr. Product Management
  • 4. perforce.com4 | Perforce © Perforce Software, Inc. How to Automate Your Development Process 1 2 3 4 Challenges Managing Branches What Is Streams? Streams Use Cases Questions
  • 6. perforce.com6 | Perforce © Perforce Software, Inc. Branching and Merging at Scale • All development processes follow one or more “patterns.” • Parallel development supports: • Multiple teams, multiple releases, lots of users. • Feature based development. • Some have names, like GitFlow. • All development patterns are managed with branching, merging, and tagging. • For many teams, it is NOT automated. Challenges include: • Prone to errors. • Hard to learn/ remember. Often documented on a whiteboard! • Many companies write scripts to manage. • Costly to maintain. • These issues are amplified as teams scale. • Merge conflicts, failed builds, drawn out releases.
  • 8. perforce.com8 | Perforce © Perforce Software, Inc. Design and Automate Development • Streams is how teams branch and merge in Helix Core — version control by Perforce. • Streams help you: • Automate YOUR desired development process. • Track branch to branch relationships. • Visualize development in the Stream Graph. • Minimize merge conflicts. • Streamline your build process. • No more scripts to write, nothing to remember, less ERRORS! • Streams supports complex development processes while reducing bottlenecks and accelerating teams.
  • 10. perforce.com10 | Perforce © Perforce Software, Inc. When to Use Streams? Do You Have…. Component Based Development • How many components and microservices do you have? How many products use these? • How many repositories do you need to manage? • Are your components shared across multiple products? • How do you bring these components together? Development Pipeline/Maturity Model/Shift Left • Is your organization currently looking to shift-left? • Are you having quality issues in production? • Have you had regressions make it into production? • When are bugs typically found in the development process? Multiple Teams, Releases, and Variants • How large are your teams? • How many teams work on a given product? • How are your teams defined? • Do you have to support multiple slightly different versions of the same product? • How do you merge changes across versions? Streams can help you automate more and solve challenges, no matter your development method.
  • 12. perforce.com12 | Perforce © Perforce Software, Inc. • Component Based Development (CBD) includes: • Shared code. • Common code. • Microservices • Producer/Consumer. • CBD creates building blocks. • Each “block” is worked on independently. • “Blocks” are put together to create larger blocks. • Larger groups of blocks are put together to create systems. • Think of an automotive assembly line… Component Based Development + + = + + =
  • 13. perforce.com13 | Perforce © Perforce Software, Inc. • CBD can have 100s to 10,000s of components. • Difficult to keep track of all the dependencies. • Late integration testing can lead to massive schedule delays and defects. • Propagating component defect fixes to all larger building blocks is a monumental task and very often manual. • You can create heavy-weight scripted layers on top of the VCS. These solutions are: • Painful to update. • Costly to maintain. • Not flexible. • Quickly out-of-date. Component Based Development Challenges
  • 14. perforce.com14 | Perforce © Perforce Software, Inc. • With Streams, all components are managed independently and graphically. • New versions of a component can be easily tested just like code changes! • Configurations are fully versioned giving ultimate traceability. • Simplifies developer experience. • No need for external scripting for fewer: • Mistakes. • Regressions. • Incorrect product configs. • Delayed releases. Component Based Development + Streams Product is built from desired version of each component.
  • 15. perforce.com15 | Perforce © Perforce Software, Inc. • Enterprises looking to modernize need a way to: • Maintain legacy code. • Improve performance and quality. • Break up monolith structures. • Integrate with CI/CD tool. • Helix Core mitigates organizational risk, giving you time to slowly move to CBD. • Migrate your legacy monolith and implement CBD for new projects. Streams Supports Monolith >> CBD Existing Monolith à Easiest, risk free path to components/microservices Immediate performance and velocity improvement STREAMS
  • 17. perforce.com17 | Perforce © Perforce Software, Inc. • The later a defect is found, the more expensive it is to fix. • Rework due to late stage defect detection chokes velocity. • Mixing immature code with mature code creates havoc . • Teams often need to send the “everyone stop checking in code so we can get a clean build to QA” email. • Shift-Left = Finding defects early in CI and testing. • Keeping immature code separate from mature code streamlines the development pipeline and keeps it running • Ex: A bad checkin from a developer won’t break the build QA is testing. Development Pipeline/Maturity Model/Shift Left
  • 18. perforce.com18 | Perforce © Perforce Software, Inc. Development Pipeline Challenges New Functionality (Innovation) PLAN CODE BUILD TEST RUN bugs Users User experience Bug fix backlog slows down teams. Bug fixes – unplanned work (found in QA or Production) bottlenecks $$$$ $$$ $ Focus on quality too late in SDLC impacts cost and velocity. Gaps in digital test coverage impacts user experience, brand, and adoption.
  • 19. perforce.com19 | Perforce © Perforce Software, Inc. P1P1 P2 P1 P2 P3+ + + Unit/Validate/Debug CI - Smoke Scheduled Nightly NF UAT Unit/Validate/Debug Unit/Validate/Debug Production Trigger Feedback Time Pre-commit Manually / On demand Few minutes Per-commit Automatically < 5-10 minutes Every 3-4 Hours Automatically Nightly Automatically 3-4 Hours 1 Day 24/7 Automatically < 5 minutes Nightly Automatically 1 Day Security Performance Devs Test Coverage
  • 20. perforce.com20 | Perforce © Perforce Software, Inc. Shift Left + Streams Dev Workspace Code is fully tested before a person reviews the changes. Dev CI stream provides fast feedback to the developer. Test Streams provide isolated environments for automated testing, which won’t be polluted with bad checkins. Less Stable • With Streams, your teams can: • Easily separate immature code from mature code. • Get faster feedback. • Find defects earlier to help avoid costly development delays. More Stable
  • 22. perforce.com22 | Perforce © Perforce Software, Inc. • Companies with large, complex products often have: • Multiple component teams. • Feature teams. • Front end/backend/API/database teams. • Organizing and orchestrating the work of multiple teams, whose changes are interdependent is difficult. • Often there is limited visibility into what everyone is working on and how it is connected. • Teams defer integration and integration testing as it is too difficult. • Waiting until the end causes delays in production, massive rework, and quality issues. • Much like “merge early, merge often” is a best practices within a team, “integrate early, integrate often” is a best practice across teams. • This is very difficult unless you have the right VCS and process. Multiple Teams
  • 23. perforce.com23 | Perforce © Perforce Software, Inc. Challenges for Multiple Teams Backend API E2E / Integration Pre-prod Production Team A Team B Integration Integration Integration • Late integration can cause ”Release Tail.” • Need to test pre & post integration to quickly identify of root cause of failure. • Without a single unified platform, your feedback loop can loose speed.
  • 24. perforce.com24 | Perforce © Perforce Software, Inc. Multiple Teams + Streams API Teams Grouped Together • Easy to see how teams relate to one another. • Encourages integration EARLY. • Automates the separation and then integration of multiple teams. • Easily see when changes are ready to integrate from one team to another.
  • 25. perforce.com25 | Perforce © Perforce Software, Inc. • If you are supporting multiple product releases, you have a lot to support. • This means bug fixes across multiple versions. • For example, (4 major releases per year + 8 minor releases per year) * 3 years support = 36 releases to support! • Patching defects across multiple releases is very difficult. • Which releases do you need to patch? • What branch(es) do you need to patch into? • How do you avoid regressions in future releases? • Patching is often done manually due to VCS limitations. • ZERO traceability . • Highly resource intensive. Parallel Releases
  • 26. perforce.com26 | Perforce © Perforce Software, Inc. • Streams allows you to visualize all your releases and see how they are connected. • More easily propagate bug fixes. • Maintain releases with higher quality. Parallel Releases + Streams
  • 27. perforce.com27 | Perforce © Perforce Software, Inc. Multiple Variants • Companies often need to produce slightly different versions of a given product. • Most of the code is the same. • Each variant differs. • Fix or new feature code must be propagated across variant products. • This could involve hundreds of variants. • They must be maintained and tested each time a change is made to the base code. • Propagating changes across variants has the same problems as supporting multiple parallel releases. • Hard to determine where the changes need to go. • Manual process to perform and verify the merge. • Managing multiple variants can be costly and the stakes are extremely high. 16 GB 32 GB 64 GB 128 GB 256 GB
  • 28. perforce.com28 | Perforce © Perforce Software, Inc. Multiple Variants + Streams Stream contains base/common code for all flash drives. Stream inherits base/common code from “flash” stream. It contains all the specific code needed for the 128GB version. With Streams, you always know where code should flow. It is easy to see what releases need changes and updates!
  • 29. perforce.com29 | Perforce © Perforce Software, Inc. • AUTOMATE any development process. • Implement FLEXIBLE workflows. • Maintain CONTROL. • SIMPLIFY complex environments. Start increasing your teams’ velocity and improving code quality. With Streams, You Can….