Stability of Enterprise systems is important. Software is complex and by its very nature each new release may add new functionality and new bugs. These can vary in sensitivity, from simply not working as the end user expects them to work, to causing full blown system crashes. For companies that rely on Alfresco to provide content management services (either for traditional management of office documents, supporting the content delivered to your web site, managing and controlling corporate records, or for managing team content) having access to the system is critical.
Alfresco spends a lot of time and effort ensuring that as many issues and bugs are identified and fixed before the Alfresco Enterprise is released. The QA process starts with the Alfresco Community. Before the final build is released the Community version goes through a QA process. Dedicated QA engineers validate the release running on an Open Source stack. After this version is released the engineers create a branch in the code line - and this becomes the Alfresco Enterprise (see diagram below).
QA now kicks in a major way. Over a period of some months a team of dedicated QA engineers run almost 5000 tests against a range of different technology stacks - both Open Source and proprietary - to identify and fix as many problems as possible. The release is tested for stability, scalability and security and is tested in both single system and clustered configurations. The Alfresco Engineering team work to correct any issues or bugs that are identified.
During this process Alfresco will make a number of beta releases available to selected customers. This not only allows customers to validate the new release in their environment, but has the added benefit of real world testing, which will identify even more bugs, which get fixed before the product is released.
At the end of this process the Alfresco Enterprise is released to Enterprise customers. But QA and Engineering's job does not end there. Although QA run 5000 tests per stack, they can't test for every possible combination or application usage. So new bugs are identified and fixed. These are made available to Enterprise customers via patches - with proactive notification being sent out. These fixes are also back ported to previous versions that customers may still be using.