Difference between revisions of "Project Snowstorm"

From Second Life Wiki
Jump to navigation Jump to search
m
Line 99: Line 99:
; What is our release strategy?
; What is our release strategy?
: See the [[Viewer Integration and Release Processes]] page
: 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?
; 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".
: 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".

Revision as of 18:38, 18 August 2010



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 Snowstorm Project Viewer Backlog; the current list of product plans and priorities. The Backlog is a living document, subject to change based on community feedback and resource availability.


Team

Communications

email list: opensource-dev (archive)
irc: #opensl on freenode
Twitter stream
Blog
[Calendar] (ical)
Standup: M-F 6:30am-7:00am PDT at Scrum Platform
Downloads
The Latest 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 be worked on from the Product Backlog to construct the Sprint Backlog - the list of tasks we are committing to complete in the Sprint. Once chosen, this list is not normally changed during the Sprint. Progress is tracked 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.

  • Viewer Integration and Release Processes
    • How To Submit A Viewer Change
      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).