Use "hours" for estimations in VSTS - azure-devops

I was looking on VSTS, but I didn't found how to estimate our Tasks/users story in hours instead of Story point.
Is this possible?
I know the pro(and cons) of story points, buf for now our team want to move progressively with agile, and we don't want to start to estimate in story points.
Thank you!
Edit as requested, I currently use the agile template(but open to change)

Declare "One story point is equal to one hour" and use the existing field as-is.

TL;DR
Use the built-in scrum template
If you use the built-in Scrum template Tasks have Remaining Work and PBI's have Effort. Nothing says Remaing Work = hours or Effort = story points.
If you want to estimate your tasks in number of 4 hour work blocks it will take to complete you can do that, if you want to do it in hours you can do that. Same goes for effort you can put any number in there you want as long as you make sure everyone in your team understands what 1 or 5 or 10 means.
So if possible switch to the scrum template, your question is exactly the reason why these fields have a more generic name than Story Points or Remaining Hours in the scrum template. Added bonus is that your team can switch definition if they feel like some other number or unit suits your estimation process better.
This blog post makes a good comparison between the built-in different templates:
https://nkdagility.com/choosing-a-process-template-for-your-team-project/

If you are an administrator in VSTS select the VSTS button at the top left of the screen. Then select then select the cog.
This will take you to a page where you can edit a number of settings. Select Process.
In the process window choose the process your project uses. You can see which one your project is using by the numbers on the right hand side of the process. Once you’ve found your process select it by clicking.
Then choose the work item type you wish to change. So in this instance user story.
Once in the task you want to change select add group and name the group want to add and select it's placement on the card.
When the group has been added select it and choose the ellipses (...). Then select Add Field. Customise the field to be either a new one of your choosing or choose a predefined one.
Once you have added this step repeat the process on this page to customise and style the task how you like. Once done navigate back to your project in VSTS and the changes will be applied

Related

Is there a way to filter an Azure DevOps board using dates?

On the Boards section of Azure DevOps, there's a nice filter bar. It contains filters for:
Type
Assigned to
Tags
Iteration
Area
Parent work item
As far as I can see, there's no way to use the section outlined in yellow to filter for work items (for example) created within the last seven days, or due within the next 14 days.
Things I've tried:
Creating a query and viewing results as a board (can't see an option to do that)
Finding a way to script work items into iterations based on date, and then filtering the board based on iteration
Is there a way to do this? It's specifically a board I'd like, as opposed to a Backlog-style list.
Just change the board's settings, Is this what you want?

Azure Devops Tracking committed vs actuals

My organization is trying to find an out of the box way with Azure DevOps to see which features were 'committed to' at the start of the release, and which are delivered. The Velocity report would be perfect, except Features are assigned to areas that are configured to run off of sprints that are child-iterations of larger release-iterations, and we want the data at the release-iteration level.
We're able to build queries that can mostly deliver this, but that method doesn't track changes, just shows you a current point in time view of how things are.
The goal is to have data we can use to evaluate if we're making commitments we can keep.
How have other organizations tackled this sort of problem? How do you tie committed vs. actuals at the Feature level?
I could understand your requirements. But based on my test, Velocity Report has some limitations:
For example:
If the Iteration Path has Child Iteration, it will show the child Iteration on Velocity Report. As you said , release-iteration will not show in the Report.
So it cannot meet all your needs.
I tested some related extensions and existing charts, and it seems that there is no tool that can improve or replace the Velocity Report .
For a workaround:
For Child Iteration, you still could use the Velocity Report to record the process.
For the Parent Iteration, you could create different queries to show the process(Planned
, Completed,Completed Late and so on). You can use query to get the work item list of the corresponding state.
Here are examples:
Planned :
Completed:
...
Then you could add them to the Dashboards(Query Title Widget):
On the other hand, this requirement is valuable.
You could add your request for this feature on our UserVoice site, which is our main forum for product suggestions.

remaining work by activity as a column or calculated field

I would like to be able to easily see the sum of remaining work (on a Feature) for each activity.
In this example-picture I have a Feature "Keys 0.1" that I would like to add to my sprint. Say I have 60hrs free in the sprint.
At first glance it looks like I can comfortably add the entire feature without any problems. BUT!
Lets say the sprint has room for 20h frontend work and 40h backend work. If that's the case then I cant really add this Feature since it's too much frontend and not enough backend. Our current sollution is to pretty much add stuff, checking if we're fine and removing if we're not.
Is it possible to somehow get "Sum of remaining work Frontend" and "Sum of remaining work Backend" as columns?
One thing I tried was to add 2 new custom fields: "Remaining work Frontend" and "Remaining work Backend". This works fine for the backlog, but when I added tasks to my sprint it didn't use those fields to calculate capacity/remaining time. Does anyone have any ideas of how to get a better overview of how much time something will take grouped by activity?
Get "Sum of remaining work Frontend" and "Sum of remaining work Backend" as columns
Steps:
Open process->select work item type->add new field Create a field Remaining work Frontend and Remaining work Backend(Type: Decimal).
Open Backlog page->Column Options->Add a rollup column->Configure custom rollup->select Roll up as Total and configure the sum column.
In addition, we cannot use these fields to calculate capacity/remaining time.
I hope it can help you.
Update1
We found a similar suggestion ticket. You can add comments in the ticket to describe the feature. To receive the notification about it in time, you can vote and follow this suggestion ticket.
I hope this can help you.

Increment Planning Query

Our teams are using Azure DevOps. We're using the Agile framework and an enterprise release management approach (essentially, SAFe). Our increments are based on the quarters of the year -- for us, this equals 6 sprints.
My goal is to be able to view work scheduled within the current increment as the sprints move along.
I currently have a query that displays current sprint plus the future 5, to give me 3 month's worth of work (see below).
The trouble with this is it has to be edited after each sprint so it only displays the current increment's work. (I have to change it to include the previous sprint and reduce the number of future sprints otherwise it doesn't display completed work in this increment, as well as showing upcoming work from the next increment.)
Increment Planning Query
Sorry for any inconvenience.
I am afraid there is no such increment planning query, that because the value of CurrentIteration will be different due to the change of the current date.
If you want use the #CurrentIteration macros, you have to modify this query after each sprint.
As workaround, you could specify the each Iteration value in the query, like:
With this workaround, we do not need modify the query after each sprint, just need update it after each quarter.
If above workaround not work for you, you could add your request for this feature on our UserVoice site (https://developercommunity.visualstudio.com/content/idea/post.html?space=21 ), which is our main forum for product suggestions. Thank you for helping us build a better Azure DevOps:
Hope this helps.

How do I structure my project folder in eclipse for Cucumber project which has sprint wise delivery

I am trying to create an automation framework using cucumber and trying to replicate a real time scenario (sprint wise delivery).
How do I structure my folders/source folders/packages in eclipse? Below is the structure which I am about to follow but I am not quite convinced if it is right.
I am trying to structure in such a way that when I give the command
"mvn test -Dcucumber.options="src\test\resources\sprint1\features", then it should run all the features under sprint1, similarly for sprint2 and so on.
Any suggestions or inputs would be helpful.
P.S: Since I am new to cucumber, a detailed explaination on the folder structure for real time sprint wise delivery would be much appreciated.
Thanks :)
I would not consider the file structure you are thinking of.
The reason is that after a while, it doesn't matter when a feature was added to the system. So organizing features based on time is a bad idea.
If you still need to be able to run the features for a specific sprint, consider using tags instead. That would allow you only to run the features connected to the sprint you are interested in.
I would not to that either, because after a while it doesn't matter which sprint a piece of functionality was added. It should still pass all executions, even if it is 27 sprints old.
If this organization is bad, how should you do it instead?
This is a question where a lot of people have a lot of opinions and the debate can get very heated.
My take is that it is interesting to make sure that the code is easy to use. With that I mean easy to navigate and understand for a new developer. If you want, think of usability in any other product.
Given this, I would organize the features after functional areas in different packages. A package for each area, one for viewing products, one for ordering products, one for paying etc.
I would also try to take a step further and organize the source code in a similar way.
But I would never organize using a temporal approach as you are thinking of.
You should not organize your tests as per the sprint because a particular sprint will end on a particular time. If you want to run some feature files together for temporary basis(till the time sprint is not over), you can add tags on the top in the feature files.
For example:
You have following 2 feature files:
src/test/resources/sprint1/file1.feature
src/test/resources/sprint1/file2.feature
Just add "#sprint1" on top of each feature as shown below:
//1. file1.feature
#sprint1
Feature: sprint1 : features : file1
Scenario: Some scenario desc..
Given ....
When ....
Then ....
//2. file2.feature
#sprint1
Feature: sprint1 : features : file1
Scenario: Some scenario desc..
Given ....
When ....
Then ....
Now to run these both files you need to execute the following code in your command prompt:
cucumber --tags #sprint1
By executing this command, all the files which contains "#sprint1" tag will run. After the sprint is over, you can delete this extra tag from feature files