TFS2012 vs Jetbrains TeamCity+YouTrack [closed] - tfs

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We have used TFS2012 on the cloud and we don't like that there's no reporting service so we're looking to move to on-premise TFS2012. At the same time, we're starting to like Git and we're thinking that it may make more sense than TFS version control.
This obviously requires research and developers to "play admin" so we're taking the time to evaluate whether Jetbrains' highly-appraised solutions are a better fit.
Given a team of 6-8 people that run with Scrum that is eager to be on the "best practice" train for agile and a project that combines .NET technologies for the back-end and Javascript (AngularJS) on the front-end, considering a move from TFS2012 to a TeamCity/YouTrack/Git stack for scrum planning, source control, continuous integration and quality control and issue tracking:
What would/could we miss from TFS2012?
What are we going to enjoy from the new stack?
Is the new stack falling short in any respect that TFS is not and vice versa?
Note: This is a question specific to TFS2012 - there are several comparisons on SO and elsewhere for previous TFS versions and TeamCity, perhaps YouTrack too.

Here's a brief account of my two-week long experience with Git/YouTrack vs 6 months of TFS.
The new stack feels a lot more lightweight than TFS. Both installing (we tried the on-premise TFS shortly) and using TFS gives the sense of a very heavyweight enterprise suite for no reason. This is partially an illusion that the UI design gives but it seems that with YouTrack:
Takes less clicks to do anything and even less if you learn some shortcuts and how to use the commands.
It's easier to navigate between the views - there are less of them but give a better overview than TFS. This is not because they present more info - in most cases they present less info - but because they give the key information in a visually clean way.
The ability to run ad-hoc searches in YouTrack makes such a big difference! In TFS you have to create a query with a UI that tries to makes it easier but ends up making it harder for you than just typing the query params. I mean, we are developers after all.
I've enjoyed the local commits of Git and how pull requests work to integrate work from other people into a main branch vs merging on TFS.
TeamCity has also been very lightweight to use - though I have no experience with CI on TFS. Having said that, it's an area I didn't delve into much because I was already spending a lot of time managing TFS.
Hiccups and things that I miss from TFS:
It's a little harder to manage releases with YouTrack or I haven't figured out how to do it effectively. The management and separation of product backlog, release backlog and sprint backlog is easier on TFS.
There's no way to plan a sprint based on capacity of developers - I believe JetBrains is working on that though.
You gotta pay for a private Git - though YouTrack/TeamCity are free and full-featured for a few users.
I'll try and keep this up to date as I go.

Related

POC for Team Foundation Server [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 months ago.
Improve this question
I am technical guys from bank and my job scope is mainly on ETL and reporting. We just set up ETL team in my department and we want to have some tool that can help us on source code control and release management. One of the tool that I know in the market is TFS.
I'm going to ask TFS vendor to provide POC to us, and since my knowledge on TFS is very limited, I want some suggestion from your guys, what kind of POC I should ask vendor demo to us and are there any sets of scenario idea that highlighting the power of TFS 2010? Thanks you very much
Just focus on the things your need, Source Control and Release Management.
Source control
You can ask them to show you something like code review, view and manage past versions, use branch isolate risk and so on. Also make sure which version control you want to use, for TFS2015 there are two options(TFVC vs Git).
Moreover, show some related sections, show associating a work item with a checkin and then lead in to the automated builds and tests , which then lead in to the build reports. Bug tracking is also a good thing to demo.
Release Management
Choose some topic below you are interested in
Automate your deployments
Automate approval workflows
Retain full traceability
Apply security policies and manage users
Easily deploy to on-premises and Azure
Extend Release Management with customizations
Cause of the particularity of banking, you can also ask them demo something about reporting, chart and Excel. TFS show nice graphs :)
The POC should show:
How a change is propagated from developer to various environments (development, test, production):
check-in -> unit testing -> build -> release to environment 1 -> integration testing -> release to environment 2 (without rebuilding)
How you can trace from a requirements(user story) to the line of code that is implementing it and back.

How to handle a single team in parallel products? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We are in the process of reviewing scrum and seeing how we can implement it in our product. Since it's fairly new to us and most examples follow a very straightforward cycle we have some questions on how it would apply to our situation.
We are one single team of a few developers. We have 1 product that has several parallel product versions. Example:
Foo/
/version_1
/version_2
/fork_a
/fork_b
Version 1 is our legacy version, which mostly receives bug fixes, but we need to back port the occasional feature from our main development: version 2. Both fork_a and fork_b are special versions of our product, Foo, which can go from an alternative UI to a small extra feature. At the moment, when a fork is made and completed it's treated as closed and nothing is back ported to that branch.
Our problem is that all of these product versions are developed parallel, and we can't visualize how to maintain this. (We are planning to use TFS 2010 as our tool, so any direct examples are useful.)
We though of treating everything as a different product, each with it's own releases and sprints. But that means a developer who needs to do work on feature A in version_1 and feature B in version_2 can be booked in parallel sprints. We basically need to manually manage that. Which means that we cannot properly generate reports to visualize this.
An alternative idea was to treat everything as a single product and drop the release term. Or use quarterly releases and have the sprints of all products under those. But that means that we can have a product release in the first week of a one-month sprint. How do we coop with that? Or how do we then properly view what has been done for a single product release? Because the work developer X did in sprint 1 and 2 can be of no use to the product release we're targeting.
Any real-world examples and ideas on how to manage this are greatly appreciated.
We deal with a similar situation with our Scrum team. We have an even wider range of products that we develop with one team (internal desktop app, web apps, web services). The all have a common technology base (C# .NET), but a wide array of clients and presentation technologies. We actually have enough software developers to break up into separate teams, but we don't have a large enough supporting cast (QA, DBA, BA) to do so. So we end up modifying the classic Scrum approach a little in that not all of our stories can be worked on by the entire team, some are more web dev and some more desktop. We are still having a lot of success with getting feedback on all of our products every 2 weeks in a combined demo to the stakeholders. We release all of the products in sync as well.
I think the best thing to do is just get started with whatever process seems to fit and adjust along the way in your retrospectives. Don't get too hung up on being textbook as all agile processes are meant to be tailored to your specific situation. Doing some things "right" is better than doing nothing while trying to make up your mind.
To see work done on a specific release, use work item association upon checkin, that way you can simply query which items went into which branch.
Use automated builds to automatically associate changesets (and thus work items) to built versions of the product. That way it is easy to figure out which changes have gone into which binaries.
Then finally just let the marketing people decide how to name/number each the release, the technical version number doesn't have to match the marketing version, most Microsoft products are a great example of this, Windows 7 doesn't have a version number of 7, internally it uses 6.1, build 7600.16385.090713-1255.
I have worked in team that runs trunk and branches like what you have. At the time we didn't practise Agile but that didn't stop us using our common sense to pull through. If I was to do it again now I would have a main board for all the work that needs to happen in a sprint but also have sub board for each of the different fork/branches. The main board and sub boards are updated at the same time each day. The sub boards just provide a visualization of the stories and progress specific to each of the forks/branches. Everything on the main board are still completed to done criteria every sprint. Releases need to be synced to the same sprint intervals (time can be different) to keep the team together (no parallel sprints).

Difference between VS2010 Scrum v1.0 vs MSF for Agile software development v5.0 or the latter is the superset? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
How significant are the differences between
Visual Studio Scrum 1.0 & MSF for Agile Software Development v5.0 process templates?
Has anyone used one over the other?
We are currently using external tools (TRAC) for implementing Scrum in our development process, since MS came up with additional process guidance in TFS2010, these 2 things confuse me to the core!
Unsure, which one to adopt!
You're not alone! We have used both, mistakenly starting with the MSF Agile 5.0 template. If you are using Scrum specifically, I would use the Scrum 1.0 template. The Scrum 1.0 template was created with Ken Schwaber, one of the founders of Scrum.
The MSF Agile 5.0 Template contains workbooks which allow a lot of control over reporting data using excel. But, there's many more disadvantages. It doesn't have a release burndown report. In order to produce a usable sprint burndown, you need to record actuals in your tasks. The product backlog is hard to keep groomed. The user story is the only backlog item, so tracking engineering spikes or non functional requirements are awkward.
The Sprint 1.0 uses a "Sprint" workitem type which makes velocity and burndowns a snap.
So, as far as tools go, it's pretty good.
My background summary: TFS Architect/Admin from 2005 to present. Many large and small development organizations from 20 to 7,000. Public and Private sector. HIPAA, FDA, SOX compliance. ALM, SCM, RM.
The answers currently provided are attempting to answer the question from a project level perspective, which is typical, rather than from an organizational and maintenance perspective. And also siding with one camp or another, which should be avoided.
The answer to your question depends on your situation. What type of queries or reports are needed or would like to be seen in the project? And to reiterate what the top response is: the tool should not dictate scrum and to go along with that, does the project need to be somewhat flexible?
A take away from real world scenarios that I have experienced with multiple clients, is that they usually start with the basic Microsoft Visual Studio Scrum 1.0 template and then add things to it. ie: queries, reports, work items, dashboards, etc. Which inevitably leads them back to either the Agile or CMMI template with the burn down reports/queries/work items being added. Have seen this multiple times regardless of the size of organization.
It wouldn't matter if the god of scrum came down and created the scrum template for TFS. A more important question is 'What does your process support; how disciplined are personnel to follow process; and can they agree on semantics? If it's a real bother that the names don't match up, the work item types/names can be changed/added/removed, it's still the process driving it all that matters.
One real important aspect of the templates, from a pure TFS perpsective, is that scrum 1.0 work items may be added to the the agile 5.0 work items easier than the other way around. Why? The fields and data entry points already exist in agile where they do not in scrum. Which in turn reduces the amount of time figuring out which fields that exist in the system to reuse without causing conflicts.
Without sounding factious, and I'm trying not too, it's similar to stating that using Microsoft Word is to confusing to people because there's too many features/functions. Most people ignore these features/functions until there is curiosity or need to use them. Otherwise companies should not have the added expense of paying for Microsoft Word licenses and just use WordPad. Curiosity and need is what promotes understanding and knowledge.
SCRUM template follows some of SCRUM terminology and artefacts. You have sprints instead of iterations, you have user stories instead of requirements, tasks, burndown charts etc. But in my opinion TFS is hard to use because it is not very productive.
We are using similar non MS template for Visual Studio TFS 2008. During my first SCRUM project we used directly TFS and Excel to collect user stories, to prepare tasks etc. It was extremely slow. Just creating tasks for 4-5 developers and 4 weeks sprint (I will never use such long sprint again) took me always about two days. Such a waste. Moreover there was no build in support for printing cards for taskboard. Another disadvantages of non MS template (not sure if this is the same for MS one) is that each reported bug is immediately added to product backlog (it is new user story), there is no way to collect constraints, user stories don't have predefined field for acceptance criteria and tasks don't have field for real time spent on task completion (good for retrospective of estimates). Fields can be probably added if you have TFS under your control but it is not my case.
I still have to use TFS (company policy) but I'm working with user stories and task as much as possible outside the TFS - pen and paper works best. Still TFS is good for tracking sprint progress and automatically generated burndown charts but you have to find good balance between number of tasks, complexity of tasks and sprint length.
This MSDN page might be of use: Choose a Process Template.
It does a decent job at highlighting the differences between the following 3 default process templates.
Scrum Process Template for Visual Studio ALM
MSF for Agile Software Development v6.0
MSF for CMMI Process Improvement v6.0
Keep in mind that it's aimed at the Visual Studio 2012 suite of tools.
The Visual Studio Scrum 1.0 template was build from the ground up to support Scrum, using Scrum terminology as much as possible. It is being developed in coordination with Scrum.org and the Scrum Professional Developer program. If you are using Scrum, the VSS 1.0 template will offer you less friction than the Agile template.
That said, you should be scrummy and question if adopting TFS and the VSS 1.0 template could provide you better value than using the current tool you are using now. Questions to ask here are: will you gain benefit from the integration of Product Backlog Items, Sprint Tasks, Code Checkins, CI builds, Manual Tests, Coded Tests, Unit Test Results, etc.
Perhaps some of the standard reports allow you to gain a better insight in the Quality of the Product Increment. E.g. Are you Done? Unit Tests & Code Coverage reports, Test Reports, Build Reports. Do these help in answering that question better?
Perhaps none of this is applicable and using your current solution is the best way for your team to improve. Its up to you to experiment and decide.
(Or you can hire me, and I'll gladly help you decide after having worked in the team and finding out what issues could possibly improve your team ;-)

How is TFS 2010 used within Microsoft for scrum sprinting? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 1 year ago.
Improve this question
We are a Microsoft shop, and so using other incompatible tools for Scrum does not make as much sense. So, we use TFS - for Scrum as well.
However, we found TFS templates to be rather simplistic. There is no way that MSFT can release the next Visual Studio, or the next .Net framework by doing all of the planning using TFS tasks.
What is Microsoft hiding from the rest of the world?
Alternatively, how do you use TFS 2010 for scrum in enterprise (=huge size) software?
EDIT: Specifically, trying to figure out how different pieces fit together can be hard. Imagine the following epic (as if it was developed in .Net 5.0 and not done in .net 3.5): We want to implement the LINQ library. Now, let us size this task ... before the can do so, they need to carefully define all of the stories IN DETAIL, and only then try to put it together. Still, the amount of use cases is huge, and interactions between different parts of the system. Without lots of Wiki pages, lots of Word documents, a combination of these two, and perhaps something else, I do not see how they could keep track of things.
Microsoft has released a new scrum template for 2010.
http://blogs.msdn.com/b/bharry/archive/2010/06/07/a-scrum-process-template-for-tfs.aspx
There's a 9 post series on the old TeamsWitTools blog about how dev-div uses TFS. The first post in the series talks about the breakdown of epics. This is probably a good place to start.
I don't know about TFS 2010, but I do know that the TFS 2008 has some important features to Scrum.
Once setup correctly, TFS can launch a bunch of tasks automatically for huge scale projects, which Scrum was founded to manage very productively. Some of these tasks is to compile a build at scheduled time. In the case of Scrum, I would say after each Sprint, after that the commitments of the Team has been done. "Done" is a very important word in Scrum, this means that here is nothing left to be done. So, think of it as all of the kind of testing, test automation, etc. is done. Your code works, 150% sure, bug free. Anyway, TFS can report the tests that failed, and track down who this task was assigned to (Team, not individual).
After having taken an eye out to #Shiraz Bhaiji's link, I think that FS 2010 got all what you need with Scrum. You got the Burndown chart, which purpose is to illustrate the work remaining to be done throughout the time, you got the velocity chart, which gives significant information about the Team's velocity to work together. Keep in mind that the velocity of a Team shall augment with the time the Team works together.
I see no problem at all using TFS2010 and set it up to work with Scrum, as it can track the Product Backlog, and should allow you to write Team's Sprint Backlog as well. In fact, there is now, with the coming of VS2010, the PSD certification, which is Professional Scrum Developer certification.
Microsoft Developers Tools (TFS and VS) is Scrum "compatible".

Is Scrum for Team System a good tool for managing the scrum process? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 5 years ago.
Improve this question
We've had several sprints with the traditional whiteboard and PostIt notes and are ready to move forward to integrating the process into our Team System environment. One tool we're considering is Conchango's "Scrum for Team System" (http://www.scrumforteamsystem.com/en/)
Has anyone tried this tool in a real world scrum process? Was your experience positive or negative? Is the tool worth the licensing fee in your opinion?
We use Scrum For Team System and love it. It really does a good job of merging the TFS and Scrum processes.
We also got the task board (the part you have to pay for) and really like that too.
Even with Scrum for Team System, TFS via visual studio is not good for planning meetings (though it is ok for standups) The task board helps a lot in visualizing the work remaining and in moving it around.
Before we got the Task Board, we would use post it notes for our planning meetings and then enter them in to TFS after. And even though the Task Board is nice, if you don't have at least 2 people working on it in a planning meeting then it is not enough. We have 3 laptops going for a team of 5 + 1 (scrum master) and that works great. If you don't have that then I would still think about doing post it notes.
The task board allows you to refresh and see what the other are entering in. We have one computer hooked up to a projector so that the others can see what is happening. We all then brainstorm like we would on post it notes, but the people on laptops enter the data into TFS.
For us, it works great!
Later Note: If you do choose the Scrum For Team System template then I STRONGLY recommend that you read the Process Guidance. We had to figure out a few thing the hard way before we sat down and read it. Especially on how to handle defects (i.e. when is it a Bug and when it is a Sprint Back Log Item that goes back to "In Progress")
The templates are free. It is only the Task Board Application that cost a modest fee. You can use the templates without the Task Board although I highly recommend using it as wll. I think the biggest advantage for my team has been that the ScrumForTeamSystem tempaltes integrate into VS and provide a seamless feel with the rest of the development environment.
We love the ability to attach the PBI's to check-ins and have them show up on the Daily Build report.
If you are are missing something you need, you can fire up the VS template editortweak the templates to your liking. For us, we added a "Requested By" field and a "Testing Status" field to the PBI template.
The 2 shortcommings that annoyed us were that the "State" of the PBI's were not the same as SBI's (No Ready For Test on the PBI). We do testing/validation at the feature level and not the task level and wanted to track the PBIs status so we had to add our own custom field. The second issue was that there is no report out-of-the-box for a PBI burndown/up at the Sprint level. So you can't see how you are doing at delivering stories, only tasks. You have to make your own.
We don't really use the "Bug" template much (we ship flawless code:) ). No really, there is no such thing as a bug against work in a sprint; so the only time we record a bug is if a client finds an issue in the production code where it didn't work as advertised.
As Vaccano said, it isn't nearly as fast as a whiteboard or post-its in a meeting environment but if you get a couple people really good at using the tool and a couple of laptops you can make it work.
I evaluated several products and the simplicity and price of ScrumForTeamSystem can't be beat.
Like others have said, beware that the Conchango template handles bugs very differently. The idea that unreleased Backlog Items are bug-free is not just a suggestion; there is literally no way to track bugs affecting the current sprint's work. I found that this disadvantage outweighed the advantages.
If you are searching for an online Whiteboard you can have a look at the Scrum tool Agilo. It was build especially for distributed teams which do not have the chance to work on a "real" whiteboard.
For a quick information you can have a look at this video.
The 3.0 version of the template for VS 2010 changes how the tool models Scrum in ways to very effectively support multi-team projects and the typical interactions one will find in larger projects.
Regardless of version, it is currently my default answer for Scrum projects in Microsoft environments. As mentioned, the task board and the (new) ScrumMaster's workbench are incredibly valuable as well!
We build Urban Turtle that extend the Microsoft ALM platform with an intuitive Web interface and simplify your agile project management. By providing a Task Board and a planning board directly in web access you don't have to synchronize anything. The installation is a simple process. 2 minutes to install on the web access server. Nothing to setup on the client desktop.
Don't take my word for cash have a look at what Brian Harry from Microsoft said about the product :
http://blogs.msdn.com/b/bharry/archive/2010/10/21/urban-turtle-3-5-released.aspx
Have a look at the website and send me your feedback
urbanturtle.com
Dominic Danis
Product Owner.

Resources