Openbravo ERP life cycle managementwiki.openbravo.com/wiki/images/7/7b/Webinar-Life... · Overview:...
Transcript of Openbravo ERP life cycle managementwiki.openbravo.com/wiki/images/7/7b/Webinar-Life... · Overview:...
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Openbravo ERPlife cycle management
Juan Pablo Aroztegi
Release Management TeamOpenbravo
March 22, 2010
Release Management Team, Openbravo Openbravo ERP life cycle management 1/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Outline
1 Overview: development, testing, productionProblemDefinitionGoals
2 Effective life cycle managementDevelopmentTestingProductionTools
3 Summary
4 Q&A
Release Management Team, Openbravo Openbravo ERP life cycle management 2/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Outline
1 Overview: development, testing, productionProblemDefinitionGoals
2 Effective life cycle managementDevelopmentTestingProductionTools
3 Summary
4 Q&A
Release Management Team, Openbravo Openbravo ERP life cycle management 3/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Problem
1 project.3 developers.1 production system.
Release Management Team, Openbravo Openbravo ERP life cycle management 4/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
What is this all about?
Release Management Team, Openbravo Openbravo ERP life cycle management 5/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
What is this all about?
Release Management Team, Openbravo Openbravo ERP life cycle management 6/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
What is this all about?
Release Management Team, Openbravo Openbravo ERP life cycle management 7/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
What is this all about?
Life cycle managementHow do I glue these components effectively?
Release Management Team, Openbravo Openbravo ERP life cycle management 8/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
What is this all about?
Life cycle managementHow do I glue these components effectively?
Release Management Team, Openbravo Openbravo ERP life cycle management 8/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Goals
Secure production: test anything before going intoproduction.Customize the ERP easily.Control and share changes among developers.Demos: show latest features to the customer before goingto production.
Release Management Team, Openbravo Openbravo ERP life cycle management 9/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Goals
Secure production: test anything before going intoproduction.Customize the ERP easily.Control and share changes among developers.Demos: show latest features to the customer before goingto production.
Release Management Team, Openbravo Openbravo ERP life cycle management 9/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Goals
Secure production: test anything before going intoproduction.Customize the ERP easily.Control and share changes among developers.Demos: show latest features to the customer before goingto production.
Release Management Team, Openbravo Openbravo ERP life cycle management 9/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Goals
Secure production: test anything before going intoproduction.Customize the ERP easily.Control and share changes among developers.Demos: show latest features to the customer before goingto production.
Release Management Team, Openbravo Openbravo ERP life cycle management 9/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
ProblemDefinitionGoals
Goals
Secure production: test anything before going intoproduction.Customize the ERP easily.Control and share changes among developers.Demos: show latest features to the customer before goingto production.
Release Management Team, Openbravo Openbravo ERP life cycle management 9/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Outline
1 Overview: development, testing, productionProblemDefinitionGoals
2 Effective life cycle managementDevelopmentTestingProductionTools
3 Summary
4 Q&A
Release Management Team, Openbravo Openbravo ERP life cycle management 10/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: how?
What’s development?Any code change you do, at any point in time.
Options:1 I’ll change Core directly . . . DON’T!2 I’ll use modules.
Release Management Team, Openbravo Openbravo ERP life cycle management 11/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: how?
What’s development?Any code change you do, at any point in time.
Options:1 I’ll change Core directly . . . DON’T!2 I’ll use modules.
Release Management Team, Openbravo Openbravo ERP life cycle management 11/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: how?
What’s development?Any code change you do, at any point in time.
Options:1 I’ll change Core directly . . . DON’T!2 I’ll use modules.
Release Management Team, Openbravo Openbravo ERP life cycle management 11/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
Why does a SCM matter?Control my own changes: how did I solve that issue?Share changes easily. Comfortable distribution.Concurrent development.Revert and tweak changes.
Useful even if you work alone!
Release Management Team, Openbravo Openbravo ERP life cycle management 12/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
Why does a SCM matter?Control my own changes: how did I solve that issue?Share changes easily. Comfortable distribution.Concurrent development.Revert and tweak changes.
Useful even if you work alone!
Release Management Team, Openbravo Openbravo ERP life cycle management 12/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
1 repository pre module vs 1 repository for all the modules
Mercurial.Git.Bazaar.Subversion.
Release Management Team, Openbravo Openbravo ERP life cycle management 13/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
1 repository pre module vs 1 repository for all the modules
Mercurial.Git.Bazaar.Subversion.
Release Management Team, Openbravo Openbravo ERP life cycle management 13/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
1 repository pre module vs 1 repository for all the modules
Mercurial.Git.Bazaar.Subversion.
Release Management Team, Openbravo Openbravo ERP life cycle management 13/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: SCM
Release Management Team, Openbravo Openbravo ERP life cycle management 14/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker
Why does an issue tracker matter?Traceability of bugs and their resolutions.Increase visibility of the development process.And why not, involve your customer.
Useful even for a single module!
Release Management Team, Openbravo Openbravo ERP life cycle management 15/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker
Why does an issue tracker matter?Traceability of bugs and their resolutions.Increase visibility of the development process.And why not, involve your customer.
Useful even for a single module!
Release Management Team, Openbravo Openbravo ERP life cycle management 15/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker + SCM
A SCM and an issue tracker; I don’t have time to set up that
Use a Forge! Even for private projects.
Plenty of options:Openbravo Forge.Bitbucket.Github.Launchpad.
Release Management Team, Openbravo Openbravo ERP life cycle management 16/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker + SCM
A SCM and an issue tracker; I don’t have time to set up that
Use a Forge! Even for private projects.
Plenty of options:Openbravo Forge.Bitbucket.Github.Launchpad.
Release Management Team, Openbravo Openbravo ERP life cycle management 16/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker + SCM
A SCM and an issue tracker; I don’t have time to set up that
Use a Forge! Even for private projects.
Plenty of options:Openbravo Forge.Bitbucket.Github.Launchpad.
Release Management Team, Openbravo Openbravo ERP life cycle management 16/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker + SCM
A SCM and an issue tracker; I don’t have time to set up that
Use a Forge! Even for private projects.
Plenty of options:Openbravo Forge.Bitbucket.Github.Launchpad.
Release Management Team, Openbravo Openbravo ERP life cycle management 16/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Customize the ERP: issue tracker
Release Management Team, Openbravo Openbravo ERP life cycle management 17/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Testing: why it matters
Test your developers in a real environment.Let the customer test it.Test your upgrades: modules, Core.
Production and Testing: 1 machine vs 2 machines
Testing must be a clone of production. Specially in software.Recommendations:
2 x Cloud Appliance2 x Ubuntu
Release Management Team, Openbravo Openbravo ERP life cycle management 18/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Testing: why it matters
Test your developers in a real environment.Let the customer test it.Test your upgrades: modules, Core.
Production and Testing: 1 machine vs 2 machines
Testing must be a clone of production. Specially in software.Recommendations:
2 x Cloud Appliance2 x Ubuntu
Release Management Team, Openbravo Openbravo ERP life cycle management 18/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Testing: why it matters
Test your developers in a real environment.Let the customer test it.Test your upgrades: modules, Core.
Production and Testing: 1 machine vs 2 machines
Testing must be a clone of production. Specially in software.Recommendations:
2 x Cloud Appliance2 x Ubuntu
Release Management Team, Openbravo Openbravo ERP life cycle management 18/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Testing: why it matters
Test your developers in a real environment.Let the customer test it.Test your upgrades: modules, Core.
Production and Testing: 1 machine vs 2 machines
Testing must be a clone of production. Specially in software.Recommendations:
2 x Cloud Appliance2 x Ubuntu
Release Management Team, Openbravo Openbravo ERP life cycle management 18/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Developers send customizations to Testing through OBX files
1 Replicate production to testing. How?2 Apply your OBX files, upgrade Core, etc. using the Module
Management Console.3 Check that everything is correct. Let the customer test it.
Release Management Team, Openbravo Openbravo ERP life cycle management 19/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Developers send customizations to Testing through OBX files
1 Replicate production to testing. How?2 Apply your OBX files, upgrade Core, etc. using the Module
Management Console.3 Check that everything is correct. Let the customer test it.
Release Management Team, Openbravo Openbravo ERP life cycle management 19/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Developers send customizations to Testing through OBX files
1 Replicate production to testing. How?2 Apply your OBX files, upgrade Core, etc. using the Module
Management Console.3 Check that everything is correct. Let the customer test it.
Release Management Team, Openbravo Openbravo ERP life cycle management 19/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Developers send customizations to Testing through OBX files
1 Replicate production to testing. How?2 Apply your OBX files, upgrade Core, etc. using the Module
Management Console.3 Check that everything is correct. Let the customer test it.
Release Management Team, Openbravo Openbravo ERP life cycle management 19/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Developers send customizations to Testing through OBX files
1 Replicate production to testing. How?2 Apply your OBX files, upgrade Core, etc. using the Module
Management Console.3 Check that everything is correct. Let the customer test it.
Release Management Team, Openbravo Openbravo ERP life cycle management 19/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Development to testing
Release Management Team, Openbravo Openbravo ERP life cycle management 20/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Applying changes
Possible kind of changes:1 Core update.2 External module updates.3 Self developed module updates.
Howto:1 Do it in testing first.
Replicate production to testing.. . .
2 Rerun those steps in the production system.
Release Management Team, Openbravo Openbravo ERP life cycle management 21/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Applying changes
Possible kind of changes:1 Core update.2 External module updates.3 Self developed module updates.
Howto:1 Do it in testing first.
Replicate production to testing.. . .
2 Rerun those steps in the production system.
Release Management Team, Openbravo Openbravo ERP life cycle management 21/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Applying changes
Possible kind of changes:1 Core update.2 External module updates.3 Self developed module updates.
Howto:1 Do it in testing first.
Replicate production to testing.. . .
2 Rerun those steps in the production system.
Release Management Team, Openbravo Openbravo ERP life cycle management 21/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Replicating production to testing
Manual, repetitive, tedious.We’ve developed a command line tool that does exactlythis in an easy manner.
Demo!
Release Management Team, Openbravo Openbravo ERP life cycle management 22/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
DevelopmentTestingProductionTools
Replicating production to testing
Manual, repetitive, tedious.We’ve developed a command line tool that does exactlythis in an easy manner.
Demo!
Release Management Team, Openbravo Openbravo ERP life cycle management 22/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Outline
1 Overview: development, testing, productionProblemDefinitionGoals
2 Effective life cycle managementDevelopmentTestingProductionTools
3 Summary
4 Q&A
Release Management Team, Openbravo Openbravo ERP life cycle management 23/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Summary
Development collaboration: modules + SCM + issuetrackerTesting: use OBX files and the MMC. Replicate Productionto Testing first.Production: do it in testing first. Repeat the steps inproduction later.
Release Management Team, Openbravo Openbravo ERP life cycle management 24/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Outline
1 Overview: development, testing, productionProblemDefinitionGoals
2 Effective life cycle managementDevelopmentTestingProductionTools
3 Summary
4 Q&A
Release Management Team, Openbravo Openbravo ERP life cycle management 25/26
Overview: development, testing, productionEffective life cycle management
SummaryQ&A
Thank you.Questions?
[email protected]://jpabloae.wordpress.com
IRC:iarwain(Freenode)
Release Management Team, Openbravo Openbravo ERP life cycle management 26/26