How to change a project from Scrum to CMMI in VSTS - azure-devops

We migrated a project from TFS 2015 to VSTS recently as a Scrum project as it was in TFS. But we want the project to be using the CMMI process template.
Now, how can we migrate the existing project from Scrum to CMMI process template?

According to MS documentation (here) ...
You can change the process a team project uses from a system process
or inherited process to an inherited process. You can only change team
projects to use another process that inherits from the same system
process. That is, you can change an Agile-based team project to any
process you created from the Agile system process as well as to the
Agile process. Whereas, you can't change a Scrum-based team project to
an Agile-derived inherited process.
But you could still create a new team project based on CMMI and then move your source code and workitems to that new team project. To move workitems you can export them to Excel, create a new Excel connection to VSTS, that is connected to the new team project, and then copy the workitems and pushing them from the new Excel file into the new project.

You can custom a process when using Hosted XML, the changes made to the process template are then applied to all team projects using that process.
More information: Customize a process when using Hosted XML

Related

Azure Devops Server 2019 - Process template invisible

we upgraded a TFS2017 to Azure Devops Server 2019.
We had a custom XML process template on TFS2017 that we want to migrate to inherited processes. But we cannot see this process template in the process page. We only see the inherited processes (Agile, CMMI, ...) and the basic XML templates which where migrated ("Microsoft Visual Studio Scrum 2013.3", "MSF for Agile Software Development 2013.2", ...)
There is a project with this custom template and we can update the process with WIT commands.
Does anyone know how to make this custom process visible in the process page? then we will be able to migrate it.

Restore Out the Box Process

I am moving from TFS 2015 to Azure DevOps in the cloud.
Following the migration guide I have done the following:
TFS 2015 -> TFS 2018 -> DevOps 2020.
When running the Migrator tool I am getting an error. The OTB process has errors in them.
If I don't care about the changes made in my process is there a simple way to get to the OTB process?
The Process validation error in TryMatchOobProcesses.log file would block your projects
from landing in the inherited process model(OTB process). But You don't have to fix these errors. They will not prevent you from doing an import. And all your customizations will be imported to Hosted XML process model.
See below extracts from the Process template validation.
If the project was created with the Agile, Scrum, or CMMI process template, and was never customized, the project will use the Inheritance process model. In all other cases, the data migration tool considers the project as customized, and the project will use the Hosted XML process model.
TryMatchOobProcesses.log - Lists for each project the target process model - Inheritance or Hosted XML. For projects that are set to target the Hosted XML process model, it explains why they are considered to be customized. You don't have to fix these errors, but they give you guidance what to do in case you want to migrate into the Inheritance process model
And now DevOps 2020 services supports Moving from Hosted XML Process to Inherited Process. See the below official documents for more information about what you need to pay attention to when moving to Inherited Process.
Clone a Hosted XML process to an Inheritance process
Change a project from Hosted XML to an inherited process
So according to Document and the Migration Guide(Page-33), you can just import the process without fixing the Process validation error in TryMatchOobProcesses.log. After the process is imported to Hosted XML process. Then you can change it to the Inheritance process.

Azure Devops Services - Change Team project from one hosted process to another

everybody.
We have just successfully migrated from ADServer 2019 to ADServices.
We have a single custom process template that is used for all Team Projects. After migration, each team project has its own Process Template, as expected.
However, as all migrated Process Templates are equal, I would like to group all Team Projects in a single Process Template.
In order to do that, I do these steps:
Go to Organization Settings
Select Process
Click on one of my hosted process templates
Click on "Projects"
Click on "..." and select "Change Process"
A pop up appears, where I can select the target process I like to change. It's important to note that all hosted migrated process seems to be avaliable for the change.
When I select another hosted process, and click "Ok", the message "The feature is disabled. Contact your Azure DevOps Server administrator." appears and the change can't be done.
I have been looking how to enable this feature with no success.
Has anyone had this situation?
If is not possible to do that, is there any way to import the future changes of my process template via command line, in order to update all my team projects ?
Thanks in advance for the help.
Regards,
Alba
We evaluated this situation with MS and the answer is that there is no way to make this change of process template between team projects belonging to different hosted process template, even though the process templates are equals.
As we cannot change our Process Template to hosted process by now, our solution was making a script using AD api, in order to make a bulk update of all process templates for all our team projects.
See https://learn.microsoft.com/en-us/rest/api/azure/devops/processadmin/processes/import%20process%20template?view=azure-devops-rest-6.1
From the screenshot, you were trying to change the process used by the team project from a hosted xml to an inherited process. For your scenario, you need to
cloned your Hosted XML process to an inherited process.
Change a project from Hosted XML to an inherited process.
An useful blog for your reference:
https://devblogs.microsoft.com/devops/moving-from-hosted-xml-process-to-inherited-process-ga/

Migration in TFS 2017 from Scrum to Agile

Is it possible to migrate all data from Scrum dashboard in TFS 2017 to Agile board with all history automatically?
The dashboard are not support to migrate. You'd better tell what specify data you want to migrate.
For on-premises TFS, process template are also not support to change. But in VSTS, you could change the process template of a team project.
Update:
Workitems does not support to move from one team project to another. But if the source team project and the target team project are in the same collection, the workitems of source team project could be accessed in target team projects without migration.
In the target team project, create a query to find out workitems in source team project. Then create a chart for this new query and add it to dashboard of target team project.

Is there any way to check in items or create a new project from files via the API?

We're starting to automate some of our project kickoff processes. We already have a project management app (built in-house) that creates the base Solution and C# project with some default screens, authentication, etc. and populates some standard data like App Name and Namespace.
Ideally, what I'd like to wind up with is clicking a button in our project management app, having it create a VSTS project for the app, pull the template files and manipulate them as-needed, and check it all in to VSTS as a "ground zero" changeset for that newly created VSTS project. At that point, our dev team can just connect to the project and pull it down in Visual Studio.
From what I'm seeing in the REST APIs documentation for VSTS, you can get a list of changesets and files associated with a changeset, but I'm not seeing any references on adding or checking in files.
Is this something that can be done via the APIs, or some other automated extension mojo?
You can use Rest API to create a new project.
For Version Control, since you mentioned "check in as changeset", I assume you are using TFVC. The Rest API can only get the information about TFVC version control, it cannot check in files for now. If you want to check in files via API, you can consider using .NET client libraries for Visual Studio Team Services (and TFS). Refer to this link for details: Team Foundation Version Control client API example for TFS 2010 and newer. It works with VSTS too.