SlideShare una empresa de Scribd logo
1 de 36
Descargar para leer sin conexión
Working with people
   (and some technology that helps)

    matthew.landauer@rsp.com.au
         Rising Sun Pictures
•   #!/usr/bin/env ruby
    #
    # quot;Hello worldquot;

    puts quot;Hello Worldquot;
•   $ sudo cp helloworld /usr/local/bin
    $
What happens when you’re not working on your own?
Things get a whole lot more difficult and complicated
About Rising Sun Pictures


•   Australian visual effects
    company

•   Focus entirely on
    producing visual effects
    for feature films

•   Founded 13 years ago
About Rising Sun Pictures


•   Offices in Adelaide and
    Sydney

•   120 people

•   In the last five years
    the vast majority of
    our work has been for
    US clients
Version Control



•   At RSP we use Subversion for software version
    control
Version Control


•   Subversion (SVN)

    •   Central repository

    •   Tracks each change made by each person

    •   Supports branches
Version Control


•   We simply couldn’t function without it

•   There are too many people working on the same
    code

•   When something breaks, how else would we know
    what’s changed?
Commit often


•   Commit when you’ve made an “atomic” change

•   A general rule of thumb - you should be committing
    at the very least several times a day

•   Don’t commit something that breaks the unit tests
Commit comments

•   Tell people why you made a change. Remember the code
    tells people what you changed


•   Consider your words carefully and keep it brief

•   Include information about which bug/feature is being
    addressed

•   Example: “Log the latest history key-value entries to
    a seperate metadata file in version directory
    [PUBLISH-496]”
Bug tracking


•   We have more than 12000 bug/feature tickets in our
    system

•   More than 2000 of those are currently open

•   This is way too much for any person to keep in their
    head
Bug tracking



•   We use a commercial bug tracker called JIRA
    www.atlassian.com/software/jira/
Bug/version control integration
You’re asked to add a feature

• Things have changed since the last time you
  looked at the code
• Why were the changes made? Who made
  them? When were they done? Who was
  involved in the discussions about these new
  features?
• You simply couldn’t answer these questions
  easily unless version control and bug
  tracking fitted together
Getting releases out on time


• Agile
 • Short iterations of work
 • Estimate the work that goes into each
    release
 • Plan what goes into each release so that
    you can achieve your deadline
Getting releases out on time
Needs

•   RSP has about 200 software projects

•   Each project has around 10 versions deployed

•   RSP is working on six different movies at the
    moment spread across two offices

•   Each movie might be running a different version of
    each piece of software
Needs



Sounds like a recipe for chaos!
Needs

      Our solution:
    The “need” system
      For example:




•   $ need publish_3.6
Job environment



•   $ job bb

•   [bb|common|global]

•   $
Deployment

•   Builds applications on multiple architectures
    automatically

•   Only allows deployment when unit tests pass

•   Integrates with RSP’s “need” system

•   Every deployment happens in both Adelaide and
    Sydney

•   Versions the releases automatically

•   Notifies people of the new release by email
Deployment
The result


•   Once projects are set up they are very easy to
    deploy

•   Deployments are consistent

•   Fewer mistakes

•   Deploying new versions of software will never
    change anything for the user until they specifically
    request that new version
The Future



•   Open source bug tracking tools keeps getting better

•   Distributed version control is gathering momentum,
    especially in the open-source community.
Distributed version control


•   No central repository

•   When you a copy (“clone”) a repository it copies
    the entire history

•   You make all the commits to your local repository
    (on your own machine) - works even when there is
    no network. Great for working on the train!
Distributed version control



•   Mercurial - http://www.selenic.com/mercurial/

•   Git - http://git.or.cz (Also see Linus Torvalds Google
    Tech Talk - google “torvalds git”)
Distributed version control



  No need to give anyone “commit access”
Distributed version control



      For those working on “Earth”
       you’re going to be using git!
Distributed version control


Mary’s external repo          Jane’s external repo

          Push                          Push
                       Pull
    Mary’s repo                   Jane’s repo
What you’ve seen today

•   Some reasons why working in a team is harder than
    working on your own

•   Version control

•   Bug tracking

•   Automated software deployment

•   A bit about the future of version control
Questions?

Más contenido relacionado

La actualidad más candente

FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...Akshay Karle
 
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
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocolsVivek Parihar
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Kris Buytaert
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksThoughtworks
 
Scaling Up Continuous Deployment
Scaling Up Continuous DeploymentScaling Up Continuous Deployment
Scaling Up Continuous DeploymentTimothy Fitz
 
Saltconf16 william-cannon b
Saltconf16 william-cannon bSaltconf16 william-cannon b
Saltconf16 william-cannon bWilliam Cannon
 
Migrating to Microservices
Migrating to MicroservicesMigrating to Microservices
Migrating to MicroservicesBizTalk360
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgNicolas Mas
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentEero Laukkanen
 
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOpsDOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOpsGene Kim
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryJoost van der Griendt
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsSOASTA
 
Safe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and SpinnakerSafe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and SpinnakerMihnea Dobrescu-Balaur
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsLuca Minudel
 
Outsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignOutsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignPerforce
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deployThibaud Gravrand
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMatanGoren
 
Continuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksContinuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksa32an
 
Agile Incident Response and Resolution in the Wold of Devops
Agile Incident Response and Resolution in the Wold of DevopsAgile Incident Response and Resolution in the Wold of Devops
Agile Incident Response and Resolution in the Wold of DevopsAtlassian
 

La actualidad más candente (20)

FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...FISL 15: Continuously serving the OSS community with Continuous Integration a...
FISL 15: Continuously serving the OSS community with Continuous Integration a...
 
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
 
10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols10 Deployments a day - A brief on extreme release protocols
10 Deployments a day - A brief on extreme release protocols
 
Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?Devops, Secops, Opsec, DevSec *ops *.* ?
Devops, Secops, Opsec, DevSec *ops *.* ?
 
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorksPerformance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
Performance monitoring - Adoniram Mishra, Rupesh Dubey, ThoughtWorks
 
Scaling Up Continuous Deployment
Scaling Up Continuous DeploymentScaling Up Continuous Deployment
Scaling Up Continuous Deployment
 
Saltconf16 william-cannon b
Saltconf16 william-cannon bSaltconf16 william-cannon b
Saltconf16 william-cannon b
 
Migrating to Microservices
Migrating to MicroservicesMigrating to Microservices
Migrating to Microservices
 
DevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sgDevOps: Building by feature with immutable infrastructure at Serv.sg
DevOps: Building by feature with immutable infrastructure at Serv.sg
 
Continuous Integration, Delivery and Deployment
Continuous Integration, Delivery and DeploymentContinuous Integration, Delivery and Deployment
Continuous Integration, Delivery and Deployment
 
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOpsDOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
DOES SFO 2016 - Scott Willson - Top 10 Ways to Fail at DevOps
 
Flusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous DeliveryFlusso Continuous Integration & Continuous Delivery
Flusso Continuous Integration & Continuous Delivery
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Safe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and SpinnakerSafe deployments with Blue-Green and Spinnaker
Safe deployments with Blue-Green and Spinnaker
 
From Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOpsFrom Continuous Integration to Continuous Delivery and DevOps
From Continuous Integration to Continuous Delivery and DevOps
 
Outsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based DesignOutsmarting Merge Edge Cases in Component Based Design
Outsmarting Merge Edge Cases in Component Based Design
 
Smarter deployments with octopus deploy
Smarter deployments with octopus deploySmarter deployments with octopus deploy
Smarter deployments with octopus deploy
 
MyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing InfraMyHeritage - End 2 End testing Infra
MyHeritage - End 2 End testing Infra
 
Continuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risksContinuous delivery while minimizing performance risks
Continuous delivery while minimizing performance risks
 
Agile Incident Response and Resolution in the Wold of Devops
Agile Incident Response and Resolution in the Wold of DevopsAgile Incident Response and Resolution in the Wold of Devops
Agile Incident Response and Resolution in the Wold of Devops
 

Destacado

Working With People
Working With PeopleWorking With People
Working With PeopleSteve Wise
 
Nature of People and Nature of Organization
Nature of People and Nature of OrganizationNature of People and Nature of Organization
Nature of People and Nature of OrganizationJennifer De Julio
 
4 Approaches to Organizations and Management
4 Approaches to Organizations and Management4 Approaches to Organizations and Management
4 Approaches to Organizations and Managementjtaylorireland
 
Fundamentals of organizational behavior ppt
Fundamentals of organizational behavior pptFundamentals of organizational behavior ppt
Fundamentals of organizational behavior pptGiovanni Macahig
 
Organisational behavior
Organisational behavior Organisational behavior
Organisational behavior Payal Deep
 
Basic Concepts of Organisational Behaviour
Basic Concepts of Organisational BehaviourBasic Concepts of Organisational Behaviour
Basic Concepts of Organisational Behaviourmanishray
 
Approaches of management
Approaches of managementApproaches of management
Approaches of managementpallavmanglik
 

Destacado (9)

Working With People
Working With PeopleWorking With People
Working With People
 
Nature of People and Nature of Organization
Nature of People and Nature of OrganizationNature of People and Nature of Organization
Nature of People and Nature of Organization
 
4 Approaches to Organizations and Management
4 Approaches to Organizations and Management4 Approaches to Organizations and Management
4 Approaches to Organizations and Management
 
Working With People
Working With PeopleWorking With People
Working With People
 
Fundamentals of organizational behavior ppt
Fundamentals of organizational behavior pptFundamentals of organizational behavior ppt
Fundamentals of organizational behavior ppt
 
Organisational behavior
Organisational behavior Organisational behavior
Organisational behavior
 
Basic Concepts of Organisational Behaviour
Basic Concepts of Organisational BehaviourBasic Concepts of Organisational Behaviour
Basic Concepts of Organisational Behaviour
 
Approaches of management
Approaches of managementApproaches of management
Approaches of management
 
Chapter 1 Organizational Behaviour
Chapter 1  Organizational Behaviour Chapter 1  Organizational Behaviour
Chapter 1 Organizational Behaviour
 

Similar a Working With People Adl Uni

Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth PresentationLong Nguyen
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPIoannis Baltopoulos
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityAtlassian
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08kingsfleet
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Atlassian
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestDenim Group
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodeKris Buytaert
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremKris Buytaert
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulkedpc
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for TestersAdam Goucher
 
Deployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna MitchellDeployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna Mitchelldpc
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 NotesRoss Lawley
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...CAMT
 
DERP: Free Rosas
DERP: Free RosasDERP: Free Rosas
DERP: Free RosasFree Rosas
 
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016Guillermo A. Fisher
 
PHP Deployment With SVN
PHP Deployment With SVNPHP Deployment With SVN
PHP Deployment With SVNLorna Mitchell
 
Continuous Integration Step-by-step
Continuous Integration Step-by-stepContinuous Integration Step-by-step
Continuous Integration Step-by-stepMichelangelo van Dam
 

Similar a Working With People Adl Uni (20)

Just In Time Scalability Agile Methods To Support Massive Growth Presentation
Just In Time Scalability  Agile Methods To Support Massive Growth PresentationJust In Time Scalability  Agile Methods To Support Massive Growth Presentation
Just In Time Scalability Agile Methods To Support Massive Growth Presentation
 
The 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEPThe 7 Sins of Software Engineers in HEP
The 7 Sins of Software Engineers in HEP
 
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code QualityHigh-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
High-Octane Dev Teams: Three Things You Can Do To Improve Code Quality
 
How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08How the JDeveloper team test JDeveloper at UKOUG'08
How the JDeveloper team test JDeveloper at UKOUG'08
 
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
Peer Code Review: In a Nutshell and The Tantric Team: Getting Your Automated ...
 
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech FestStatic Analysis Techniques For Testing Application Security - Houston Tech Fest
Static Analysis Techniques For Testing Application Security - Houston Tech Fest
 
Getting It Done
Getting It DoneGetting It Done
Getting It Done
 
Pipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as CodePipeline as code for your infrastructure as Code
Pipeline as code for your infrastructure as Code
 
Magee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance ItalianoMagee Dday2 Fixing App Performance Italiano
Magee Dday2 Fixing App Performance Italiano
 
Deploying your SaaS stack OnPrem
Deploying your SaaS stack OnPremDeploying your SaaS stack OnPrem
Deploying your SaaS stack OnPrem
 
An Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord AulkeAn Infrastructure for Team Development - Gaylord Aulke
An Infrastructure for Team Development - Gaylord Aulke
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
Continuous integration at CartoDB
Continuous integration at CartoDBContinuous integration at CartoDB
Continuous integration at CartoDB
 
Deployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna MitchellDeployment With Subversion - Lorna Mitchell
Deployment With Subversion - Lorna Mitchell
 
Rails Conf Europe 2007 Notes
Rails Conf  Europe 2007  NotesRails Conf  Europe 2007  Notes
Rails Conf Europe 2007 Notes
 
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...The End of Data Entry: Liberate Your Organization Through Automation and Inte...
The End of Data Entry: Liberate Your Organization Through Automation and Inte...
 
DERP: Free Rosas
DERP: Free RosasDERP: Free Rosas
DERP: Free Rosas
 
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016PHP, AWS, and Sleep - Hampton Roads DevFest 2016
PHP, AWS, and Sleep - Hampton Roads DevFest 2016
 
PHP Deployment With SVN
PHP Deployment With SVNPHP Deployment With SVN
PHP Deployment With SVN
 
Continuous Integration Step-by-step
Continuous Integration Step-by-stepContinuous Integration Step-by-step
Continuous Integration Step-by-step
 

Más de Matthew Landauer

Poplus show and tell - Cuttlefish
Poplus show and tell - CuttlefishPoplus show and tell - Cuttlefish
Poplus show and tell - CuttlefishMatthew Landauer
 
Designing for a better world piece by little piece
Designing for a better world piece by little pieceDesigning for a better world piece by little piece
Designing for a better world piece by little pieceMatthew Landauer
 
Open Government and Right To Know
Open Government and Right To Know Open Government and Right To Know
Open Government and Right To Know Matthew Landauer
 
The Australia Centre for Social Innovation - Blue Sky Talk 2011
The Australia Centre for Social Innovation - Blue Sky Talk 2011The Australia Centre for Social Innovation - Blue Sky Talk 2011
The Australia Centre for Social Innovation - Blue Sky Talk 2011Matthew Landauer
 
OpenAustralia Hackfest Melbourne 2009
OpenAustralia Hackfest Melbourne 2009OpenAustralia Hackfest Melbourne 2009
OpenAustralia Hackfest Melbourne 2009Matthew Landauer
 
The Network at the Heart of Democracy
The Network at the Heart of DemocracyThe Network at the Heart of Democracy
The Network at the Heart of DemocracyMatthew Landauer
 
OpenAustralia.org’s experience with Open-source and content - a tiny case ...
OpenAustralia.org’s  experience with  Open-source and content -  a tiny case ...OpenAustralia.org’s  experience with  Open-source and content -  a tiny case ...
OpenAustralia.org’s experience with Open-source and content - a tiny case ...Matthew Landauer
 
OpenAustralia: making politics work better for everyone
OpenAustralia: making politics work better for everyoneOpenAustralia: making politics work better for everyone
OpenAustralia: making politics work better for everyoneMatthew Landauer
 

Más de Matthew Landauer (10)

Poplus show and tell - Cuttlefish
Poplus show and tell - CuttlefishPoplus show and tell - Cuttlefish
Poplus show and tell - Cuttlefish
 
Designing for a better world piece by little piece
Designing for a better world piece by little pieceDesigning for a better world piece by little piece
Designing for a better world piece by little piece
 
Open Government and Right To Know
Open Government and Right To Know Open Government and Right To Know
Open Government and Right To Know
 
The Australia Centre for Social Innovation - Blue Sky Talk 2011
The Australia Centre for Social Innovation - Blue Sky Talk 2011The Australia Centre for Social Innovation - Blue Sky Talk 2011
The Australia Centre for Social Innovation - Blue Sky Talk 2011
 
Do point oh!
Do point oh!Do point oh!
Do point oh!
 
OpenAustralia Hackfest Melbourne 2009
OpenAustralia Hackfest Melbourne 2009OpenAustralia Hackfest Melbourne 2009
OpenAustralia Hackfest Melbourne 2009
 
The Network at the Heart of Democracy
The Network at the Heart of DemocracyThe Network at the Heart of Democracy
The Network at the Heart of Democracy
 
Hacking OpenAustralia.org
Hacking OpenAustralia.orgHacking OpenAustralia.org
Hacking OpenAustralia.org
 
OpenAustralia.org’s experience with Open-source and content - a tiny case ...
OpenAustralia.org’s  experience with  Open-source and content -  a tiny case ...OpenAustralia.org’s  experience with  Open-source and content -  a tiny case ...
OpenAustralia.org’s experience with Open-source and content - a tiny case ...
 
OpenAustralia: making politics work better for everyone
OpenAustralia: making politics work better for everyoneOpenAustralia: making politics work better for everyone
OpenAustralia: making politics work better for everyone
 

Último

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
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
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
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Último (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
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
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
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)
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
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!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
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
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
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
 

Working With People Adl Uni

  • 1. Working with people (and some technology that helps) matthew.landauer@rsp.com.au Rising Sun Pictures
  • 2. #!/usr/bin/env ruby # # quot;Hello worldquot; puts quot;Hello Worldquot;
  • 3. $ sudo cp helloworld /usr/local/bin $
  • 4. What happens when you’re not working on your own?
  • 5. Things get a whole lot more difficult and complicated
  • 6. About Rising Sun Pictures • Australian visual effects company • Focus entirely on producing visual effects for feature films • Founded 13 years ago
  • 7. About Rising Sun Pictures • Offices in Adelaide and Sydney • 120 people • In the last five years the vast majority of our work has been for US clients
  • 8. Version Control • At RSP we use Subversion for software version control
  • 9. Version Control • Subversion (SVN) • Central repository • Tracks each change made by each person • Supports branches
  • 10. Version Control • We simply couldn’t function without it • There are too many people working on the same code • When something breaks, how else would we know what’s changed?
  • 11. Commit often • Commit when you’ve made an “atomic” change • A general rule of thumb - you should be committing at the very least several times a day • Don’t commit something that breaks the unit tests
  • 12. Commit comments • Tell people why you made a change. Remember the code tells people what you changed • Consider your words carefully and keep it brief • Include information about which bug/feature is being addressed • Example: “Log the latest history key-value entries to a seperate metadata file in version directory [PUBLISH-496]”
  • 13. Bug tracking • We have more than 12000 bug/feature tickets in our system • More than 2000 of those are currently open • This is way too much for any person to keep in their head
  • 14. Bug tracking • We use a commercial bug tracker called JIRA www.atlassian.com/software/jira/
  • 15.
  • 16.
  • 18.
  • 19. You’re asked to add a feature • Things have changed since the last time you looked at the code • Why were the changes made? Who made them? When were they done? Who was involved in the discussions about these new features? • You simply couldn’t answer these questions easily unless version control and bug tracking fitted together
  • 20. Getting releases out on time • Agile • Short iterations of work • Estimate the work that goes into each release • Plan what goes into each release so that you can achieve your deadline
  • 22. Needs • RSP has about 200 software projects • Each project has around 10 versions deployed • RSP is working on six different movies at the moment spread across two offices • Each movie might be running a different version of each piece of software
  • 23. Needs Sounds like a recipe for chaos!
  • 24. Needs Our solution: The “need” system For example: • $ need publish_3.6
  • 25. Job environment • $ job bb • [bb|common|global] • $
  • 26. Deployment • Builds applications on multiple architectures automatically • Only allows deployment when unit tests pass • Integrates with RSP’s “need” system • Every deployment happens in both Adelaide and Sydney • Versions the releases automatically • Notifies people of the new release by email
  • 28. The result • Once projects are set up they are very easy to deploy • Deployments are consistent • Fewer mistakes • Deploying new versions of software will never change anything for the user until they specifically request that new version
  • 29. The Future • Open source bug tracking tools keeps getting better • Distributed version control is gathering momentum, especially in the open-source community.
  • 30. Distributed version control • No central repository • When you a copy (“clone”) a repository it copies the entire history • You make all the commits to your local repository (on your own machine) - works even when there is no network. Great for working on the train!
  • 31. Distributed version control • Mercurial - http://www.selenic.com/mercurial/ • Git - http://git.or.cz (Also see Linus Torvalds Google Tech Talk - google “torvalds git”)
  • 32. Distributed version control No need to give anyone “commit access”
  • 33. Distributed version control For those working on “Earth” you’re going to be using git!
  • 34. Distributed version control Mary’s external repo Jane’s external repo Push Push Pull Mary’s repo Jane’s repo
  • 35. What you’ve seen today • Some reasons why working in a team is harder than working on your own • Version control • Bug tracking • Automated software deployment • A bit about the future of version control