View Source

{info}{*}Summary*: GigaSpaces Early Access Program explained: what is the early access program; inside GigaSpaces engineering; investment in quality.{whr:#003366}

h1. Overview

Over the past couple of years we've been working hard to improve our product to meet our customers' requirements. From their feedback, we've learned that they would like to be involved with our decisions, and be exposed as early as possible to the new product releases, so they can use this information in their development plans.

We've adopted [internal agile practices|#Inside GigaSpaces Engineering], which enable us to release high-quality product releases very often.

With the entire infrastructure in place, we now feel comfortable to expose our internal progress and share it with whoever is interested in keeping close track of our product evolution.

{info}*The next early access version is XAP 9.7, which will be made available in the coming weeks.*{info}

!GRA:Icons^feed-icon-16x16.png! *[Get updated|]* when a new milestone is released!

h1. FAQ

* *[Do I need to register?|#register]*
* *[In which circumstances should I use Early Access versions?|#inwhich]*
* *[Does this mean that I'll have to work with half-baked releases?|#halfbaked]*
* *[How can I get notified when the various releases are updated?|#notif]*
* *[How often do you plan to release|#often]*
* *[Where can I report bugs or ask questions?|#bugs]*
* *[What about nightly snapshots?|#nightly]*


{color:#003366}{*}Do I need to register?*{color}

We do not require evaluators to register. We do encourage you to [register|] with our user forum. Registration enables you to receive updates and announcements, ask questions and provide feedback.


{color:#003366}{*}In which circumstances should I use Early Access versions?*{color}

Early Access versions should be used to preview new features or test fixes/enhancements to the product. Early access versions can be used in part of the development phase of a project life cycle.

Early Access versions should *NOT*, under any circumstances, be used in production or pre-production environments as they are not supported through our normal support channels, and are not maintained once the general access version is released.


{color:#003366}{*}Does this mean that I'll have to work with half-baked releases?*{color}

Not at all\! If you're used to working with GA quality releases only, GA releases (and service packs delivered on top of them) are still available in the GigaSpaces [main download page|].


{color:#003366}{*}How can I get notified when the various releases are updated?*{color}

Sign up for this *[RSS feed|]*. This feed is updated every time we release a new [milestone|#Milestones, Release Candidates and GA].

Furthermore, the GigaSpaces product team posts on our blog, items related to the release.


{color:#003366}{*}How often do you plan to release?{*}{color}

Every 2-4 weeks.


{color:#003366}{*}Where can I report bugs or ask questions?*{color}

Use the [GigaSpaces forum|]. Our developers are listening to questions in the forum and are anxious to get your feedback on their work. Please make sure you register to the forum first.


{color:#003366}{*}What about nightly snapshots?*{color}

Nightly snapshots are planned as well, and we hope we'll be able to deliver these as soon as possible.

h1. Inside GigaSpaces Engineering


We are using Scrum in GigaSpaces. Our sprints/iterations are two weeks long. Each iteration has a product deliverable that we would like to share with the community.

h2. Milestones, Release Candidates and GA

Our release process includes three phases.
# +In the first phase+, milestone releases are available until all the expected release content is available.
# +In the second phase+, which we expect to be very short, we stabilize the release. Deliveries in this phase are defined as the Release Candidate (RC).
# +In the last phase+, we release a GA version of the product. Once the product is at the GA phase, the Early Access Program is complete for 9.5, and we start a new program for the next release.

h3. Milestone Releases -- M1, M2, M3

When significant content of new functionality is added into the product, we release a product deliverable, declared as a milestone release. Milestone releases are scheduled to be delivered every 2-4 weeks as part of the GigaSpaces Early Access Program. Each milestone release name includes the milestone ID. For example, {{9.5.0-m4-b8485}} is the forth milestone of 9.5.0, at a beta quality, identified by build number {{8485}}.

A milestone's release quality is defined as _beta quality_ which means the following:
* Existing features and functionality work as in previous versions.
** No functionality regressions.
** No performance regressions.
* Newly exposed functionality can be tested by early access users. This functionality may still change in future milestone releases.
* Regarding changes:
** APIs might change based on feedback and usage patterns of early access users.
** Packaging/configuration might also change in order to meet early access user usability requirements.

h3. Release Candidate

Once all the content, new features, enhancements and major changes are included in the release, we stop adding new content to the release, and focus on increasing the testing coverage to improve the product. Releases delivered as part of this effort are defined as Release Candidates and are marked: {{9.5.0-rc}}.

_RC quality_ is defined as follows:
* No regressions!
* New functionality is complete.
* APIs are frozen.

h3. GA

A product is considered ready for GA once there are no major bugs/issues identified, the entire test plan has been executed, and there is enough feedback from RC users. Once all these conditions are met, the release is matured into GA status and is released as part of GigaSpaces website download page.

h2. More About Quality

One of the major reasons that we can release so often is our investment in quality. Not only testing, but also quality is a fundamental ingredient of our delivery process.

Our quality practices include:
* Daily regression cycle of more than 3000 testing scenarios
* Daily performance regression tests
* Continuous integration
* Very high unit test-coverage of the product
* Longevity testing -- tests that monitor correct system behavior over time (weeks)
* Scalability tests
** Multi-core scalability tests -- range from Intel/AMD quad core and Sun Niagra II to Azul multi-core Java appliance
** Scale-out testing -- analyze system behavior and resiliency when deployed with many servers, accessed by a large number of clients and involve large data sets
* System tests -- we conduct end to end simulations, which model real world applications and typical scenarios. These tests include validation of correctness, fail over, performance under load, stability over time and much more

However, even with all the testing and automation we've invested, we still need your feedback to make our product even better.