SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Dernier

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Dernier (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

En vedette

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)contently
 
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 2024Albert Qian
 
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 InsightsKurio // The Social Media Age(ncy)
 
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 2024Search Engine Journal
 
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 summarySpeakerHub
 
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 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 Tessa Mero
 
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 IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
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 managementMindGenius
 
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...RachelPearson36
 
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...Applitools
 
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 WorkGetSmarter
 
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...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
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 wellSaba Software
 

En vedette (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