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

UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計Masahiko Nakamura
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -Takehito Gondo
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...Electronic Arts / DICE
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Stefano Stabellini
 
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games JapanGTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games JapanGame Tools & Middleware Forum
 
UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!com044
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesBryan Duggan
 
5G for onboard racing car video
5G for onboard racing car video5G for onboard racing car video
5G for onboard racing car videoKieran Kunhya
 
게임 기획과 Oop
게임 기획과 Oop게임 기획과 Oop
게임 기획과 Oopsnugdc
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめShun Sasaki
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game ArchitectureAmin Babadi
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Johan Andersson
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~エピック・ゲームズ・ジャパン Epic Games Japan
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들영욱 오
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...エピック・ゲームズ・ジャパン Epic Games Japan
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Linaro
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!エピック・ゲームズ・ジャパン Epic Games Japan
 

What's hot (20)

UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
 
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
ガルガンチュア on Oculus Quest - 72FPSへの挑戦 -
 
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
A Certain Slant of Light - Past, Present and Future Challenges of Global Illu...
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games JapanGTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan
GTMF2016:Unreal Engine 4を利用した先進的なゲーム制作手法 The Unreal Way 2016 Epic Games Japan
 
UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!UE4 Volumetric Fogで 空間を演出する!
UE4 Volumetric Fogで 空間を演出する!
 
【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について【UE4.25 新機能】ロードの高速化機能「IOStore」について
【UE4.25 新機能】ロードの高速化機能「IOStore」について
 
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
[CEDEC2018] UE4で多数のキャラクターを生かすためのテクニック
 
Scene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game EnginesScene Graphs & Component Based Game Engines
Scene Graphs & Component Based Game Engines
 
5G for onboard racing car video
5G for onboard racing car video5G for onboard racing car video
5G for onboard racing car video
 
게임 기획과 Oop
게임 기획과 Oop게임 기획과 Oop
게임 기획과 Oop
 
UnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめUnrealBuildTool勉強会まとめ
UnrealBuildTool勉強会まとめ
 
06. Game Architecture
06. Game Architecture06. Game Architecture
06. Game Architecture
 
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
Parallel Graphics in Frostbite - Current & Future (Siggraph 2009)
 
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
UE4のライティング解体新書~効果的なNPRのためにライティングの仕組みを理解しよう~
 
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
NDC2017 언리얼엔진4 디버깅 101 - 게임 기획자, 프로그래머가 버그와 만났을 때 사용할 수 있는 지침들
 
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...  そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
そう、UE4ならね。あなたのモバイルゲームをより快適にする沢山の冴えたやり方について Part 2 <Texture Streaming, メモリプロ...
 
Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_Trusted firmware deep_dive_v1.0_
Trusted firmware deep_dive_v1.0_
 
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DDUE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
UE4 MultiPlayer Online Deep Dive 実践編2 (ソレイユ株式会社様ご講演) #UE4DD
 
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
徹底解説!UE4を使ったモバイルゲーム開発におけるコンテンツアップデートの極意!
 

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

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxAnnaArtyushina1
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 

Recently uploaded (20)

OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 

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