Openbravo Design and Development Process/Maintenance
Maintenance stage covers all the activities that are required to support and upgrade a production environment, together with training activities.
Support team is in charge of support and training activities.
In summary, the value of Openbravo support is:
- Incident resolution under support “Service Level Agreement”, see Service Level Agreement section.
- Delivery of fixes, quarterly packs and new functionality
- Critical solution notification (emergency packs), see Emergency Packs section.
- Certified Product Specialists
- Remote Connection capabilities
- 24x7 Critical Incident Support
- Escalation Process to Engineering team
Support team uses a specific tool named https://openbravo.zendesk.com/hc/en-us to manage claims and bugs found by Openbravo clients.
For additional information on how to use that tool, please review the support tool guide article, and the Best Practice for reporting a ticket article.
Service Level Agreement
Support Service Level Agreement signed between Openbravo certified partners and Openbravo consist on:
- Severity 1 - Critical - Production system is severely impacted or business-critical applications are completely down, causing that the customer cannot reasonably continue to work.
- Target Response Time = 1 hour
- Severity 2 - Major - A business-critical process is impaired, causing serious impact on daily operations, and there is no acceptable workaround
- Target Response Time = 4 hours
- Severity 3 - Medium - A problem causing partial, non-critical functionality loss
- Target Response Time = 8 hours
- Severity 4 - Minor -An inquiry and/or low system impact issue which does not require immediate attention
- Target Response Time = 5 day
- Severity 5 - Feature Request - A suggestion is made for enhancing the system by adding new features or improving existing features
- Target Response Time = n/a
Whenever required there are out of schedule emergency release which are used to for targeted fixing of very important bugs.
Typically on the 15th every month release teams checked if any such fixed are pending to be published and prepares and extra release with those.
Those releases can be identified by their version which is constructed as follows 3.0RRXXQY.Z, where :
- XX is the year of the base release
- QY is the quarter of the base release
- Z is simple digit number starting with 1
Example the release named 3.0RR17Q2.1 is based on the initial base release 3.0RR17Q2 and contains only small set of targeted fixes on top. All those fixes will be listed in the release notes of this version.
There are different levels of support.
L1 - First line Support or Basic Help Desk provided to End Client and Certified Partners under a separate agreement than L2 Second line Support below.
This type of support consists on:
- First line interaction and single point of contact with end-user
- Diagnosis, identifying and documenting the incident
- Resolution of routine incidents
- Attending incidents related or not with Openbravo core software
L2 - Second Line Support or In depth technical support.Support Services are provided on a tiered basis:
- The partner will provide direct support to the end-customer, according to its separate agreement with it, on the basis of cases reported directly to the partner
- Openbravo will assist the partner with this support under the corresponding support contract “Openbravo L2 Assistance”, and under a given set of conditions.
Common issues should be resolved by the partner without recourse to Openbravo. The partner is expected to check the documentation and also the Openbravo on-line support knowledgebase and issues databases to see if the issue is known and there is already a resolution for it in order to apply it accordingly.
If the Case is related to a new product malfunction (bug) the Partner's engineers will provide a repeatable test case so Openbravo's engineers are able to recreate the Case. Support assistance by Openbravo Software Subscription cover more complex issues that may be outside the expertise of the Partner, which are escalated to Openbravo. Openbravo will then work with the Partner to provide a resolution in accordance with the Service Levels set out below. All communication with the Client will be undertaken by the Partner.
Upon becoming an Openbravo Partner, support accounts will be issued to be used by your designated Technical Support Contacts for service delivery through the Openbravo on-line Support Portal. This online site will be available 24x7 except for scheduled maintenance and excluding any unexpected reasons that may cause the site to be offline, in which case Openbravo undertakes to do its best to bring the site online as quickly as possible.
The Openbravo on-line Support Portal enables your Technical Support Contacts to interact with Openbravo Support team by entering, editing and responding to current incidents, and the site will notify them by email of alterations to these incidents. All cases are assigned a ticket number which will be the official identification of the related support and will be kept for later review and analysis.
In summary, this type of support consists on:
- In depth root-cause analysis of complex or unique incidents of Openbravo Software, to which a solution could not be found by L1.
- Includes advanced functionality questions, advanced configuration/product usage, and non-bug related technical problems requiring advanced knowledge and which are not covered in the Openbravo knowledge base and documentation.
Openbravo offers to its certified partners a third line of support L3 - Third Line Support or Expert Product Support based on the corresponding OBSSA (Openbravo Software Subscription Agreement) signed between the parties.
This type of support consists on:
- Provision of resolutions (including patches and bug fixes) to resolve software issues
- Provision of quarterly releases and upgrades to supported versions of the Openbravo software.
- Supported versions means the versions of the software supported under Openbravo Support Services.
Finally, Openbravo also support Cloud deployments by monitoring those type of instances, if required by the client.
As part of that support, Openbravo monitors and makes diagnosis, therefore it can provide recomendations or fixes in case of failures.
Third Level Support tool
Every time a patch or a bug fix needs to be develop, a register needs to be created in the Openbravo tool "issues.openbravo.com", for the engineering team to correct nonconforming outputs of whatever type.
This tool is the one used by all persons involved in the support process such as support and Engineering teams can interact.
For additional information on how to use this Openbravo tool, please review Bug Reporting Guideliness
In summary, bugs can be found in two ways:
- Externally - Openbravo Support team manages partners and client claims and bugs found, which might imply that nonconformity outputs found, affect the conformity of existing features causing regressions.
- Therefore, whenever a bug found requires to be fixed by the engeneering team a new register will have to be created by the support team in the tool issues.openbravo.com. The engineering team will fix it according to the corresponding "Service Level Agreement" under third level of support.
- Internally - Bugs can also be found during the corresponding design and development verification activities, which might imply that defined requirements are not properly met.
In that sense bugs need to be identified and controlled to prevent that the code is unintended used or delivery.
In those cases it is the engeneering team the one to open, manage and fix the bugs found in the Openbravo tool "issues.openbravo.com"
Upgrade means a decimal point change of the Openbravo Software version, currently released by Openbravo generally.
Changing this version also means adding new and different functions or increasing the capacity of the current Openbravo Core Functionality or Commercial Modules.
Upgrade does not include moving to different service schedule or product, or installing additional Openbravo or third party Commercial Modules which may be priced separately.
Upgrading to a new version of the Openbravo Software might or might not require some work in the end-customer installations.
Openbravo user interface allows to run upgrade process from “Module Management” window by clicking on “Scan for Updates” button, while being logged in as “System Administrator”.
By doing so, Openbravo looks for the latest version of the installed modules/functionality, released on a given maturity status to be configured in “Settings” tab. As already described Professional instances of Openbravo are defaulted to just accept versions in Confirmed Stable maturity status.
All these module versions will be downloaded from the Openbravo Central Repository.
In order to successfully upgrade, it is needed that all module versions to be installed in the instance are compatible with the corresponding versions of Openbravo Business and Commerce Suites. In case there are modules that do not satisfy this prerequisite, a message shown will inform about this fact, therefore it will not be possible to upgrade the instance, until this prerequisite is fixed.
Openbravo partners have unlimited access to Openbravo product training.
Training courses are on-demand self-training mode with a limit to finalize. Besides that some courses are instructor lead, therefore Openbravo instructor will review the results and evaluate the exercise done.
It is always possible to contact Openbravo instructor for help/advise during the training.
The list of available courses are:
- Commerce Functional Training 1.
Functional course that provides the studen with steb-by-step exercises on how to use the Openbravo Commerce Suite specific features for Retail market. Part 1.
- Commerce Functional Training 2.
Functional course that provides the studen with steb-by-step exercises on how to use the Openbravo Commerce Suite specific features for Retail market. Part 2.
- Business Suite Functional Training.
The Functional Training level 1 aims to provide a good understanding of how Openbravo Business Suite is used, configures and what functionality supports.
- Technical Training 1.
The objective of this course is to give partners and consultans the chance to learn the fundamental technical knowledge required to performe a basic Openbravo Commerce suite implementation.
- Technical Training 2 POS.
This training provides the following two pillars of knowledge, how to customize and extend the WebPOS and how to customize and extend the retail industry specific parts of the Openbravo Commerce Suite.
- Technical Training 2 Platform.
This course is aimed to provide and in-depth knowledge of how the Openbravo Business Suite can be customized, extended and packaged into modules.
- Pre-sales Training.
This training is designed to share information on how to position and present Openbravo's features and benefits to potential customers, delivering product demonstrations, identifying functional gaps and estimating project efforts to meet client needs.
- Sales Training.
Course recommended for Openbravo sales managers.
- Functional Financial Reporting Configuration Training.
During this training the student learns how to configure the account tree in order to get the correct information on the Balance Sheet and P&L Reports.
- Production Training.
This training is aimed to provide a good understanding of the Openbravo Business Suite Production module, which is available with the Openbravo Professional and Enterprise editions.
- Project and Service Management Training.
This training aims to provide a good understanding of this particular module in Openbravo Business Suite, which is available with the Professional and Enterprise Editions.
- Costing Training.
This training is aimed to provide a good understanding of the Costing server of the Openbravo Business Suite.
- Analytics Training.
This training gives the student an insight in the installation and use of the Analytics module.
Detail information about the contento of the courses can be found in the Openbravo Partner Portal.
Continuous Integration (CI) is a software development practice where members of the team integrates their work often and then a process builds and test the code on a continuous basis.
This practice is as much integrated into the development process as it is integrated into the maintenance phase. By continuously running all the automated tests we ensure that the new code is not breaking previously working functionality.
If there is any problem while running the tests in CI the problem must be immediately fixed. By doing so, we ensure that the problems raised do never reach the final client.
More documentation can be found at this link