Flexibility Requirements
The Flexibility requirements define parts of the system that are the most likely to require ongoing changes or augmentation, and ways in which the system can best be amenable to these forthcoming changes.
Definitions
- Active Setting
- The settings system that presently lives in the repository under the
lib/active_setting
directory. - Payment Processor Integration
- The module of the Mall on Rails system that integrates order and checkout with the processor of the payment. For the initial release, this is Stripe.
Goals
- To ensure that Mall on Rails is able to grow in the way the project champions desire without undue burden on the development team.
- To allow future expansion of Mall on Rails to new and emerging markets.
Exclusions
No explicit exclusions have been identified for this section.
Requirements
- An experienced developer with existing knowledge of the system shall be
able to add a new payment processor integration with no more than two days
of work effort.
- Documentation shall be written on how payment processor integration is implemented.
- The system shall be architected to allow an eventual expansion of the definition of 'item' to include item specific characteristics. For example, a bracelet may have sizing options, or a watch may have band choices.
- The system shall allow for the eventual split of Active Setting into its own Gem, including independent tests and releases.