SlideShare una empresa de Scribd logo
1 de 37
Coordinating Change and Release Management in Games Development Gordon Milligan QA and Release Manager Realtime Worlds
Intro Change control from games perspective Case study discussing our initial forays into change control for a large team Discuss what we learned A further case study on how we work now
Who are we? Software technology company in entertainment sector Based in Dundee, Scotland Largest independent games company in Scotland Approximately 300 staff
Change Control “process of managing, and controlling, how a product is changed” Michael E. Bays
Change Control Considerations Build changes  Test changes Review changes Quality Risk
Maintaining Quality: Stability Continuous Integration Daily smoke test at a minimum Full regression passes Targeted feature testing Automated Testing
Maintaining Quality: Overall Continuous Review Designers Artists Producers Creative directors
Risk Analyse risk of changes and likely impact Highlight concerns to developers, producers, etc. Attempt to make developers aware of the risk of their changes
Evolution of Change Processes Initially we were naive Lack of understanding of the issue Size of team was bigger than any of us had worked on Hit many problems: no real control Educated ourselves and continued to review and evolve or change processes
Development Team Make Up ~55 % Software Engineers ~20 % Artists ~20 % Level/Script Designers ~5% Production
Daily Build is Life Blood ...for non-programmers Relied on to allow artists/designers to receive new code, design & art content Allows non-coders to develop their content against recent changes Provides buffer against bleeding edge
Crackdown Approach
Compunding Problems ,[object Object],Long build verification turnaround 70 people working on same codeline == continuous churn Constant changes to common files Productivity loss through broken builds
Process Changes Introduced stringent check-in process Could take 2-3 hours all in (or much longer on occasion)
Example Check-in Process Build data & code Blow up car Drive car  Kill NPC Complete mission X Etc.
Process Changes Introduced stringent check-in process Could take 2-3 hours all in (or much longer on occasion) Analysed and improved build verification speed on build servers
Reaction to Changes Less check-ins so code would change underneath feature development Also code/data sat on dev machines for longer so issues hidden Friday afternoon became favoured check-in time Coders loathed submitting changes
Further Process Changes Restricted times when check-ins could happen Created check-in queue (FIFO)
Problems Change submission bottleneck Whose next in queue? Coders not checking in regularly enough so always seeing BIG CUMULATIVE changes Major breakages of build and resultant loss of prodctivity
Crackdown: Lessons Learned Say NO to... Large # devs submitting change to same location Long build verification cycles (if possible) Allowing developers to check-in code without review
Main thing I learned... Trade Off Make check-ins easy and less restrictive V Maintain a stable product at all times
Project X Consists of multiple SCRUM teams working on separate areas Mixture of industry veterans through to new graduates Have a measured approach to quality Similar team make-up to previous project
Development Process Alterations Introduced buddy check-in process to share knowledge/responsibility & reduce risk Use unit, integration and higher level automated testing In addition to black box testing Code leads (& QA) meet most mornings
Development Process Alterations Mainline is no longer a development codelineand is owned by QA Used to consolidate features SCRUM teams each have own development codeline which they own Allows bugs to be found early and code to mature
Development Process Challenges Educate developers on:  Benefits of branching In particular task & prototype branches to reduce risk How to use version control feature set Encourage regular short check-ins
Benefits of Current Setup Lightweight check-in process for team branches Allows quick change submission Changes submitted earlier and so have time to mature and for issues to be found SCRUM Masters own team branches
Benefits of Current Setup Strict policy for mainline integration helps to ensure its quality Rarely is it broken I have closer control of changes hitting mainline More time to review these and assess risk
Hurdles crossed during changes Resistance to methodology change Stakeholder buy in Educating developers on: Branching: when to, how to Using version control system features Communication
Summary Discussed types of changes & dependencies involved in game builds Talked in detail about the problems of trying to over control change Put forward a new strategy we have developed to control change
Tools Perforce  CI System CruiseControl.net Moving to Team City Jira: Feature tracking (with help of p4 jobs)
Resources Software Configuration Management Patterns Berczuk and Appleton Software Release Methodology  Michael E. Bays Practical Perforce Laura Wingerd

Más contenido relacionado

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 

Destacado

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Saba Software
 

Destacado (20)

Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 

Coordinating Change And Release Management In Games Development

  • 1. Coordinating Change and Release Management in Games Development Gordon Milligan QA and Release Manager Realtime Worlds
  • 2. Intro Change control from games perspective Case study discussing our initial forays into change control for a large team Discuss what we learned A further case study on how we work now
  • 3. Who are we? Software technology company in entertainment sector Based in Dundee, Scotland Largest independent games company in Scotland Approximately 300 staff
  • 4.
  • 5. Change Control “process of managing, and controlling, how a product is changed” Michael E. Bays
  • 6. Change Control Considerations Build changes Test changes Review changes Quality Risk
  • 7. Maintaining Quality: Stability Continuous Integration Daily smoke test at a minimum Full regression passes Targeted feature testing Automated Testing
  • 8. Maintaining Quality: Overall Continuous Review Designers Artists Producers Creative directors
  • 9. Risk Analyse risk of changes and likely impact Highlight concerns to developers, producers, etc. Attempt to make developers aware of the risk of their changes
  • 10. Evolution of Change Processes Initially we were naive Lack of understanding of the issue Size of team was bigger than any of us had worked on Hit many problems: no real control Educated ourselves and continued to review and evolve or change processes
  • 11. Development Team Make Up ~55 % Software Engineers ~20 % Artists ~20 % Level/Script Designers ~5% Production
  • 12.
  • 13.
  • 14.
  • 15. Daily Build is Life Blood ...for non-programmers Relied on to allow artists/designers to receive new code, design & art content Allows non-coders to develop their content against recent changes Provides buffer against bleeding edge
  • 17.
  • 18. Process Changes Introduced stringent check-in process Could take 2-3 hours all in (or much longer on occasion)
  • 19. Example Check-in Process Build data & code Blow up car Drive car Kill NPC Complete mission X Etc.
  • 20. Process Changes Introduced stringent check-in process Could take 2-3 hours all in (or much longer on occasion) Analysed and improved build verification speed on build servers
  • 21. Reaction to Changes Less check-ins so code would change underneath feature development Also code/data sat on dev machines for longer so issues hidden Friday afternoon became favoured check-in time Coders loathed submitting changes
  • 22. Further Process Changes Restricted times when check-ins could happen Created check-in queue (FIFO)
  • 23. Problems Change submission bottleneck Whose next in queue? Coders not checking in regularly enough so always seeing BIG CUMULATIVE changes Major breakages of build and resultant loss of prodctivity
  • 24. Crackdown: Lessons Learned Say NO to... Large # devs submitting change to same location Long build verification cycles (if possible) Allowing developers to check-in code without review
  • 25. Main thing I learned... Trade Off Make check-ins easy and less restrictive V Maintain a stable product at all times
  • 26. Project X Consists of multiple SCRUM teams working on separate areas Mixture of industry veterans through to new graduates Have a measured approach to quality Similar team make-up to previous project
  • 27. Development Process Alterations Introduced buddy check-in process to share knowledge/responsibility & reduce risk Use unit, integration and higher level automated testing In addition to black box testing Code leads (& QA) meet most mornings
  • 28. Development Process Alterations Mainline is no longer a development codelineand is owned by QA Used to consolidate features SCRUM teams each have own development codeline which they own Allows bugs to be found early and code to mature
  • 29.
  • 30. Development Process Challenges Educate developers on: Benefits of branching In particular task & prototype branches to reduce risk How to use version control feature set Encourage regular short check-ins
  • 31. Benefits of Current Setup Lightweight check-in process for team branches Allows quick change submission Changes submitted earlier and so have time to mature and for issues to be found SCRUM Masters own team branches
  • 32. Benefits of Current Setup Strict policy for mainline integration helps to ensure its quality Rarely is it broken I have closer control of changes hitting mainline More time to review these and assess risk
  • 33. Hurdles crossed during changes Resistance to methodology change Stakeholder buy in Educating developers on: Branching: when to, how to Using version control system features Communication
  • 34. Summary Discussed types of changes & dependencies involved in game builds Talked in detail about the problems of trying to over control change Put forward a new strategy we have developed to control change
  • 35. Tools Perforce CI System CruiseControl.net Moving to Team City Jira: Feature tracking (with help of p4 jobs)
  • 36.
  • 37. Resources Software Configuration Management Patterns Berczuk and Appleton Software Release Methodology  Michael E. Bays Practical Perforce Laura Wingerd