Project Snowstorm

From Second Life Wiki
Revision as of 15:32, 23 August 2010 by Rand Linden (talk | contribs)
Jump to navigation Jump to search
Launched in August 2010, the Snowstorm Team is responsible for coordinating development and integration of the Second Life Viewer, and for engaging the open source development community in its evolution.

Mission

To improve the performance, reliability, and ease of use of the Second Life Viewer, while enabling the rapid, effective deployment of new Viewer features and functionality to the Second Life Resident population.

Goals

Evaluate & Prioritize work by asking:

Does it make Second Life more Fast, Easy, and Fun?

Work in the open:

  • Share work processes, branches, and backlog.
  • Demonstrate rapid responsiveness to feedback and contributions from the open source community
  • Provide builds from the Development (integration) repository bi-weekly

Improve user experience:

  • Clean up broken glass
  • Fix Viewer bugs
  • Import improvements from Snowglobe, other Third Party Viewers, and open source contributors
  • Add small features that have high value/low cost

For specific plans, see the Product Backlog, the current list of product plans and priorities; this is a living document, subject to change based on community feedback, business priority, and coordination with other teams in the Lab.

Team


Communications

Downloads:

  • Latest Build. NOTE: This build may not have been tested at all - use at your own risk.

Processes

Snowstorm uses a modified scrum process.

We maintain a list of all the work we'd like to be doing, called the Product Backlog; it is a public living document, and new proposals may be added to it at any time:

Work is organized into two week sprints. At the beginning of each sprint, we choose items to work on from the product backlog to construct the sprint backlog, the list of tasks we are committing to complete in the sprint. Once defined, we do not normally change this list during the sprint. We track progress daily at the Snowstorm Team Standup - a short (target: 15 minutes) meeting in which contributors who have committed to deliverables in the sprint report on daily progress, goals, and impediments:

  • Sprint Backlog
    • Daily scrum is 6:30am-7:30am PDT at Scrum Platform
      Note: the daily scrum is public, but only attendees who have committed to deliverables in the sprint are allowed to speak or add to chat during the meeting.
    • Daily Scrum Archive

In addition to its own development tasks, the Snowstorm team is responsible for integration of all contributions to the Viewer from other Linden Lab development teams and from open source.

Note: Changes that introduce new Viewer features may not be submitted for integration without having been reviewed and accepted into the product backlog. Changes to fix a bug that the triage process has Accepted may be submitted at any time so long as all integration criteria have been met.

Questions & Answers

What is the team process?
We use a modified Scrum process
  • We intend to release development builds every Wednesday
    • We focus on integration of new things on Mondays.
    • Wednesday is test, release, and reprioritization day.
    • We will create a Second Life Development Viewer channel for the releases.
What is our release strategy?
See the Viewer Integration and Release Processes page
What are the steps to develop a Viewer change?
See Develop Viewer Code
How are “big features” released?
The project team for the feature (whether inside or outside Linden Lab) creates a clone of the development repository and develops the feature there; we call this a "Project branch".
Projects are encouraged to build the Viewer from the Project branch and give it to residents to test and experiment with the feature.
When the feature is ready, the Snowstorm team pulls it back to the development repository.
Our goal is short term, low cost, individual fixes, aimed at incremental improvements that will improve the Viewer. Other teams within Linden Lab will normally be aiming for larger, feature-centered, high-value projects that will require integration of resources across multiple technology centers.
Who gets commit access?
Individual development teams decide who has commit access to their Project branches.
For the Development branch, the Snowstorm Team has a JIRA-based queue for requests for integration (pull requests) from Project branches. Nothing in that queue should be a surprise, as all of it should have gone through the Viewer Product Team. The Snowstorm team commits to servicing the items in that queue within 1 business day.
Which issue tracker are we using?
We’ll continue to use pJira until the new integrated Jira 4 becomes available. We’ll be using VWR and moving appropriate open issues from SNOW and Linden Lab internal projects (these will become part of the Snowstorm Team backlog).