Inside Visual Studio 2005 Team System
An anonymous reader writes "ZDNet has posted a top 10 list of things you need to know about Visual Studio 2005 Team System. From the article: Everybody talks about collaborative development tools, and heaven knows you can't surf the major developers' for 10 minutes without getting hit by banners trumpeting the latest. We can't fault Microsoft for wanting a piece of that action; but we need more than just a collaborative environment."
We can't fault Microsoft for wanting a piece of that action
you must be new here...this is slashdot
we can fault Microsoft for anything...-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
This is MY galaxy...go find your OWN!
The Army reading list
As Microsoft had already completely nailed collaborative development with Visual SourceSafe.
To build decent apps today, and Internet apps in particular, you need more than an idea, more than good tools
OK I need more than a tool.
Team System is addressing this shortfall in its Team Edition for Software Architects with a tool called Application Designer, a graphical workhorse for solution architecture.
So you give me a tool.
Huh?
Check out Microsoft Takes it on the Chin Over Test-Driven Development. For comparison, check out Wikipedia on Test-Driven Development. This is particularly ironic given the recent Slashdot article about Microsoft adopting Scrum, one of the agile methodologies which, along with Extreme Programming, is instrumental in promoting Test-Driven Development as a core software engineering practice. I've also got a very brief article on my blog about the Qualities of an Ideal Test.
Helping with organizational effectiveness is our job.
So this new collaborative development environment, isn't it going to be as bulky, loaded and lacking in a basic concept as all other MS products? Take for example Visio. Some of the errors it gives me simply don't make any sense and get fixed by restarting it. Or MS Word, that hasn't been able to figure out yet, how to do numbering. Or maybe its way too advanced for us backward users, so it takes control and numbers my document on its own! I think Eclipse is a very well thought over IDE and the I would be happy with being provided something extremely lightweight for starts for which people would develop plugins that I could download install on a need-basis.
Life is about being a Phoenix!
Microsoft had an old saying... I have it on a mug honest... "One company does it all." Its true in everything Microsoft does, whether it be desktop os and app integration, the convergence around entertainment systems, or development tools.
I think the problem is that no unification theory holds. I software development, from a team perspective, from design to implementation to testing... regardless of what model you follow... the development team is most effective when they are not constrained by a tool.
In my current work environment, the company tried to standardize on one web server, one IDE, one OR mapper... it failed miserably. The reality is we have 4 web servers, a multitude of IDEs, and tons of different technologies that are fitting specific needs. Even on the Microsoft platform.
I do not doubt that the team tools are cool for collaboration. But they are going to be pushed into organizations that already have team tools, or ways of doing stuff.
Right tools for the right job? Most Rose managed projects I know fail. Who uses all the lifecycle stuff in JBuilder 2005? Is anyone tired of development environments that take gigs?
/\/\icro/\/\uncher
It's all superfluous it tell you! The best collaborative development tool is the low lying cubical partition! All else pales to it's abilites to facilitate a tight dev team. Oh and emails.
All this rubbish cruft in Visual studio these days. It's from the people that broght you Visual SourceSafe-Studio integration. Windows only, MS centric, homogenous coding standards, catering to the lowest common denominator of programmer in an effort to make coding more quantifyable for management. Basically, it's all just tools for making windows developers even more lazy than they already are, and to make project managers think they're more in control of their projects because of all the shiny graphs, network tools and printed reports.
Expect coding standards to drop in line with their usage.
May the Maths Be with you!
But I looked at that web page: Codex, T-SQL, inscrutable jokes about woodpeckers, meta-models, Da Vinci, Biztalk Server 2004, Visio and text whose individual words I understand and yet whose sentences I can't grasp. I must be some kind of dinosaur ('dragon' if you live in Kansas) from an age gone by. Uh...uh...uh...>panic!...I've no clue what they're talking about. Does that mean I'm not collaborating properly? I didn't even realize. This is so awful. What can I do? Obviously just talking to people isn't enough.
That being said...
I've seen a fair number of high-power tools offerred that do everything from soup to nuts, UML, Code generation, integrated testing, etc, etc, etc. It's been my sense that to fully leverage these tools you kind of have to buy in all the way, you can use their architect tools, but you need to put a fair amount of effort into learning the tool, and then you're not developing in C# or whatever, but in the tool. You're then also locked into the constraints imposed by the tool.
Every sophisticated tool I mess with these days seems like it has this issue, and I guess it's structural- you have a simple core surrounded by proprietary extensions that in theory offer a lot of power and in practice require a huge buy in of time to leverage the extensions. For example, most java application servers have all kinds of built-in goodies (e.g. Jboss) but whenever I've worked with them I've seen almost no use of the proprietary stuff. Same for web frameworks, most projects I've seen don't leverage the frameworks nearly as well as they could. This indicates to me that the learning curve is too high and that in practice it's not realistic to expect that people can master and fully utilize proprietary tools in addition to languages, patterns, and other necassary knowledge.
To be fair, I don't work in the Microsoft universe, and it may be a bit more realistic to expect tool buy-in in a world where there's one major tool vendor.
Borland's JBuilder 2006 has a pretty neat p2p feature, so you can pass a token around for editing, or watch the editing in follow mode. I found it very helpful and quick. I believe it uses the jabber protocol, and even works with google talk.
Error: Id10t detected
Maybe it's just because I'm a Java programmer, but it seems to me that many of the items in the top 10 list have been considered best practices for quite some time. Examples include 3-tier architecture, datasource management, and Integrated testing.
It's probably actually a good thing that MS is including it. That being said, "it's about time" went throught my mind more than once while reading the article.
-Pete
Soccer Goal Plans
I've really been enjoying some of the videos being posted on Channel 9--part of MSDN. It's great to see what real MS engineers are working and thinking on. Just the other day, they posted a video covering Visual Studio TFS.
I'm surprised at myself for liking these videos. I keep going to Chan.9 more than once a day. It's great to get a peek behind the scenes at MS development.
"A diplomat is a man who always remembers a woman's birthday but never remembers her age." -Robert Frost
But VS is still the best development tool around.
I don't know why some people are complaining about this software, its the best MS has come out with yet. Intellisense in any version takes a big hit on performance, the bottom line is, would you build a house with a hammer or a shoe. I can't understand why anybody would develop software for a living with an underpowered system! Complaints about VS underperforming can easily be resoled by simply upgrading to an Athlon64 or Opteron system.
I've noticed only a few minor usability issues, but these are things that have plagued every release of a VS product, little gaffs which may be annoying, but are infrequent and do not interrupt productivity.
Overall, the environment is much more streamlined, even menu items seemed to be intuitively placed within easy reach for quick access. They finally implemented region support within C++ files, so you can micro manage large classes by separating chunks of related code into sections that can be hidden, and finally outlining preserves its state when you save and reload the file.
When it comes to intellisense, NO OTHER development tool comes close to the speed that VS does. Sure, your CPU usage might spike to 100% for the first few minutes after openning up a project, but a list of class methods and members always pops up instantly when you type a . or -> and text completion is fast. When I was playing around with XCode, I though that it didn't have ANY intellisense like functionality until one day I just happen to notice it took about 10 - 20 seconds for XCODE to show a list of object methods or offer a suggestion for word completion.
The Team collaboration is the buzz word of the day for MS. It is their major focus to get people to upgrade to VS2005. I honestly can't see us using it. Its a small office and we are a pretty tight development team. At most, the Community menu item that appears allows you to bitch to MS about software bugs and feature requests.
But why anybody wouldn't upgrade to 2005 is beyond me. VS2002 was clearly a beta and VS2003 was its patch, but VS2005 is altogether a markedly improved and mature product, finally integrating tight ANSI and ISO C++ standards along with at least recognizing insecure standard library calls and dramatically improved STL support with better debugging support of STL objects. Within the first week, we found numerous minor bugs that could cause the odd random crash in our software simply by compiling the software with VS2005. We also came across multithreading issues due to better optimization of the compiled code allowing for faster program execution that caused race conditions or deadlocks. Something VS2002 or VS6 wasn't making us aware of.
In any regards, if you develop Windows software for a living, not using VS is a detrement. Sure there may be other decent tools if you develop cross platform apps, but using a 3rd party development suite to develop Windows tools only shows your not serious about Windows software development. We are already looking at XAML and Windows Presentation Layer development because we can get the latest beta tools directly from the horses mouth, other development systems are only guessing what XAML will actually become and making a half assed attempt at offering a retail package before Vista is released.
Finally, MS integrated embedded device development in the IDE that allows you to emulate the device virtually, complete with a skin to look like a phone or PDA screen. They have had these tools in some external install, but integration in the IDE is key to getting more and better software written for mobile platforms. I may even get a PocketPC to start learning how to develop for the mobile platform.
Say what you will about MS, Windows, an their other software, but they actually know how to write a decent development platform.
I haven't thought of anything clever to put here, but then again most of you haven't either.
Yup, in that scheme Developer gets gcc, CVS and eleven text editors, while Architect and Tester are eliminated in favor of Noisy Fanboy, who just gets a web browser.
What I'm listening to now on Pandora...
One company that does it all, One company to find them, One company to bring them all and in the DRM bind them.
The new source control system in Team System is much, much better than Visual SourceSafe. Not anywhere even close to that old system.
In fact, I believe that the source control in VSTS is actually based off of the internal source control system that's been in use in Microsoft in a while - similar with the bug/work item tracking portion of VSTS. These two tools already have had significant work and lifetime, just as internal tools so far. So having them as V1 is a little misleading.
The work item tracking system is the best I've used to date. Source control isn't Clearcase, but it's definitely not bad like SourceSafe, and being able to link changesets to bugs and builds and the like is very nice.
(Disclaimer: I am a MS employee and tester on the VSTS team. But I am not now speaking on behalf of MS, and in fact, never do speak on behalf of MS.)
"You know your god is man-made when he hates all the same people you do."