SlideShare a Scribd company logo
1 of 30
Download to read offline
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?

More Related Content

What's hot

Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기YEONG-CHEON YOU
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hostingiFunFactory Inc.
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architectureJongwon Kim
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche DevopsRomain Chalumeau
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
 
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Vietnam Open Infrastructure User Group
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!エピック・ゲームズ・ジャパン Epic Games Japan
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerZaranTech LLC
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]DeNA
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버Heungsub Lee
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조Hyunjik Bae
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPSeungmo Koo
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to dockerJohn Willis
 

What's hot (20)

EOS On-boarding ~サンプルを動かしてみよう~
EOS On-boarding ~サンプルを動かしてみよう~EOS On-boarding ~サンプルを動かしてみよう~
EOS On-boarding ~サンプルを動かしてみよう~
 
Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기Azure로 MMO게임 서비스하기
Azure로 MMO게임 서비스하기
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting게임서버 구축 방법비교 : GBaaS vs. Self-hosting
게임서버 구축 방법비교 : GBaaS vs. Self-hosting
 
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling-  (historia様ご講演)  #ue4ddUE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling-  (historia様ご講演)  #ue4dd
UE4 MultiPlayer Online Deep Dive 基礎編2 -Traveling- (historia様ご講演) #ue4dd
 
Next-generation MMORPG service architecture
Next-generation MMORPG service architectureNext-generation MMORPG service architecture
Next-generation MMORPG service architecture
 
Fortniteを支える技術
Fortniteを支える技術Fortniteを支える技術
Fortniteを支える技術
 
Introduction à la démarche Devops
Introduction à la démarche DevopsIntroduction à la démarche Devops
Introduction à la démarche Devops
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
 
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
[4.20版] UE4におけるLoadingとGCのProfilingと最適化手法
 
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
 
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
UE4のモバイル開発におけるコンテンツアップデートの話 - Chunk IDとの激闘編 -
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 
UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順UE4でPerforceと連携するための手順
UE4でPerforceと連携するための手順
 
Roles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps EngineerRoles and Responsibilities of a DevOps Engineer
Roles and Responsibilities of a DevOps Engineer
 
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
Unity 2018-2019を見据えたDeNAのUnity開発のこれから [DeNA TechCon 2019]
 
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
[야생의 땅: 듀랑고] 서버 아키텍처 - SPOF 없는 분산 MMORPG 서버
 
게임 분산 서버 구조
게임 분산 서버 구조게임 분산 서버 구조
게임 분산 서버 구조
 
Windows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCPWindows Registered I/O (RIO) vs IOCP
Windows Registered I/O (RIO) vs IOCP
 
Introduction to docker
Introduction to dockerIntroduction to docker
Introduction to docker
 

Similar to Branching Out: How To Automate Your Development Process

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationXPDays
 
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 successAdam 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 DevOpsPerforce
 
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 youAmbientia
 
DevOps Challenges and Version Control
DevOps Challenges and Version ControlDevOps Challenges and Version Control
DevOps Challenges and Version ControlPerforce
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to productionVadym 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 FedorovSoftServe
 
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 CodeSteve 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 DevOpsMoataz Mahmoud
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOpsEklove Mohan
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesPerforce
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOpsRachel Maxwell
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile developmentPerforce
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringWeaveworks
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream AgileCollabNet
 
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
 

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

Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
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?
 
An introduction to DevOps
An introduction to DevOpsAn introduction to DevOps
An introduction to DevOps
 
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
 
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
 
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
 
DevOps Challenges and Version Control
DevOps Challenges and Version ControlDevOps Challenges and Version Control
DevOps Challenges and Version Control
 
From the sandbox to production
From the sandbox to productionFrom the sandbox to production
From the sandbox to production
 
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
 
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
 
Devops
DevopsDevops
Devops
 
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
 
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
 
Preparing for DevOps
Preparing for DevOpsPreparing for DevOps
Preparing for DevOps
 
Unlocking Faster Product Development Cycles
Unlocking Faster Product Development CyclesUnlocking Faster Product Development Cycles
Unlocking Faster Product Development Cycles
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
 
Pain points of agile development
Pain points of agile developmentPain points of agile development
Pain points of agile development
 
Six Signs You Need Platform Engineering
Six Signs You Need Platform EngineeringSix Signs You Need Platform Engineering
Six Signs You Need Platform Engineering
 
Linking Upstream and Downstream Agile
Linking Upstream and Downstream AgileLinking Upstream and Downstream Agile
Linking Upstream and Downstream Agile
 
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...
 

More from 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 NeedsPerforce
 
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 SOPsPerforce
 
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 WorkflowPerforce
 
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 WorldPerforce
 
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 EnterprisePerforce
 
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 ALMPerforce
 
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 2Perforce
 
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.4Perforce
 
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 2019Perforce
 

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
 
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...
 
Understanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPsUnderstanding Compliant Workflow Enforcement SOPs
Understanding Compliant Workflow Enforcement SOPs
 
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
 
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
 
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
 
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
 
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
 
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
 
How To Master Your Mega Backlog
How To Master Your Mega Backlog How To Master Your Mega Backlog
How To Master Your Mega Backlog
 
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...
 
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
 
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
 
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 ...
 
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
 
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
 
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
 
Code Quality Management Best Practices
Code Quality Management Best Practices Code Quality Management Best Practices
Code Quality Management Best Practices
 
Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level Scale Kanban Beyond Team Level
Scale Kanban Beyond Team Level
 
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
 

Recently uploaded

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Developmentvyaparkranti
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 

Recently uploaded (20)

VK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web DevelopmentVK Business Profile - provides IT solutions and Web Development
VK Business Profile - provides IT solutions and Web Development
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 

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….