The philosophy behind the Movable Type development process is to enable the developer community to make both significant and minor enhancements and advancements to the platform and to allow them to agilely incorporate innovation happening outside of the project to the core product, while adhering to a reliable and predictable release schedule.
It is the goal of the MTOS development team to release a tested and stable version of Movable Type that contains significant features every quarter, or four times a year.
The Movable Type development process observes a two-week development cycle during which changes of various scope are checked in and tested. At the end of each cycle, a build is produced that is minimally tested by Six Apart's QA team.
These builds are produced to help ensure quality as the product is being developed, and to give onlookers with a slightly more stable snapshot of the progress the community is making towards a release.
It is important to note however, that these builds are not stable and are not recommended for production use.
As the community completes its development objectives for the next major release and as we near the end of our allotted time frame for development, the team will shift gears for a more public and formal review of the product with the outside world, a process commonly referred to as a "beta."
During a beta period, the development team will begin a weekly release cycle in order to keep the community up to date on more incremental developments.
Before the beginning of each major development and release cycle, project leaders review mailing list archives, bug reports, feature suggestions from the wiki and map them to longer term strategic objectives. The results from this process is then presented to the community for discussion and review.
Once consensus has been built and/or decisions have been made, development on the release begins.
That being said, the feature planning process is actually an ongoing, constantly evolving process. We have engineered our development milestones around a two week cycle to give the team the agility it needs to change direction and adapt its plan to meet emerging needs in the community and marketplace.
Six Apart has QA engineers around the world dedicated to the ongoing testing and quality of the Movable Type product. They play a pivotal role in the release of every non-nightly build produced by the team. For stable build candidate they conduct an exhaustive round of tests against the entire product, using a variety of browsers, database backends, operating systems and more. This process is meant to discover as many issues as possible with the product.
Depending upon what is discovered, the release of a build may be delayed to address priority one issues prior to release.
Whenever possible, non-production builds, such as betas, and the bi-weekly development milestone builds are run through a set of "smoke tests." Smoke tests are a minimal set of tests conducted against the most common configuration and platform that ensure that no absolutely critical features are severely broken or hampered (e.g. login/logout, compose entry, publishing, commenting, etc.).