The opinions expressed in these materials are my own and are not necessarily those of Microsoft.
Copyright © Microsoft Corporation. All rights reserved. Unless otherwise indicated, all source code provided is licensed under the Microsoft Public License (Ms-PL).
This article came about as the result of a recent trip I made to a customer. I was presenting on TFS and made the, oft repeated, statement that Agile is better than Waterfall. Now I have to admit that I have never really had anyone challenge me on this assumption since most of the people I know just accept this as truth. On this particular day there were a couple of project managers in the audience and they were none too pleased about my assertion. For the rest of the hour, we went back and forth on the issue. Following are a few of exchanges to the best of my recollection:
Project managers: “You can’t say that agile is better than waterfall, it simply isn’t true.”
Me: “I have twenty years of evidence backing up my claim and I have personally seen it work this way.”
Project managers: “Well, we have government regulations we deal with and you just don’t understand what we do here.”
Me: “I have [another customer] that has to deal with HIPPA requirements and they use Agile so I don’t think your requirements are that strict, are they?”
Project managers: “We don’t use pure Waterfall we use a modified version.”
Me: “So..you’ve already modified your methodology because it’s inadequate. Why not finish the job?”
Essentially the arguments went on from there but were just variations on these three exchanges. To be fair, I tried to explain that I believe Waterfall has it’s place in many, many areas just not in software development but this argument fell on deaf ears. So it got me to thinking: “Am I right?” I had looked at some evidence years ago and had proven it out myself on countless occasions but was that still the case all these years later? Did Agile methodologies still hold sway over Waterfall? Did the evidence prove it? To that end I have assembled evidence for myself and for anyone else who has to fight the Agile battle. Please feel free to add your own evidence (pro or con) in the comments.
Please note that I deal in empirical data. Period. I can find any number of people (including myself) who have had good/bad experiences with Waterfall and good/bad experiences with Agile. On the main, I’ve found Agile to be better in the situations I have dealt with but I have seen plenty of people swear to Waterfall the same way. To even the playing field I have to go to objective data as the measure rather than feelings. The data I found shows many data points but there are two that I think are vital for people to understand:
I looked for any empirical data that would show traditional project management (Waterfall) beating Agile methodologies for software development. After several hours I gave up. I don’t know if it exists but if it does the data showing Waterfall beating Agile is very hard to find.
The exact opposite is true for Agile being better for software development than traditional project management. There were too many studies to include so i decided to focus on one of the key studies that would be most appealing to management. To that end, I found an excellent article written by Dr. David F. Rico, PMP, ACP, CSM entitled “The Business Value of Using Agile Project Management for New Products and Services” (http://davidfrico.com/rico-apm-roi.pdf). It is an extremely concise and well documented survey of data in support of Agile and is a “study of studies” that really summarizes the Agile impact. I suggest you read the entire article but below are the most compelling pieces of data showing improvement of Agile over traditional project management within several studies:
In the same article Dr. Rico also mentions the 2008 Maryland study that “[…]developed a database with over 153 data points on the costs and benefits of agile project management from 72 studies.” [Rico, D. F. (2008). What is the ROI of agile vs. traditional methods? An analysis of extreme programming, testdriven development, pair programming, and scrum (using real options). TickIT International, 10(4), 9-18]:
Additionally, in 2009 there was another study that examined the “[c]ost and benefit metrics, models, and measures were developed based on 52 data points from 32 studies.” [Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.]:
Naturally there are many, many more articles on the benefits of Agile. One other one that springs to mind is Ben Linder’s article entitled, “Evidence of Success of Agile Projects”. (http://www.infoq.com/news/2012/11/success-agile-projects). Linders cites references to other studies that have shown Agile project success as well as guidance for implementation. Feel free to add you own favorite study in the comments section and, if you have a study that shows Waterfall beating Agile I will gladly add it to the main article for balance.
Apologies for the delay on this one. I briefly toyed with the idea of retiring the blog and just letting the posts stand until someone else took up the mantle. After much thought I decided to continue but post as my schedule allows. With that said, it’s time for Visual Studio 2013!!! :)
On October 17th we made Visual Studio 2013 RTM available for folks to download. I’ll be covering/updating posts on the features going forward but I wanted to point out where you can find information today and talk about the launch coming up.
The official Visual Studio 2013 Launch will happen on November 13, 2013. You can go here for more information and join in the fun:
If you just want a quick overview of the new features you can go here:
Soma mentioned the release on his blog with some additional information, here is a piece of what he had to say:
“There are great new features and capabilities in Visual Studio 2013 for every developer, including innovative editor enhancements such as Peek and CodeLens, diagnostics tools for UI responsiveness and energy consumption, major updates for ASP.NET web development, expanded ALM capabilities with Git support and agile portfolio management, and much, much more.”
Brain Harry obviously also mentioned the release on his blog but really didn’t go into much detail:
The Visual Studio team pitched in with their thoughts which can be found here:
Of all the posts, the Office Team post had the most detail about new features in the release. They focused on Office features but I found the article very good and found out some things I didn’t know were available:
So I absolutely LOVE this release. The one defining feature for me is CodeLens (update coming soon) and I can’t say enough good things about the product features. With that said I have three things that deserve mention:
I’m still not sold on the need for signing into Visual Studio. The Visual Studio team explains this as enabling you to have the ability to synchronize settings across machines but, for me at least, this doesn’t seem a compelling enough reason to require the sign-in. You can decide for yourself by reading the post on synchronization here:
Here is the complete official list of benefits you get by signing in:
Synchronizes your Visual Studio settings – Settings that you customize, such as key bindings and color theme, apply immediately when you sign in to Visual Studio on any another device.
Permanently unlocks Visual Studio Express – You can use any edition of Visual Studio Express for as long as you like, instead of being limited to the trial period of 30 days.
Extends the trial period for Visual Studio – You can use Visual Studio Professional, Visual Studio Premium, or Visual Studio Ultimate for 90 days, instead of being limited to the trial period of 30 days.
Unlocks Visual Studio if you use a Microsoft account that's associated with MSDN – If your Microsoft account is associated with your MSDN account, your copy of Visual Studio is automatically unlocked.
Automatically connects to Team Foundation Service – You no longer need to enter credentials to connect to any of your team accounts for Team Foundation Service.
To be fair, not all SKU’s require a sign-in. The MSDN versions for Volume Licensing have a product key that can be used instead which makes sense when you are rolling out several thousand seats of VS.
This one totally slipped by me. It wasn’t until a customer mentioned the requirement that I truly realized the implications. Visual Studio 2013 RTM requires that you have IE10 in order to use it. (see image above) Here is where you can find the system requirements for the various SKU’s:
I am absolutely NOT a fan of this requirement. I talked with folks from the team and the reasoning for this is that the web features require IE10 components. That’s reasonable but the components should have been included with VS instead of requiring an install of IE10. I hope this requirement will change but, for now, this is our reality so be aware you will need to install IE10 in order to install VS2013.
I think there are four good reasons why a developer would move to VS103 Ultimate: CodeLens, CodeMap with Debugger Integration, Dependency Graphs, and IntelliTrace. A few people have mentioned that they feel CodeLens should be in all the SKU’s instead of just Ultimate. Here is my response to that line of reasoning:
“Your argument, for me at least, seems to be logically problematic. If we move a feature from Ultimate to Premium then why not move it from Premium to Professional? Why not from Professional to Express(Free)? Although you didn't say it, I've actually had a few people tell me we should give Ultimate away for free. My response is always the same: Would you, as a software developer, agree to work at your company for free? Regardless how you spin it, you work for money. You have to pay rent/mortgage, buy a car, and many other things that require you have an income.
We have many teams at Microsoft that work on Visual Studio. They devote their careers to making a great product and, like you, they need to eat, buy a car, and pay rent/mortgage. They spend a large amount of time deciding where features will land in order to best serve our customers. I personally think they do a great job at balancing features across the product lines while considering the company's financial needs. These are just my thoughts on the subject but I would ask that you keep this in mind when requesting features be moved or product be given away for free.”
Some people have agreed with me and some have disagreed:
“Just like many others, I'd like to point out that usability of this feature will somewhat hinge on its accessibility.
Seeing how Ultimate is prohibitively expensive for most small(ish) companies which usually buy just one or two Ultimate licenses for their architects, the rest of the crew getting Premium (at best) or Professional (most often it appears), I don't see this getting used much.
And please could we stop with the bullsh*t argument of Microsoft devs have to eat. I am quite sure that you do not live off of MSDN subscriptions, but from Windows sales, which in turn get boosted by the applications availability. Cheaper Visual Studio (or free), more applications will be available for Windows, hence more money for Microsoft (so that you can eat and pay mortgage).
Just look at other platforms (ahem, Apple with MacOSX to lesser extent and iOS to a much bigger extent) - how much do their tools cost? Nothing.”
The most notable position on the other side of this argument is from Keith Ward, Editor in Chief, Visual Studio Magazine in his article entitled, “Hey, Microsoft: Make CodeLens Available in Visual Studio 2013 Professional”:
“CodeLens is perhaps the best new feature of Visual Studio 2013.
Too bad you'll never get to use it.
That is, unless you have Visual Studio Ultimate. Those of you with Visual Studio Professional -- in other words, most of you -- or even Visual Studio Premium aren't eligible for the awesomeness that is CodeLens.”
I find it interesting that Keith does go on to say (emphasis part of the original text):
“Note that I didn't say it's wrong for Microsoft to keep CodeLens at the Ultimate level; it can do whatever it wants. It spent the time and resources building CodeLens, and it's perfectly justified in letting the market decide whether CodeLens is worth the price hike for enough devs. But Ultimate is more than double the price of Premium, its downstream neighbor. Absolutely, they get a lot more for their money with Ultimate, including more Windows Azure credits. But I do think it's short-sighted: since most developers can't afford it no matter what goodies it has, it's immaterial to them.”
I would say that each person needs to decide if the benefits outweigh the costs but, while I often disagree with the VS team on many things, the decision to put CodeLens in Ultimate is something I am completely behind.
So in my quest to find new and interesting interfaces for TFS, my buddy Chris Koenig introduced me to this little gem. It’s geared for the non-developer roles who want a nice, friendly look and feel to work items. Check it out for yourself here:
Here is some information verbatim from the site:
WorkItem Glass is an alternate client for Team Foundation Server whose target audience consists of those team members not in a traditional Developer role such as Quality Assurance, Project Manager and Business Analyst. WorkItem Glass provides a Smart View into Team Foundation Server projects, hosted on tfs.visualstudio.com, by emphasizing relationships between work items. WorkItem Glass will need your account alternate credential information for your TFS repository hosted on tfs.visualstudio.com.
Myfriends at Caravan Studios <www.caravanstudios.org>,the newest division of TechSoup <www.techsoup.org>You can go here for more information:
Once you've registered with SafeNight, you become a member of the community. A community who believes that people want to help. That we can use the resources at our disposal to make change. A community that believes everyone deserves a violence free life.
Once you've registered, you can connect to a verified domestic violence service organization. These organizations provide shelter and other services to individuals in need. Once you connect, you will receive requests to sponsor a hotel room when there is an urgent need and no availabe space at a shelter.
When the organization you are supporting needs help, you will see a notification on your phone. That lets you know that there is an individual who needs a safe night. By agreeing to sponsor a hotel stay, you give that person a chance to receive additional support in a time of need.
You can quickly and easily cut or delete the current line. Just do one of the suggestions below.
Begin any operation by placing your cursor anywhere on the line:
Use CTRL + L to cut only the text on the line without the carriage return at the end.
Or use SHIFT + DEL or CTRL + X to cut the line and the carriage return at the end.
If you want to DELETE the line instead you can use CTRL + SHIFT + L.
Ever cut something then accidentally cut a blank line? I can't really think of a good reason to cur or copy a blank line and yet you are still allowed to do it.
The good news is you can keep this from happening by simply going to Tools -> Options -> Text Editor -> All Languages -> General and deselecting the "Apply Cut or Copy commands to blank lines when there is no selection" checkbox:
Note: This will prevent using Shift+DEL to delete an empty line so you will have to enable the feature if you use Shift+DEL.
This week I thought we would focus on some fun quickies that have been in Visual Studio since at least VS2010. The first one we will look at is simply zooming your text in the editor. The concept is really simple. For example, you may want to go from this:
Being able to zoom in and out is useful if you have trouble seeing or you are doing extreme programming or any situation where making text more readable is necessary. One other thing to keep in mind is that zooming is a per tab activity so zooming in one tab does not set the same zoom level in other tabs. Each tab has it's own zoom level.
You can zoom in and out of text using the wheel on your mouse. Just hold down CTRL+Mouse Wheel and you can instantly zoom in and out of text in the editor.
Most people discover this accidentally. If this annoys you then you can see if there is an update to the Disable Mouse Wheel Zoom extension:
At the time of writing there isn’t a version that works with VS2013 but that could change.
You can go “old school” and use the combo box at the bottom left of the IDE:
If you prefer to use the keyboard, you can always use CTRL+SHIFT+>[Greater Than] and CTRL+SHIFT+<[Less Than].
Hey Folks :)
Wanted to let you know that the Visual Studio 2013 and Team Foundation Server 2013 Release Candidates were made public today. Here is some guidance and information:
Please go to Soma’s blog for the main announcement today.
- Download Visual Studio 2013 RC
You can find more information including new features, platforms and compatibility, and much more here:
- Save the date for Visual Studio 2013 Launch on Nov 13th
Note: Windows Store app development requires Windows 8.1 RTM, which is available to MSDN and TechNet subscribers. Visual Studio 2013 RC does not support Windows 8.1 Preview or Windows Server 2012 R2 Preview. For more information, see system requirements and platform compatibility.
Direct feedback to the following locations:
- Connect (for bugs) & VS Feedback Tool (for bugs filed from within VS)
- UserVoice (for ideas/suggestions)
- Forums (for Q&A)
- Support (for in-production use only)
- You will also have the Send-A-Smile option in the product (the happy face in the upper-right corner), to send general thoughts and sentiment on the release.
My good friend, Kevin Remde, is writing a great series comparing VMWare technology to our Hyper-V offering. His latest post on the cost benefits was very compelling. Here is an excerpt from the post:
So today, for the latest article in our “VMware or Microsoft?” series, I thought I’d address an area that perhaps a lot of VMware customers don’t know much about. One of the important things that we really want VMware customers to understand is that they may be paying for features or technology or high availability or virtualized storage or virtualized networking that they wouldn’t have to if they went with Microsoft’s version of the “Software Defined Data Center��.
You can see the full article here:
If you have been following the blog then you know I am a HUGE fan of Brian Keller’s VS/TFS virtual machines. I personally use them to make sure folks can duplicate the techniques I show them in my posts. Earlier this month Brian announced the availability of the latest one: “Visual Studio 2013 Application Lifecycle Management Virtual Machine and Hands-on-Labs / Demo Scripts”
You can (and should) read the instructions for downloading the VM here: