Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

9.0 16334 migrate business requirement #25

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
18 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 78 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
language: python
sudo: false
cache:
apt: true
directories:
- $HOME/.cache/pip

python:
- "2.7"

addons:
apt:
# only add the two lines below if you need wkhtmltopdf for your tests
# sources:
# - pov-wkhtmltopdf
# Search your sources alias here:
# https://github.com/travis-ci/apt-source-whitelist/blob/master/ubuntu.json
packages:
- expect-dev # provides unbuffer utility
- python-lxml # because pip installation is slow
- python-simplejson
- python-serial
- python-yaml
# Search your packages here:
# https://github.com/travis-ci/apt-package-whitelist/blob/master/ubuntu-precise
# - wkhtmltopdf # only add if needed and check the before_install section below

# set up an X server to run wkhtmltopdf.
#before_install:
# - "export DISPLAY=:99.0"
# - "sh -e /etc/init.d/xvfb start"

env:
global:
- VERSION="9.0" TESTS="0" LINT_CHECK="0" TRANSIFEX="0"
- TRANSIFEX_USER='transbot@odoo-community.org'
# This line contains the encrypted transifex password
# To encrypt transifex password, install travis ruby utils with:
# $ gem install travis --user-install
# and use:
# $ travis encrypt TRANSIFEX_PASSWORD=your-password -r owner/project
# Secure list for current OCA projects is in https://github.com/OCA/maintainer-quality-tools/issues/194
- secure: PjP88tPSwimBv4tsgn3UcQAD1heK/wcuSaSfhi2xUt/jSrOaTmWzjaW2gH/eKM1ilxPXwlPGyAIShJ2JJdBiA97hQufOeiqxdkWDctnNVVEDx2Tk0BiG3PPYyhXPgUZ+FNOnjZFF3pNWvzXTQaB0Nvz8plqp93Ov/DEyhrCxHDs=
# Use the following lines if you need to manually change the transifex project slug or/and the transifex organization.
# The default project slug is owner-repo_name-version (with dash in the version string).
# The default organization is the owner of the repo.
# The default fill up resources (TM) is True.
# The default team is 23907. https://www.transifex.com/organization/oca/team/23907/
# - TRANSIFEX_PROJECT_SLUG=
# - TRANSIFEX_ORGANIZATION=
# - TRANSIFEX_FILL_UP_RESOURCES=
# - TRANSIFEX_TEAM=

matrix:
- LINT_CHECK="1"
- TESTS="1" ODOO_REPO="odoo/odoo"
- TESTS="1" ODOO_REPO="OCA/OCB"
- TRANSIFEX="1"
# either use the two lines above or the two below. Don't change the default if
# it's not necessary (it is only necessary if modules in your repository can't
# be installed in the same database. And you get a huge speed penalty in your
# tests)
# - TESTS="1.0" ODOO_REPO="odoo/odoo" UNIT_TEST="1"
# - TESTS="1.0" ODOO_REPO="OCA/OCB" UNIT_TEST="1"

virtualenv:
system_site_packages: true

install:
- git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- travis_install_nightly

script:
- travis_run_tests

after_success:
- travis_after_tests_success
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,5 @@
# business-requirement
[![Build Status](https://travis-ci.org/OCA/business-requirement.svg?branch=9.0)](https://travis-ci.org/OCA/business-requirement)
Business Requirements Management via Odoo

# business-requirement

251 changes: 251 additions & 0 deletions business_requirement/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: https://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3


====================
Business Requirement
====================

Introduction
============

What is a Business Requirement?
-------------------------------

A **Business requirement** (BR) is the expression of a business need by a customer
or internal project user.

A BR contains multiple different parts to explain the stakeholder need and how to
meet his/her requirements:

* **Customer Story**: this is the requirement as expressed by the customer
* **Scenario**: How/where the current solution can provide a suitable scenario to
answer the customer story
* **Gap**: For the uncovered part of the scenario, elaborate the gap/need for specific
developments/setup
* **Test case**: A set of conditions under which a tester will determine whether the application, software system or
one of its features is working as it was originally established for it to do.
* **Deliverables** to be provided to the customer/user
* **Resources** necessary to achieve the deliverables
* **Additional** information (approval, cost control etc.)

This set of modules was originally designed for the service/IT industry but the
requirement management design has been kept as generic as possible so that it can
apply to many other cases/industries (customer or internal projects):

* Construction
* Trading (New product development)
* Business Consultancy
* Web or IT development
* R&D projects
* etc.

More information about business requirements management:

* `Wikipedia <https://en.wikipedia.org/wiki/Business_requirements>`_
* `Six Sigma <https://www.isixsigma.com/implementation/project-selection-tracking/business-requirements-document-high-level-review/>`_

Business Requirement set of modules
-----------------------------------

This module is part of a set (`Business Requirements repo <https://github.com/OCA/business-requirement/tree/9.0>`_).

The base Business Requirements module creates the basic objects and
can be used as a standalone module.

.. figure:: ../business_requirement/static/img/bus_req_tree.png
:width: 600 px
:alt: Business Requirement List view

Multiple modules integrate the BR with other business areas, such as Sales,
Procurement, Project or Analytic Accounting. For example:

* Sales Quotation can have an estimation supported by a BR analysis
* Project Tasks can be related to the BRs they implement or support
* Procurement and purchase can be generated out of the BR

.. figure:: ../business_requirement/static/img/bus_req_module_diag.png
:width: 600 px
:alt: Business Requirement modules diagram

The following workflow explains the business workflow between the BR modules and other applications in Odoo:

.. figure:: ../business_requirement/static/img/bus_req_workflow.png
:width: 600 px
:alt: Business Requirement integration in Odoo


How to use this module?
-----------------------

This module only contains the standard base models for business requirement:

* BR model definition
* Standard setup and views
* Standard Workflow

.. figure:: ../business_requirement/static/img/bus_req.png
:width: 600 px
:alt: Business Requirement Form


Configuration
=============

Users
-----

* **Business Requirement User**: can create and confirm a BR
* **Business Requirement Manager**: can create, confirm and approve a BR

Alias and emails
----------------
You can setup an alias in Settings/Technical/Email/Alias in order to create
business requirements directly from email received at a specific address.

.. figure:: ../business_requirement/static/img/bus_req_alias.png
:width: 600 px
:alt: Email Alias setup

You can start conversation with the followers in the chatter area of the
BR like in tasks, issue or CRM leads.

Sequences
---------

Default numbering format: BR123456.

You can modify the default numbering sequence in
Settings/Technical/Sequences&Identifier/Sequences.

Search for Business Requirement sequence and alter it if necessary.

Tags
----

You can create and assign tags for your business requirements in
Business Requirements/Configuration/Bus. Req. Category.

.. figure:: ../business_requirement/static/img/bus_req_tags.png
:width: 600 px
:alt: Define Tags


Master project
--------------

You can define a master project linked to the business requirement.

Followers from the project will automatically be added to the business requirements.


Usage
=====
Simple BR
---------

1. Define the header information

* Master Project (Partner is the one related to the master project)
* Priority (low, Medium, High)
* Change request: Is it a change request? (currently only informational with n model or action)
* Tags: any relevant tag for the business.
* Owner and approver by default

.. figure:: ../business_requirement/static/img/bus_req_tags2.png
:width: 600 px
:alt: Input header information

2. Input the customer story, scenario gap and test case(simple html editor with image and text)

.. figure:: ../business_requirement/static/img/bus_req_cust_story.png
:width: 600 px
:alt: Input customer story, scenario, gap and test case

3. Confirm the Business requirement (for BR User and Manager)
At that stage the Customer story/Scenario/Gap/Test case is not modifiable anymore

.. figure:: ../business_requirement/static/img/bus_req_confirmed.png
:width: 600 px
:alt: Confirm your business requirement

4. Approve the Business requirement (for BR Manager)

.. figure:: ../business_requirement/static/img/bus_req_approved.png
:width: 600 px
:alt: Confirm your business requirement

5. Once your requirement is finished and delivered you can set it as Done

.. figure:: ../business_requirement/static/img/bus_req_done.png
:width: 600 px
:alt: Confirm your business requirement

6. Alternatively, you can cancel the BR (in case it is not relevant or mistake) or drop it (when customer makes the decision to discontinue it)

.. figure:: ../business_requirement/static/img/bus_req_cancel.png
:width: 600 px
:alt: Cancel your business requirement


.. figure:: ../business_requirement/static/img/bus_req_drop.png
:width: 600 px
:alt: Drop your business requirement

Sub-business requirements
-------------------------
User can create sub business requirements for a given BR for complex cases.

This is a simple parent/child relation (see roadmap).

.. figure:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/222/9.0

Known issues / Roadmap
======================

* Multi-company management
* Full change request management
* Analytic account management
* Complex relationship management
* Integration with earned-value module.
* Improve the followers details (eg: depending on the stages)

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/business-requirement/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.


Credits
=======

Contributors
------------

* Eric Caudal <eric.caudal@elico-corp.com>
* Alex Duan <alex.duan@elico-corp.com>
* Xie XiaoPeng <xie.xiaopeng@elico-corp.com>
* Victor M. Martin <victor.martin@elico-corp.com>
* Evan Li <li.aiwen@elico-corp.com>
* Sudhir P. Arya <sudhir.arya@serpentcs.com>
* Andrea Stirpe <a.stirpe@onestein.nl>

Maintainer
----------

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

This module is maintained by the OCA.

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

To contribute to this module, please visit https://odoo-community.org.
6 changes: 6 additions & 0 deletions business_requirement/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# -*- coding: utf-8 -*-
# © 2016 Elico Corp (https://www.elico-corp.com).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
from . import tests
42 changes: 42 additions & 0 deletions business_requirement/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# -*- coding: utf-8 -*-
# © 2016 Elico Corp (https://www.elico-corp.com).
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
'name': 'Business Requirement',
'category': 'Business Requirements Management',
'summary': 'Manage the Business Requirements (stories, scenarii, gaps \
and test cases) for your customers',
'version': '9.0.1.0.0',
'website': 'www.elico-corp.com',
'author': 'Elico Corp, Odoo Community Association (OCA)',
'depends': [
'project',
],
'data': [
'data/business_data.xml',
'security/security.xml',
'security/ir.model.access.csv',
'views/business_requirement_category_view.xml',
'views/business_requirement_view.xml',
'views/project.xml',
'menu_items.xml',
],
'image': [
'static/description/icon.png',
'static/img/bus_req.png',
'static/img/bus_req_alias.png',
'static/img/bus_req_approved.png',
'static/img/bus_req_cancel.png',
'static/img/bus_req_confirmed.png',
'static/img/bus_req_cust_story.png',
'static/img/bus_req_done.png',
'static/img/bus_req_drop.png',
'static/img/bus_req_tags.png',
'static/img/bus_req_tags2.png',
'static/img/bus_req_tree.png',
'static/img/bus_req_workflow.png'
],
'license': 'AGPL-3',
'installable': True,
}
Loading