SlideShare uma empresa Scribd logo
1 de 36
Baixar para ler offline
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?

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque

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
 

Destaque (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
 

Semelhante 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
 

Semelhante 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
 

Mais 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
 

Mais 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

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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Último (20)

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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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)
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
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
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

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