Skip to content

Ownership and Charter Alignment #2325

@tkapin

Description

@tkapin

Motivation

The goal of this epic is to align ownership of concrete assets, processes and responsibilities with the recently defined charters of the .NET Engineering Services and .NET Product Construction teams.

The full motivation for this change is described in the .NET Product Construction Charter document.

Business Objectives

The overall business objective is to clearly define charter for each team and to align ownership of our assets, processes and responsibilities with those charters for both teams so that both the .NET Engineering Services and .NET Product Construction teams could be successful together as group.

Ownership Alignment is concrete and well defined

The goal of this business objective is to create initial clarity about how does each of the team's charters concretely align our assets, processes and other responsibilities. The goal isn't to associate each of those with exactly one charter, but to define an ownership model, which can be either exclusive or shared so that we can work together the most efficient way.

  • Concrete assets (code, repos, pipelines, services, other infrastructure, Azure resources, etc.)
  • Processes (rollouts, First Responders, FROPs and Operations, Coherency Quarterbacking, Triage and issue management, S360 / SDL, etc.)
  • Other responsibilities (Budget maintenance, community involvement, management reviews and reporting, etc.)

Ownership Alignment is smooth and doesn't affect our customers

After the new ownership model is designed, it's necessary to implement changes required to align the ownership with each of the team's charter. This will be a non-trivial process as it will require significant knowledge transition between the teams, mainly from Redmond to Prague.

The primary objective is that the Ownership Alignment process must not affect the quality of services and support we provide to our customers.

In order to ensure the above, it's necessary to answer the following questions:

Roadmap

flowchart TB
classDef doneClass fill:#31EC56
classDef inProgressClass fill:#51e2f5
classDef notStartedClass fill:#ddddd
subgraph Legend
    DONE:::doneClass
    in-progress[IN PROGRESS]:::inProgressClass
    not-started[NOT STARTED]:::notStartedClass
end
dnceng-shared[Create dnceng-shared, move shared libreries and publish them from there]:::doneClass
helix-service[ES Create a dnceng-shared -> helix-service Maestro subscription and consume the libraries]:::doneClass
arcade-services[Create a dnceng-shared -> arcade-services Maestro subscription and consume the libraries. Delete the Shared libraries implementation from arcade-services]:::doneClass
dnceng[Create dotnet/dnceng repo and port all of the internal tools from arcade-services. Create dnceng-shared -> dnceng subscription]:::doneClass
dnceng-staging[Succesfully deploy internal tools from dotnet/dnceng to the staging environment]:::doneClass
arcade-services-disable[Disable internal tools rollouts from arcade-services]:::doneClass
dnceng-production[Rollout internal tools from dnceng]:::doneClass
arcade-services-cleanup[Cleanup arcade-services]:::doneClass
arcade-services-rollouts["The Product Construction team starts rolling out arcade-services"]:::doneClass
assess-pme-preparation["Assess the amount of work it would take, and make a plan to migrate Maestro, Maestro++ and the BAR into a Prod Con subscription"]:::inProgressClass
telemetry-cluster["Migrate Telemetry Service outside of the Maestro SF cluster (end of July)"]:::inProgressClass
subgraph PME migration preparation
  maestro-subscription[Create new Maestro subscriptions under the Product Construction Service tree]:::notStartedClass
  maestro-migrate["Migrate Maestro++ into the new subscription (6 weeks)"]:::notStartedClass
  maestro-legacy-migrate["Migrate Legacy Maestro into the new subscription (2 weeks)"]:::notStartedClass
  BAR-migrate["Migrate the BuildAssetRegistry database into the new subscription (3 weeks)"]:::notStartedClass
end
issue-management[Migrate product construction issues to arcade-services and create a new workflow]:::doneClass
dnceng-shared-->arcade-services
dnceng-shared-->helix-service
arcade-services-->dnceng
dnceng-->dnceng-staging
dnceng-staging-->arcade-services-disable
arcade-services-disable-->dnceng-production
dnceng-production-->arcade-services-cleanup
arcade-services-cleanup-->arcade-services-rollouts
arcade-services-rollouts-->assess-pme-preparation
assess-pme-preparation-->maestro-subscription
maestro-subscription-->maestro-legacy-migrate
maestro-subscription-->BAR-migrate
maestro-subscription-->maestro-migrate
dnceng-production-->telemetry-cluster
Loading

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions