Skip to content

Development Process

Erich Gamma edited this page Dec 2, 2015 · 27 revisions

Roadmap

The team has a 6 month high level Roadmap which defines high level themes and features to be addressed in this timeframe.

Iterations

We will work in monthly iterations on the items on the roadmap. Iterations are roughly month based, rather than week based. We will begin a milestone on a Monday and end on a Friday, meaning that each milestone can have a different duration, depending on how the weeks align.

At the end of each iteration we want to have a version of Code that can be used by Code community. The work planned during an iteration is captured in the iteration plan. The feature highlights of each iteration are highlighted in the release notes.

Planning

Before each milestone we will prioritize features to implement and bugs to fix in the upcoming iteration. The result of this meeting will be a set of features on the Roadmap along with a set of bugs marked to be fixed in the upcoming Milestone. Together, this encompasses the planned work for the upcoming month.

Each feature should have design or description of the feature that can be contributed by, augmented, and commented upon by the community.

Inside an Iteration

We work in weekly segments:

  • Week 1: Reduce debt introduced in the previous iteration, address critical issues uncovered in the previous iteration, plan the next iteration
  • Week 2: Work according the plan
  • Week 3+: Work according the plan
  • Final Week: End game, the team tests the new features according a test plan, fixes bugs, and updates the documentation

Triage

Bugs and features will be assigned a milestone and within a milestone they will be assigned a priority. The priority dictates the order in which issues should be addressed. A P1 bug (something that we think is critical for the milestone) is to be addressed before a P2 bug.

Weekly

Each week we will manage work items, crossing off completed features, and triaging bugs. At the end of the milestone we will strive for 0 bugs and 0 issues in the milestone, indicating we are done. This means that bugs and features will be postponed to later milestones.

End Game

The final week of the milestone is what we call the "end game". During this week we will wrap up any feature work, we will test, and then we will fix the critical bugs for that milestone.

At the end of this process we will produce a build and release it on the insiders update stream. We will monitor incoming issues from this release, fix any critical bugs that arise, and then produce a final stable release for the milestone.

Clone this wiki locally