Difference between revisions of "Project Snowstorm"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
{{Multi-lang}}
{{Multi-lang}}
__NOTOC__
__NOTOC__
{{Open Source Portal/Links}}
{{Open Source Portal/Links}}


 
<div style="padding: 0.5em; font-size: 11pt;">'''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.'''</div>
'''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.'''
 


{|cellspacing="5px"
{|cellspacing="5px"
|valign="top" width="50%"|
|valign="top" width="50%"|
<div id="box">
<div id="box">
==Mission==
==Mission==
<div style="padding: 0.5em">
<div style="padding: 0.5em">
* '''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.'''
'''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.'''
</div>
</div></div>


----
<div id="box">
==Goals==
==Goals==
<div style="padding: 0.5em">
<div style="padding: 0.5em">
Evaluate & Prioritize work by asking:
'''Evaluate & Prioritize work by asking''':
:'''Does it make Second Life more Fast, Easy, and Fun?'''
:''Does it make Second Life more Fast, Easy, and Fun?''


* Work in the open (share work processes, branches, and backlog)
'''Work in the open''':
** Demonstrate rapid responsiveness to feedback and contributions from the open source community
* Share work processes, branches, and backlog.
** Provide builds from the Development (integration) repository bi-weekly
* Demonstrate rapid responsiveness to feedback and contributions from the open source community
* Improve user experience
* Provide builds from the Development (integration) repository bi-weekly
** Clean up broken glass
'''Improve user experience''':
** Fix viewer bugs
* Clean up broken glass
** Import improvements from Snowglobe, other Third Party Viewers, and open source contributors
* Fix viewer bugs
** Add small features that have high value/low cost
* 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 [[https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodENWR2xPNW5kUl9veXJmS0VDOUN4S0E&hl=en Product Backlog]]; the current list of product plans and priorities.  The Backlog is a living document, subject to change based on community feedback, business priority, and coordination with other teams in the Lab.
For specific plans, see the [https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodENWR2xPNW5kUl9veXJmS0VDOUN4S0E&hl=en 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.
</div>
</div></div>
----


<div id="box">
==Team==
==Team==


Line 55: Line 51:


<div style="padding: 0.5em">
<div style="padding: 0.5em">
:email list: [https://lists.secondlife.com/cgi-bin/mailman/listinfo/opensource-dev opensource-dev] ([http://lists.secondlife.com/pipermail/opensource-dev/ archive])
*Email list: [https://lists.secondlife.com/cgi-bin/mailman/listinfo/opensource-dev opensource-dev] ([http://lists.secondlife.com/pipermail/opensource-dev/ archive])
:irc: [irc://irc.freenode.org/opensl #opensl on freenode]
*IRC: [irc://irc.freenode.org/opensl #opensl on freenode]
:[http://twitter.com/snowstormsl Twitter stream]
*[http://twitter.com/snowstormsl Twitter stream]
:[http://blogs.secondlife.com/community/technology/snowstorm Blog]
*[http://blogs.secondlife.com/community/technology/snowstorm Blog]
:[[http://www.google.com/calendar/hosted/lindenlab.com/embed?src=lindenlab.com_k0e2g2gmqrhm0esbrh31f0qbac%40group.calendar.google.com&ctz=America/Los_Angeles Calendar]] ([http://www.google.com/calendar/ical/lindenlab.com_k0e2g2gmqrhm0esbrh31f0qbac%40group.calendar.google.com/public/basic.ics ical])
*[http://www.google.com/calendar/hosted/lindenlab.com/embed?src=lindenlab.com_k0e2g2gmqrhm0esbrh31f0qbac%40group.calendar.google.com&ctz=America/Los_Angeles Calendar] ([http://www.google.com/calendar/ical/lindenlab.com_k0e2g2gmqrhm0esbrh31f0qbac%40group.calendar.google.com/public/basic.ics ical])
::Daily Scrum: M-F 6:30am-6:45am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 Scrum Platform]
*Daily Scrum: M-F 6:30am-6:45am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 Scrum Platform]
:Downloads
Downloads
:*[http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/oz_viewer-development/latest.html Latest Build]  
*[http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/oz_viewer-development/latest.html Latest Build]  
:::''The Latest build may not have been tested at all - use at your own risk.''
NOTE: ''The latest build may not have been tested at all - use at your own risk.''
</div>
</div></div>
----


<div id="box">
==Processes==
==Processes==


<div style="padding: 0.5em">
<div style="padding: 0.5em">


Snowstorm uses a modified [http://en.wikipedia.org/wiki/Scrum_%28development%29 Scrum] process.   
Snowstorm uses a modified [http://en.wikipedia.org/wiki/Scrum_%28development%29 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:
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:
* [[https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodENWR2xPNW5kUl9veXJmS0VDOUN4S0E&hl=en Product Backlog]]
* [https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodENWR2xPNW5kUl9veXJmS0VDOUN4S0E&hl=en Product Backlog].
** [[How To Propose A Viewer Feature]]
** [[How To Propose A Viewer Feature]]
Work is organized into two week ''Sprint''s.  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 SprintProgress 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:
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 sprintWe 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:
* [[https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodDlQeGhfU3k5MHRWdXc1X0Z6eTZWTmc&hl=en Sprint Backlog]]
* [https://spreadsheets.google.com/ccc?key=0AnxJWUubGIsodDlQeGhfU3k5MHRWdXc1X0Z6eTZWTmc&hl=en Sprint Backlog]
** Daily Scrum is 6:30am-7:30am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 Scrum Platform]
** Daily scrum is 6:30am-7:30am {{SLT}} at [http://maps.secondlife.com/secondlife/Hippotropolis/146/73/26 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.''
**: ''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.''
** [[Snowstorm Daily Scrum Archive|Daily Scrum Archive]]
** [[Snowstorm Daily Scrum Archive|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.   
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]]
* [[Viewer Integration and Release Processes]]
** [[How To Submit A Viewer Change]]
** [[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.''
**: ''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.''


</div></div>
</div></div>

Revision as of 15:07, 23 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 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

NOTE: 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 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.

  • 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).