The Openbravo Design and Development Process
Openbravo is a software solution vendor that offers a global POS and retail management software with the aim of helping midsize and large business to successfully manage their retail operations.
“Openbravo Commerce Suite” is the Openbravo’s commercial offering for the Retail Industry. This suite offers a unique store solution or cash register system, composed by a set of modules that once installed on top of Openbravo, deliver the retail functionality provided by Openbravo and the technology to extend and create new retail functionality to adapt Openbravo as required.
Besides that, Openbravo Commerce Suite is backed by a complete back office functionality that is the Openbravo Business Suite. The Openbravo business suite offers a comprehensive business management solution with built-in ERP capabilities.
This document is intended to describe Openbravo design and development process established, implemented and maintained to ensure the subsequent provision of the Openbravo product’s suites.
The objectives of Openbravo design and development methodology are:
- Quality, as the way to ensure that market functional requirements are properly defined and met as defined.
- Efficiency, by defined reviews, verification activities and controls conduted to ensure that design and development outputs meet the input requirements
- Predictability, by stablishing a well known product release cycle
- Transparency, by involving customer and users through every stage of the process
To achieve these objectives the Openbravo Development Process aims at being lean but formal and takes inspiration from an iterative and agile development processes such as Scrum and the Agile Unified Process.
The above picture is a high level representation of the overall process, which manages the full life cycle of a release and it is composed of forth stages:
- Planning: The purpose of the planning phase is to review the backlog of feature requests and:
- Identify the detailed list of feature candidates for the next release
- Plan design and develoment activities within engineering teams
- Construction: During the construction phase, each candidate feature is independently desing, develop and documented using an iterative approach. At the end, all the features are merged and the new release is packaged.
- Launch: The launch phase covers all the steps that are necessary to deliver a successful release to the market, including (but not limited to):
- quality assurance testing (Q&A)
- Early adopters testing (Innovators program)
- and Training
- Maintenance: Maintenance stage covers all the activities that are required to support and update a production release, including bug fixing and publishing new quarterly releases.