Today the Visual Studio ALM Rangers published more solid guidance. This time it was around a favorite topic of mine – Visual Studio database projects. This guidance focuses on 5 areas: - Solution and Project Management
- Source Code Control and Configuration Management
- Integrating External Changes with the Project System
- Build and Deployment Automation with Visual Studio Database Projects
- Database Testing and Deployment Verification
This release includes common guidance, usage scenarios, hands on labs, and lessons learned from real world engagements and the community discussions.
Thank you for attending part 2 of our Managing Projects using Microsoft Visual Studio Scrum 1.0 webcast today. Here are some links and resources that I promised. Presentation Bookmarks Demo Files Be sure to check back in a few days for the LiveMeeting recording. We’ll post it on our blog.
UPDATE: The LiveMeeting recording has been posted on Channel 9. Thank you for attending the webcast today. Here are some links and resources that I promised. Presentation Bookmarks Installation Learning Team Foundation Server Be sure to check back in a few days for the LiveMeeting recording. We’ll post it on our blog.
Yesterday at the VSLive! keynote, Microsoft announced that Lab Management will be generally available at the end of August. Also, it will not be sold as a separate product, but instead will be available to Visual Studio 2010 Ultimate with MSDN and Visual Studio Test Professional with MSDN subscribers. 
This announcement further proves that Microsoft remains committed to enabling developers of all skill levels and organizational sizes to easily build business applications that target the desktop, cloud and Web. Lab Management provides an integrated platform for managing your virtual testing environments, which drives greater efficiencies and cost savings by automating workflow, utilizing Hyper-V and System Center Virtual Machine Manager (SCVMM). It is essentially a “private cloud” solution that enables teams to quickly provision virtual environments. These environments enable organizations to easily develop and test against a predictable base state, lowering the risk associated with software development due to unpredictable build processes and test environments. Download the trial software or a VHD Test Drive today.
Thank you to everyone who attended my talks at Tech-Ed 2010 last week in New Orleans. I had a great time talking Scrum, Visual Studio 2010, and all intersections in-between. Here are my presentations, in case you want to download them. Also, I uploaded a few random photos to flickr.
Now that Visual Studio 2010 has launched, teams are discovering just how much capability is included within those .iso files. MSDN does a good job of explaining what the buttons do, but you really need good guidance to go along with the how-to. The Visual Studio ALM Rangers have you covered. They already have many documents published: They have a couple more in the works: - Visual Studio 2010 Database Guidance
- Visual Studio 2010 Architecture Tooling Guidance
You can find the complete list here. Be sure to bookmark Willy-Peter Schaub’s blog or our ALM Community Aggregator to stay updated.
As you know, you can use the TFS Annotate command to learn which team member made a particular change to a particular file. It can also show you who wrote each line of code in a file and when. This tool has many uses, some of them bad, such as blaming a team member who broke the build, failed a test, didn’t conform to the definition of done, etc. In fact, the same feature is Subversion is simply called blame. Remember that on a Scrum team, it’s the team that commits to building the product. Good Scrum teams avoid the blame game and instead collaborate and focus on removing impediments quickly. Who broke the build is less important that getting the build working again. Maybe with a little customization the Annotate command could be of value to a Scrum team: 
The Rangers have published an update to the quick reference stack, and one of my favourites is the Scrum chart. Download the full pack here. The pack is broken down by headings 0. Start Here 1. Planning 2. Design 3. Dev Debug 4. Database 5. Testing 6. Build 7. General The Scrum quick reference is in 7. General.
One of the most critical aspects of any project is when have you got to done. This is one of the central principles of Scrum, as it is the contract between the team that is going to produce something, and the Product Owner who is going to take delivery of it. In waterfall projects, it is just as critical. Due to the focus on the Big Design Up Front, it is costly in terms of time and effort to revisit a phase once it is “done”. The thing is that there as many definitions of done as there are folk on the project, so it is vital to get the agreed definition visible – so everyone knows what they are committed to delivering. A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away. Antoine de Saint-Exupery At the highest level, any software solution should consist of: - Design
- Coding
- Testing
- Build
- Documentation
OK, so nothing profound there – however what is the benchmark standard for each of these, and how can I use VS to let the team now when we are done? Design The great thing about VS2010 is that it speaks UML. When this is tied in with the slick WPF interface, being able to move through many different views, zooming in and out allows you to get a solid understanding of your app quickly. A great summary is at Somasegar’s weblog. All of these are great, and the bonus is that the gated check in is here with Team Build. The purpose of a gated check in is to prevent code that is going to break either the build or the design. In this way the integrity of the design is maintained. The code that is checked in is automatically turned in to a shelve set, and depending on the what level of validation you want (where you set the bar) controls what gets fully checked in. The neat feature is that if your architecture says that the UI talks to the business tier, and not directly to the database, code that doesn’t comply never gets in to the branch. That will save a heap of rewriting! Coding 2010 is better than the previous version by a long way. The killer feature - Multi-Screen support, followed on by: - enhanced refactoring
- intellitrace (oh wow … unfortunately only in Ultimate edition)
- support for the all the Dubs (WCF, WPF, WF)
- enhanced intellisense in XAML
- all the Database GDR2 magic
- SharePoint templates
- Multi Framework targeting
- Code Analysis
- Code Metrics
All these features makes it a more straight forward proposition to write, compile, fix and refactor the code base. The guidance from the code analysis and metrics should be included in the done definition – what is the minimum level that you will accept in to promoting up the stack to live? Testing The major addition in 2010 is the Test and Lab manager. There is a much improved web testing that can be used to create performance and load tests. The key thing in my view is the lab management to help manage the VM estate so that the range of tests can be run against a known server state. The testing tiers should be cumulative: | Level | Testing | | One | Integration Tests Functional Tests Build Verification Test / Smoke Test | | Two | all of the above and Unit Tests Regression Tests | | Three | All of the above and Performance Tests Security Tests Documentation Tests | As many of these as possible should be automated so that they can be included in the build cycle. The sooner you know it is broke – the sooner you can fix it Build The big change in the build for 2010 is that it is now based on Windows Workflow. MSBuild can still be used, however the default templates are WF. The best practice is to create a custom build process template and share it across your projects. The bad news is that the WiX integration was dropped, more on that in a later post. Aaron has a great summary of the way build works: http://blogs.msdn.com/aaronhallberg/ Documentation Sandcastle is a great tool for generating well formatted documentation based on the xml comments in the code. It can be integrated in to the build, you just have to write decent comments! There is a codeplex project to help get the best out of sandcastle. Suggested “Done” A basic definition of Done would be: - User Stories in as work items
- Design completed
- Class diagrams
- Sequence diagrams
- Code written
- Code Compiles
- Code passes code analysis (agreed exceptions)
- Code passes metric gates
- All tests that have been written pass
- Code coverage meets agreed level (this is an “it depends” answer, if you have inherited a huge code base, it is a big ask to get to 80% coverage!)
- Smoke Test passes
- Build and packing completed (you are going to ship this, aren’t you)
- Documentation written
This is a very basic definition of done, the more detailed the definition will depend on where your team is at. Martin Kulov has compiled this list of links to features in VS2010, along with the http://www.teamsystemwidgets.com/ for the collection of extensions for TFS.
Thank you to everyone who attended my talks at DevConnections in Las Vegas this week. I enjoyed meeting you and showing you the new capabilities in Visual Studio 2010. | VVS01 - Agile Database Techniques Using Visual Studio 2010 | Slides | Demos | | VVS05 - Implementing Scrum Using Team Foundation Server 2010 | Slides | Demos | | VVS10 - Team Foundation Server 2010 - Migrate or Integrate? | Slides | Demos |

The first PSD training books have arrived at their destination, ready for class to begin on Monday … in Brazil!  We wish Giovanni Bassi good luck with his class next week. He is running the first PSD class in the world, starting on the same day that Visual Studio 2010 launches. Let’s rock!
Ken Schwaber, co-inventor of Scrum, and Sam Guckenheimer, Group Product Planner for Visual Studio discuss the Professional Scrum Developer (PSD) program around Visual Studio 2010. PSD includes a unique and intensive five-day experience for software developers. The course guides teams on how to turn product requirements into potentially shippable increments of software using Visual Studio 2010, the Scrum framework, and modern software engineering practices. Here are the direct links to the videos:
I just found this article in Visual Studio magazine where they interviewed Brian Harry (Microsoft Technical Fellow and Product Unit Manager for Team Foundation Server). Brian talks about testing, data and team-based development, and the Teamprise acquisition in Visual Studio 2010. 
ASP.NET MVC 2 is a framework for developing highly testable and maintainable Web applications by leveraging the Model-View-Controller (MVC) pattern. The framework encourages developers to maintain a clear separation of concerns among the responsibilities of the application – the UI logic using the view, user-input handling using the controller, and the domain logic using the model. ASP.NET MVC applications are easily testable using techniques such as test-driven development (TDD). Microsoft released this last Friday. You should go download it and then go learn how to use it.
Microsoft Visual Studio 2010 Professional will launch on April 12. You should secure your copy today by pre-ordering at the (very affordable) estimated retail price of $549, a savings of $250. If you use a previous version of Visual Studio or any other development tool then you are eligible for this upgrade. Along with all the great new features in Visual Studio 2010, the Professional edition includes a 12-month MSDN Essentials subscription which gives you access to core Microsoft platforms: Windows 7 Ultimate, Windows Server 2008 R2 Enterprise, and Microsoft SQL Server 2008 R2 Datacenter. So visit the pre-order site to check out all the new features and sign up for this great offer.
This came up today during a presentation I was giving. I didn’t realize you couldn’t do this from the new Branches in 2010. I did some research and wanted to share my findings. In TFS 2010 (RC), if you right-click on a regular folder, such as my Code folder: … your branching options are (Changeset, Date, Label, Latest Version, and Workspace Version): But, if you convert that folder to the new Branch type in 2010: … your branching options are reduced to just (Changeset, Date, and Latest Version): The good news is that you can still use the TF.exe command-line utility to Branch by Label. I hope Microsoft will address this by RTM (or shortly thereafter), because this begs the question: why convert to branches in the first place? Sure, if you don’t convert to a branch, you’ll be losing a layer of meta-data (owner, description, security permissions, etc.) and semantics, not to mention the slick visualization capabilities (View Branch Hierarchy and Track Changeset), but I’m not sure it outweighs the pain of having to go to the command line to Branch by Label (should that be your thing).
This tool popped-up today during our Scrum Developer trainer-prep in Sydney. One of the teams decided to be over-achievers and delivered their test cases (and results) in a nice Word document format. Turns out they used this Test Scribe tool available on the Visual Studio Gallery. Although in a pre-release version, it worked pretty good and generated some nice-looking Test Scribe is a tool for generating documentation about TCM (Test Case Management) artifacts. Testers can use a stand-alone client to connect to a TFS 2010 server/project. With a Test Plan selected, users are able to generate a Test Plan Document, including information about the plan, the suite hierarchy, and each test case contained in the suites. Looks like there might be some issues with using it SxS with VS 2008.
I’ve been doing a lot of work with the Database, er Development edition of VSTS 2008. Of course I’m running the GDR-R2 version which really changed the architecture of the database projects, as well as the process of building and deploying. Prior to the GDR, if you deployed a database project it would automatically create a Data Connection in the Server Explorer window. I liked this, because I would almost always follow-up a first time deployment with some data generation or unit testing, and it just made it easier to select the pre-defined connection from the dropdowns. It seems that the GDR erased this timesaver. For example, I just deployed a GDR-R2 database project according to these settings:
And when I go to the Server Explorer window, I don’t see my VSTS\dev.AdventureWorks2009.dbo connection like I would have expected:
Well it seems that this change was by design and it is configurable! According to Duke Kamstra, there’s a property in the database project (.dbproj) file that lets you control this behavior: <DeployToDatabaseAddToServerExplorer>False</DeployToDatabaseAddToServerExplorer> If you set the property to True, the connection will get added to the list which Server Explorer displays, and the behavior I enjoyed prior to GDR will return. For added coolness, if you always want this behavior you could modify the template(s) that are instantiate dbproj file(s) from: C:\Program Files\Microsoft Visual Studio [9.0 | 10.0]\VSTSDB\Extensions\SqlServer\ProjectItems\*\*.dbproj Duke also tells me that the same property exists in Visual Studio 2010.
Thank you for attending this week’s webcast on the new capabilities of Visual Studio Team System 2010 Test Edition. Specifically, we covered these topics: What’s New in Test Edition Test Case Management Test Projects Test and Lab Manager Running Manual Tests Automating UI Tests Lots of demos! Attached is the recorded webcast in case you missed it. Watch this blog as well as our home page for more webcasts coming in the near future. Attachments: FirstLookTest2010.zip (6mb)
Thank you for attending last week’s webcast on the new capabilities of the Architecture Edition. Attached is the recorded webcast in case you missed it. We’ve got two more webcasts scheduled for this month: First Look: VSTS 2010 (repeat) and First Look: VSTS 2010 Test Edition. Watch this blog for more details. Attachments: FirstLookArch2010.zip (7mb)
Join us tomorrow (Tuesday, June 23rd) at 2pm MST for the following webcast: First Look: Visual Studio Team System 2010
Microsoft has been working hard on their next generation of Visual Studio Team System. The 2010 version will deliver new capabilities for everyone on a project, including architects, developers, project managers and testers. Since beta 1 released, the experts at Accentient have been hard at work, putting it to the test, and demonstrating it to our clients. We would like to share some of this insight with you. Join us for a tour of the marquee features and improvements found in Visual Studio Team System 2010: - Separate and improved install and configuration process
- Team project collections
- Architecture explorer
- UML support
- Hierarchical work items
- Improved test case management
- Source control branch visualization
- Workflow-based build
- Test and Lab Manager
- UI testing
Whether you’ve already adopted Team System, or have been waiting for the critical “third version” to be released before you commit to trying it, you should attend this webinar, see it firsthand, and get your questions answered. There are a few seats left. Please be sure to register to attend.
Microsoft published more information today about Visual Studio 10 and .NET 4.0. Click here to read the Press Pass and here to read some additional information. Oh, and for SA customers, some really interesting news has come out that will impact you in just a few days: Microsoft also announced that VSTS 2010 will provide a unified VSTS Development and Database product. As a benefit to existing Software Assurance (SA) customers, those who currently own Visual Studio Team System 2008 Development Edition or Visual Studio Team System 2008 Database Edition will receive all the following products starting Oct. 1, 2008, for free: • Visual Studio Team System 2008 Development Edition • Visual Studio Team System 2008 Database Edition • Visual Studio 2005 Team System for Software Developers • Visual Studio 2005 Team System for Database Professionals
Last week, Microsoft announced that they had joined the Object Management Group. OMG is the consortium responsible for many distributed, and object-oriented specifications. One of their sets of standards defines the Unified Modeling Language (UML), and I'm sure that's the reason Microsoft joined the ranks. Knowing what's coming in the Rosario (and beyond) versions of Visual Studio Team System, I'm glad to see this happening, as it reinforces that Microsoft is taking their modeling strategy to the mainstream.
I'm sitting through the two-day Visual Studio Extensibility (VSX) Developers Conference this week and Rico Mariani gave his roadmap to Visual Studio extensibility. Here are some highlights of the coming, "decade worth of work" ... VS10 (the version after 2008, a.k.a. "Dev10") - New editor with fine-grained extensibility
- Build on Microsoft Extensibility Framework (MEF) which is "COM for the managed world"
- All new features that should support multiple languages do
VS11 - VSTA (DLR) used for macros and other end-user extensibility
- Critical mass for managed extensibility models enables several common classes of add-ins to be built purely in managed code
- Common project system
- Richer, common base types and protocols for discovery, activation, and manipulation
- Asynchronous extension and visualization model and showcase examples
VS12 - Stable VSIP API's enabling a high degree of compatibility
- Extensive use of asynchronous extension and visualization model
Now that Team Foundation Server 2008 is out, the Visual Studio Team System product team is totally focused on the next version, known as Rosario. If the current release rhythm continues, Rosario is likely to be released in 2010 (Visual Studio 2005 was released in November 2005, and Visual Studio 2008 was released in November 2007). The latest version of Rosario is now available for public download on the Microsoft download site. This version is called the April Community Technology Preview (CTP). It's called a CTP because the product is still under development. The CTP gives the development community an opportunity to see what's been produced so far and provide feedback. It's not called a Beta because the bits have not been as thoroughly tested. For this reason, Microsoft recommends that this CTP release not be used for any sort of production development. The product team has made impressive progress so far. Rich Hundhausen and I got a sneak preview of this CTP a few weeks ago, and what I saw blew my socks off! Whereas the new features in Team Foundation Server 2008 focused mainly on improvements to build and version control, the main areas of focus for Rosario are project management, design and test (Although I'm interested in all things Team System, I'm somewhat partial to project management). This April CTP is the third CTP release for Rosario. To see the features included in each release, as well as a slick way to download the beast, check out these posts from Jeff Beehler:
Not only did Microsoft just recently post Beta 2 of Visual Studio 2008 (Orcas) a few days ago, but yesterday Microsoft made a CTP of the next generation of Visual Studio Team System (codename Rosario) available for download. Craziness ... which do I spend my time with? It's like having two mistresses to pick from. Anyway, here are the details, if you want to start playing with Rosario: (keep in mind that it won't ship until some time [6,12,18?] months post Visual Studio 2008, so at least 2009): Finally, and most important, provide feedback to the team using http://connect.microsoft.com.
|
Copyright © 2010 Richard Hundhausen. All rights reserved.
DasBlog 'Portal' theme by Johnny Hughes.
Pick a theme:
|
|