Release Proposal 2009
See alternative proposals 2A and 2B under specifics below. Draft document of proposals still under discussion.
Release Proposal
General Goals
1) A simple, measured introduction to a new set of product development processes (1)
- Avoid unnecessary disruption to the momentum of development work to date
- Provide the new Product Council space and time to work with development teams around significant new functionality
2) A reliable, published release roadmap (2)
- A clear plan before QA begins
- A plan designed around meeting the broadest user needs with the highest quality code while minimizing risk to target timelines (3)
Specific Proposal
1) A formal release management team
- Initial members will include the Release Manager (Anthony Whyte), QA Director (Pete Peterson), and at least one recruited 2.7 branch manager (TBD, and more than one branch manager would be preferable)
- These initial 3 members will in turn propose to the community formal processes for both recruiting additional members to this team and making decisions within its purview
- This team will be empowered to make operational decisions about release management, up to excluding new code for QA or technical reasons, but will make proposals on list for community comment
- Security-related issues will be managed in close consultation with the Security WG
Two alternatives below
2A) Independent tool releases before general QA
- A general Sakai 2.7 feature release by April 2010, the general QA of which will begin before the end of 2009. It may include new tools reviewed by the Product Council.
- Independent releases of Forums, Tests & Quizzes, and other tools prepared to work in this way before the beginning of general QA. (these tool releases should be intended to work against Kernel 1.1.x)
- New tool releases must meet a set of criteria before the beginning of general QA, or the release team may be obliged to include a prior stable version of the tool instead.
- The responsibility of organizing release management, QA and documentation for these independent tool releases will fall to the respective project team, although it's expected that other members of the community will be called upon to help.
2B) Two feature releases over the next 10-12 months (4)
- A 2.7 release which prioritizes lightweight refinements to existing functional components (i.e. components/tools already present in 2.6) by the end of 2009. This may include significant new capabilities if they can be worked through the Product Council process in time, and are not judged by the release team to put the deadline in serious jeopardy.
- A 2.8 release which will include new tools and other significant new capabilities reviewed by the product council, but scoped to allow full testing and delivery by May 2010 (5)
3)2.5 and 2.6 maintenance releases, the number, scope and timing of each to be determined by the release management team
4) Supporting Kernel (K1) releases, the number, scope and timing of each to be determined by the kernel team, while the release management team determines the kernel version to which a given Sakai release will bind
5) The product manager will:
- Shepherd the review and planning process up until code freeze
- Work with the release management team to identify issues that need to go to the product council
- Work with the release management team to produce an achievable published plan for the release(s)
- Serve as liaison between the release management team and product council
6) The product council will:
- Work to quickly establish straightforward but preliminary guidelines for inclusion in 2.8, and refine them through iterations of documentation and discussion with both the development teams and the wider community
- Serve as a court of appeal where needed, where issues surface in conversation between the product manager, the release management team, and project teams
Next Steps
Weekly, open release meetings (i.e. anyone may join the discussion, though not all opinions may be formally binding) (6) will begin which will include the product manager and release management team. The product manager will coordinate and own the agenda, and early orders of business will include:
- An initial triage of proposed new features (7) :
- determine which, if any, will need to go to the product council for review
- identify where more documentation is needed from development teams, and communicate this out
- make an initial risk assessment of various projects which can inform test planning (e.g. riskier changes may receive earlier QA focus)
- establish realistic freeze dates for 2.7, based on time needed for QA, availability of resource, etc.
- The initial members of the release management team will work to propose (to the community) processes for how its decisions will be made and how members may be recruited
Footnotes
1. The new Product Development Process introduces new roles and new ways of doing business. There is a newly appointed product council, which will be working to establish a transparent process with clear criteria, and there is also a new product manager, among whose responsibilities is ownership of a Sakai roadmap. The new process is not going to achieve maturity overnight, especially at this time of year (Q3 2009) when many are preoccupied with both vacations and a Fall term, and so a balance needs to be struck that allows the council begin taking up its charge quickly but simply, without throwing off all forward momentum.
2. The community needs a reliable release roadmap in order to both contribute to the general effort and make preparations for its own deployments.
3. Release scope will be framed by an analysis of what can be managed and adequately tested under the constraints of available time and volunteer resource from the community. Functional priorities will require the guidance of the product council, but against this an achievable release management plan still needs to be developed. If such a plan seems impossible under the constraints of time and available resource, a proposal will go out to the lists for comment, one which either reduces planned features or extends the deadline (or both).
4. These two releases would correspond roughly to two different kinds of processes for reviewing release readiness of new development work. A "lightweight" process can be used for modest refinements or small additions to existing functionality, and typically won't involve the product council. A "heavy" process would involve product council review at a minimum, and typically passage through the entire product development cycle. Changes to existing functionality that the release management team deems significant (e.g. a big change to the UX, or involving some considerable technical risk) will be brought before the review of the product council by the product manager.
5. While QA and other release management processes are underway for 2.7, review and planning for 2.8 will also begin. To the extent that 2.8 involves significant new capabilities, this activity will happen at first mostly in the context of product council processes.
6. The meetings will publish minutes, document decisions, and send out any significant proposals to the list for community comment.
7. New features and plans from development teams are being collected in Confluence at: Proposed changes to 2.7