Development Process

From WikiQSS
Revision as of 15:02, 27 August 2010 by CarlosRuiz (talk | contribs) (more to backlog)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

PMC Development Process

Resources

Developers

Implementors companies can (and we encourage them to) to provide development and QA resources to be managed by PMC within a developer team.

The number of developers will define the capacity of the PMC at each stage.

Funds

Any company can (and we encourage them to) provide money the the ADeV (ADempiere Germany Foundation) to fund work on PMC.

The company can suggest ADeV the specific usage for the money (i.e. specific development in the backlog, PMC Head sponsorship, PMC development sponsorship)

When received funds for a specific development ADeV will inform to PMC - and PMC will decide if it's developed internally or searching to hire external developers.

It's encouraged also that ADeV (or other foundations) keep an amount of funds to sponsor different developments in the backlog.

Methodology

PMC development will follow Kanban agile methodology, visibility will be provided implementing a Kanban dashboard (sponsorship for server and application is required)

Stages

KanbanAdempiere.jpg

Backlog

The backlog is composed by:

  • Prominent open bug fixes
  • Specification Requests voted positively already developed
  • Specification Requests voted positively pending to develop
  • Architectural technical changes discussed and agreed within Architectural group

Items in the backlog are prioritized and passed to the next stage (Prioritized) by a prioritization composed by PMC Head, Architecture and Functional leader.

This committee can define and change also the number of requirements allowed on each stage (kanban technique to limit work in progress) according to the resources on each stage (and even they can add/drop/modify stages on the methodology if needed)

Prioritized

Once the prioritization committee assign priority to a requirement and put it on this stage it can be taken by a developer from the next stage to be worked on.

A sourceforge tracker must be opened for prioritized items.

Development

A developer from the pool of resources can take a prioritized requirement and work on it - assigning an estimated time to complete, and an estimated time of arrival.

Development must be committed on a pre-release branch (proposed to be trunk) for community and other developers peer review. Peer reviewers can inform findings or suggest fixings on the sourceforge tracker.

QA

QA can be driven:

  • by a different PMC developer
  • or requesting community feedback (in this case at least two community members must inform the success of installation, configuration and testings)

Release

Things that passed QA will be integrated to release by PMC Head or a developer delegated by PMC Head.

Delivered

After integrated the required will be moved to delivered state