Exploring Team Build based on Workflow 4.0 in Visual Studio 2010 ALM
With Visual Studio 2010 Application Lifecycle Management, Team Build is based on Workflow 4.0. Workflow provides an improved build experience and allows you to customize the workflow to suit your specific automation needs. Out of the "box" the default build workflow does not include deployment. Here I will show you how to add a simple deployment to a user acceptance test (UAT) location.
To begin, in the Team Explorer for your subject team project right click on Builds and select New Build Definition. Give the new build definition a name and supply the necessary information for the other tab pages. For Process, we are deriving our new process template from the default template. I'll give you a link to my custom process template at the end of this post and you can optionally specify that if you choose to.

Your new process template will be saved on the TFS server. I'm using the default storage location. Double-click on the file name to check it out from source control and open it. The file will open in the Workflow XAML designer. Be patient as it takes a while for everything to load.

The workflow will open in compressed or collapsed mode. I have opened the "Run on Agent" activity here. We will focus on the "Try Compile, Test, and Associate Changesets and Work Items" activity since that is where we want to add our deployment. If you are new to workflow based builds, spend some time exploring to tools and the template process workflow in order to understand what happens when and under what conditions.

In the "Try Compile, Test, and Associate Changesets and Work Items" activity, expand the Finally block. I have added a new activity at the end called "If DropBuild Successful". Expand the activity.

Note the condition. When it resolves to true, the Then block will execute. I've added an activity of type Sequence called "DeployUAT" that contains our actual deployment functionality. Since we only want to deploy to our UAT manually, I have added an Invoke for Reason activity and named it "InvokeOnlyForManual". You should see the dropdown for Reason set to 'Manual" in the properties.

I have scoped new variables and arguments to the "DeployUAT" activity. These allow us to define where our UAT site is located and what it's name is. Click on the Variables and Arguments tabs at the bottom of the designer.


While on the Arguments tab, open Metadata. Here I have defined a new category that will show up in the build process dialog. I have named this category "Deployment" and it displays our 2 new parameters with their default values.

Now to move on to the actual work of deployment. First we need to stop the UAT web site. I do this in an InvokeProcess activity I have named "InvokeStopWebsite" that calls appcmd.exe and passes the argument "String.Format("stop site {0}", UATWebsiteName)" to stop the site as a VB expression.


Next, I need to delete existing content from the UAT site. I do this with an InvokeProcess activity that I named "InvokeDeleteWebsiteFiles" where I call cmd.exe and pass the argument "/c del *.* /s /q" to delete all files. Be careful when testing destructive operations during development to be sure you are executing against the intended target.

I then copy our newly built content to the UAT site with another InvokeProcess activity I named "InvokeCopyWebsiteFilesFrom". Again I call cmd.exe and pass the argument "/c xcopy ""{0}/_PublishedWebsites/Tailspin.web"" {1} /s /e, BuildDetail.DropLocation, UATDirectory)" to xcopy the files from the drop location to our UAT site.

Finally, I restart the UAT web site with the InvokeProcess activity named "InvokeStartWebsite". I call appcmd.exe and pass the argument "String.Format("start site {0}", UATWebsiteName)" to start the site.

That concludes our simple deployment customization. Save your XAML file and check it in to source control. You now have your custom template ready for use. Below you can see our Deployment category that we added to the template process. The default values can be over-ridden when the process is manually called.

This custom example should get you started on adding deployment to your builds. There are many more considerations you may have to make for your particular implementations. Considerations include, security and crossing firewall boundaries. You may need a much higher degree of sophistication and may need to consider coding custom activities. Here's a summary in increasing order of complexity.
Compose as a composite activity in XAML
Inherit from CodeActivity
Inherit from AsyncCodeActivity
Inherit from NativeActivity
Create using DynamicActivity
Download Custom Process Template 1
Accentient, who I work with to provide ALM training and consulting, is pleased to announce that they are officially a friend of the Urban Turtle.
Accentient is both an Urban Turtle “Select Partner”, which is a highly recognized and trusted organization that can provide you with various services to make you successful with Scrum TFS and Urban Turtle as well as a Professional Scrum Developer (PSD) Select Partner who has demonstrated unique value in delivering the PSD course.
Urban Turtle is an intuitive Scrum tool for TFS built to simplify your software development cycles. It was built by experienced Scrum coaches and practitioners, Urban Turtle helps you deliver kick-ass software sustainably, every iteration. It provides you a fast, intuitive tool to plan. manage and track your Scrum work.

Check out the YouTube video, get the 30 day trial (you'll want the full version before your trial is up) and start sprinting.
Coming up Saturday and Sunday June 26 and 27 is the SoCal Code Camp at UCSD in San Diego. Look forward to two full action packed days and don’t forget the geek dinner on Saturday evening. I’ll be doing three sessions:
1. Scrum Fundamentals
Scrum is an increasingly popular agile framework for managing software development. Can Scrum help you deliver successful projects? You first have to understand the fundamentals of Scrum. This session will pragmatically explore using Scrum. We'll talk about what how to get started adopting Scrum, what kinds of organizational commitments are needed and how Scrum works with Team System.
Scrum is incredibly simple on the surface but touches profoundly on people, process and technology. What should you expect if you do it right, and what if you don't? Join our discussion and see if Scrum may be right for you. It all starts with understanding the Scrum Fundamentals.
2. Exploring Team Build based on Workflow 4.0 in Visual Studio 2010 ALM
With Visual Studio 2010 Application Lifecycle Management, Team Build is based on Workflow 4.0. In this session we’ll explore what Workflow adds to make a better build experience and show you how you can customize the workflow to suit your specific automation needs.
3. Herding Pigs – Managing Self-Organizing Teams
In the Agile world of Scrum, the people who build software, the development teams, are referred to as pigs because they are committed while the others are referred to as chickens because they are only involved. One of the guidelines of Scrum is that teams should be self-organizing. So, how do you manage self-organizing teams? That’s what this session is all about. We want our teams to be highly productive, to grow professionally, to enjoy their work and be in it for the long haul. All while being good organizational citizens and driving on the proper side of the road. We’ll cover a little management theory on motivation and maintaining a positive, healthy work environment and show you how to put it to work. Get ready to re-factor how you herd pigs.
IASA’s week long Irvine training course has been rescheduled for July 12 – 16. If you are considering attending, use the code IrvineIASA when registering. It won’t provide a discount but will benefit our SoCal IASA chapter. See my earlier post for course details and registration. Hope to see you there.
IASA created the foundations course-work and IFC (IASA Foundation Certification) to fill 3 main needs in the Architecture Workforce:
1. To level-set architects of all levels, and create a common understanding of skills and terminology across the profession
2. To help aspiring architects take the first step on their career path
3. Give architects the foundational skills to help them be more effective in their daily operations, and deliver on the value proposition of the profession, to make and save the company money through business technology strategy
The IFC is the first step towards gaining your CITA-P (Certified IT Architect Professional)—Both certifications are quickly becoming recognized by the country’s largest employers.
We have rescheduled the Professional ScrumDeveloper Training course at the Microsoft Technology Center, Irvine. CA to July 26-30. Check out the links at Scrum.org and http://accentient.com/scrum.aspx for more information and to register.
I’m late getting this posted but Saturday May 22 was the Central Coast Code Camp held at Cal Poly in San Luis Obispo. By my own guess there were about 100 plus in attendance. I did three presentations: Scrum Fundamentals, Herding Pigs – Managing Self-Organizing Teams, and Exploring Team Build based on Workflow 4.0 in Visual Studio 2010 ALM.
Hats off to the organizers for a really great event. It was a lot of fun with great interaction among all. Check out the wrap up and the photo links at http://centralcoastcodecamp.com/
The IASA Architecture Foundations 101/102 Intensive training course is being administered in Irvine May 17-21. The course has been vetted by our Board of Education, and will be instructed by our VP of Education, Andy Ruth. For those who don’t know Andy, he “owned” the roll of architect at Microsoft, and created the MCA (Microsoft Certified Architect) while he was there.
Though the course has been taught onsite for several organizations, this is the first time that IASA has administered the 101/102 combined course as an Open Enrollment, allowing individuals to register.
The feedback from architects of all levels has been great, with participants expressing the value of the course. Here’re a few quotes from people who attended a recent training course:
“Both courses have wonderful content to provide a solid grounding on what IT Architecture means, the definition of an IT Architect, the foundational skills required to be an Architect & the necessary factors to consider while establishing an Engagement Model for the IT Architecture practice. The skills assessment tool provided by 101 course is an invaluable benchmark that I feel every Architect should carry along and utilize through their career.
The various workshops in the courses have very practical real world relevance and just racking one’s brains through discussions over those workshops I feel pays for the course!
The course does set one up to be more sure footed in their day-to-day Architecture duties back at work – almost everyone should be able to take away 1 thing to “go do” right away.
Over a period of 5 intense days, one builds a close relationship with fellow trainees – a big plus for networking and understanding diverse practices across companies.” “Even as a senior experienced architect, I learned something on the first day of the course that I did not know, and took it to my management to change our internal process and architecture engagement model to be more effective.”
“While I found value in other Architect training I’ve taken, the IASA course showed me how to be an effective architect (for my personal career path and my employer’s benefit) regardless of tools or Framework”--every architect in my group needs to take this training!”
Each course has a limited occupancy of 16, and most courses are expected to sell out—you’ll want to book your spot today.
The course will be administered at a cost of $3,000—they are offering group discounts for organizations that send more than 5 architects. For more information, or to register, visit http://www.iasahome.org/web/home/foundation , or contact Colin Cairns ccairns@iasahome.org; 512-909-9855
I will be presenting Accentient’s Professional Scrum Developer course June 21-25 at the Microsoft Technology Center, Irvine. CA. In cooperation with Microsoft, Ken Schwaber, and Scrum.org, and other industry subject matter experts, Accentient has created the first-of-its-kind, Scrum Developer course. Along with the ScrumMaster and Product Owner programs that are available, the Scrum Developer course is intended for the third, and most important role in Scrum: the Team.
Attendees will be taught how to use modern engineering practices to develop an increment of completed, potentially shippable functionality. They will do so within the Scrum process, working within self-organizing, cross-functional teams, doing iterative, incremental development.
|
5 intense days of training and hands-on Team-based training - work as a Scrum team Hands-on Visual Studio 2010 Work as a self-organizing/managing team Learn and use TDD, CI, and refactoring Learn new communication techniques Assess yourself before and after class Identify and eliminate team dysfunctions Improve your game of Scrum!
|

|
"Scrum teams are expected to build functionality every iteration. Accentient's Professional Scrum Developer course shows how to meet these demands using modern engineering practices and tools, optimizing everyone's investment in development. Accentient's courseware is an accelerant to Agile, Scrum, and the benefits of the software development profession." - Ken Schwaber
For more information and to register go to http://accentient.com/scrum.aspx.

|
The Ultimate Event: Visual Studio 2010 & Team Foundation Server 2010
|
|
|
|
|
|
This event would be of interest to all that want to learn more about Visual Studio 2010 Application Lifecycle Management. I will be presenting at the San Diego and Los Angeles events and John Miller who helps run SoCal Team System will be presenting at the Irvine event.
Join me for a sneak peek of Microsoft® Visual Studio® 2010, which will be a landmark release of the premier development toolset for Windows®, Web and Cloud development. The Ultimate Event is your exclusive opportunity to hear about Visual Studio 2010 from experts before the product is launched this year. Microsoft has made significant investments to and improvements of Modeling and Testing/QA tools in Visual Studio 2010. At this event you’ll get a comprehensive overview of Visual Studio 2010 and Team Foundation Server 2010, which is the Application Lifecycle Management (ALM) core of Team System. We’ll present enhancements in version control, reporting, project management and build management. Spend the day with us to learn how to take software development to the next level with Visual Studio 2010.
Event Agenda
|
Time
|
Topic
|
|
8:30 AM-9:00 AM
|
Registration, Welcome
|
|
9:00 AM-10:30 AM
|
Lap Around VS 2010
|
|
10:45 AM-12:00 PM
|
Agile Management with TFS
|
|
12:00 PM-12:30 PM
|
Lunch
|
|
12:30 PM-1:45 PM
|
No More “No Repro”
|
|
2:00 PM-3:15 PM
|
Architecture for Everyone
|
Hope to see you at one of these events.
Cheers,
Mike Vincent
|
|
|
|
Welcome Time 8:30 AM
Event Time 9:00 AM – 3:30 PM
Register for a date & location near you!
Click the appropriate registration link below OR call 1.877.673.8368 and reference the Event ID.
|
Date
|
Location
|
Event ID
|
|
3/2/10
|
Bellevue, WA
|
1032439179
|
|
3/2/10
|
San Diego, CA
|
1032439178
|
|
3/4/10
|
Los Angeles, CA
|
1032439180
|
|
3/9/10
|
Mountain View, CA
|
1032439176
|
|
3/9/10
|
Irvine, CA
|
1032439181
|
|
3/10/10
|
Phoenix, AZ
|
1032439183
|
|
3/11/10
|
Salt Lake City, UT
|
1032439996
|
|
3/11/10
|
Portland, OR
|
1032439182
|
|
3/16/10
|
Denver, CO
|
1032439184
|
|
3/16/10
|
San Francisco, CA
|
1032439177
|
|
3/18/10
|
Boise, ID
|
1032440741
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
I'm frequently asked pricing questions for Microsoft's Application Lifecycle Management products. As always, my response is check with your Microsoft sales representative for your specific case. Here's the suggested retail pricing. If you are renewing your MSDN Subscription, timing may be important so check it out soon.
|
Suggested Retail Pricing (USD) for Visual Studio 2010
|
|
|
With 1-Year MSDN Subscription*
|
|
Product
|
Buy
|
Upgrade
|
Buy
|
Renew
|
|
Visual Studio 2010 Ultimate
|
-
|
-
|
$11,899
|
$3,799
|
|
Visual Studio 2010 Premium
|
-
|
-
|
$5,469
|
$2,299
|
|
Visual Studio 2010 Professional
|
$799
|
$549
|
$1,199
|
$799
|
|
Visual Studio Test Professional 2010
|
-
|
-
|
$2,169
|
$899
|
|
Visual Studio Team Foundation Server 2010
|
$499
|
$399
|
-
|
-
|
|
Visual Studio Team Foundation Server 2010 CAL
|
$499
|
-
|
-
|
-
|
|
Visual Studio Load Test Virtual User Pack 2010 (1000 Virtual Users)
|
$4,499
|
-
|
-
|
-
|
|
|
|
|
|
|
* Subscription contents vary by purchased product.
The next SoCal Rock & Roll Code Camp will be January 31 and 31 at Cal State University Fullerton. Code Camp is a place for developers to come and learn from their peers. This community driven event has become an international trend where peer groups of all platforms, programming languages and disciplines band together to bring content to the community.
Who is speaking at Code Camp? YOU are, YOUR PEERS are, and YOUR LOCAL EXPERTS are…all are welcome! This is a community event and one of the main purposes of the event is to have local community members step up and offer some cool presentations!
Interest is running strong with almost 60 sessions already registered. I'm again doing my Scrum Fundamentals session. With sessions on all of today's hot topics you'll be able to get two days of great material on delivering successful projects and applying the newest technologies. You can get more information at http://www.SoCalCodeCamp.com. Sign up and if you also want to present a session, sign up for that as well. Hope to see you there.
Microsoft wants to be sure they get it right with Visual Studio 2010 and .NET4. Feedback they've received from Beta 2 is being listened to and acted upon. In general, the new features are great but work is needed on performance. To that end, the release is being pushed back a few weeks and we'll have a public release candidate available in February. For more details, check out Scott Guthrie's blog post Visual Studio 2010 and .NET 4 Update and Brian Harry's blog post VS 2010 & .NET 4 Public Release Candidate Planned.
I'm a month late following up on PDC but it was a real success in my opinion. I had a great time starting off with Monday's pre-conference hosting an MVP table at the lunch break to discuss the new Visual Studio configurations and deeper integration of ALM. On Tuesday, David Starr and I hosted a Birds of a Feather session "Agile Tales of Triumph, Tribulation, Tools and Teams". The discussion was great and carried over to the adjoining public area afterwards. We literally could have gone all day! Like many of the BOF sessions we had an overflow crowd and some people were turned away because of room capacity. Overall, the BOF sessions were a big success. Thanks to Stuart Celarier, Chris Pels, and Bob Goodearl for a fantastic organizing job.
This was a busy week for new stuff Microsoft. Wednesday Oct 21 was the official release day for Windows 7. It also was the first day of public availability for Visual Studio 2010 and .NET Framework 4 Beta 2 from MDSN downloads.
You can download Beta 2 here http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx. Beta 2 includes a go live license. If you do consider moving toward production with Beta 2, check out Jeff Beehler’s blog “Going Live” with Visual Studio 2010 Beta 2.
There are some significant product license changes. Application lifecycle management moves closer to full integration into the Visual Studio product stack and the stack has been simplified to 4 basic developer choices: Express, Professional, Premium, and Ultimate. The Express configuration is pretty much unchanged, here’s the overview for Professional and above.
|
Visual Studio 2010
|
VS 2010 Professional with MSDN
|
VS 2010 Premium with MSDN
|
VS 2010 Ultimate with MSDN
|
|
Product Features
|
|
Team Foundation Server
|
|
|
|
|
Version Control
|
x
|
x
|
x
|
|
Work Item Tracking
|
x
|
x
|
x
|
|
Build Automation
|
x
|
x
|
x
|
|
Team Portal
|
x
|
x
|
x
|
|
Reporting & Business Intelligence
|
x
|
x
|
x
|
|
Agile Planning Workbook
|
x
|
x
|
x
|
|
Test Case Management
|
x
|
x
|
x
|
|
Visual Studio Team Explorer 2010
|
x
|
x
|
x
|
|
Development Platform Support
|
|
|
|
|
Windows Development
|
x
|
x
|
x
|
|
Web Development
|
x
|
x
|
x
|
|
Office and SharePoint Development
|
x
|
x
|
x
|
|
Cloud Development
|
x
|
x
|
x
|
|
Customizable Development Experience
|
x
|
x
|
x
|
|
Testing
|
|
|
|
|
Unit Testing
|
x
|
x
|
x
|
|
Code Coverage
|
|
x
|
x
|
|
Test Imapct Analysis
|
|
x
|
x
|
|
Coded UI Test
|
|
x
|
x
|
|
Web Performance Testing
|
|
|
x
|
|
Load Testing
|
|
|
x
|
|
Database Development
|
|
|
|
|
Database Deployment
|
|
x
|
x
|
|
Database Change Management
|
|
x
|
x
|
|
Database Unit Testing
|
|
x
|
x
|
|
Database Test Data Generation
|
|
x
|
x
|
|
Debugging & Diagnostics
|
|
|
|
|
Static Code Analysis
|
|
x
|
x
|
|
Code Metrics
|
|
x
|
x
|
|
Profiling
|
|
x
|
x
|
|
IntelliTrace (Historical Debugger)
|
|
|
x
|
|
Architecture and Modeling
|
|
|
|
|
UML® & Layer diagram viewer
|
|
x
|
x
|
|
Architecture Explorer
|
|
|
x
|
|
UML 2.0 Compliant Diagrams (Activity, Use Case, Sequence, Class, Component)
|
|
|
x
|
|
Layer Diagram and Dependency Validation
|
|
|
x
|
|
Lab Management
|
|
|
|
|
Test and Lab Manager
|
|
|
x
|
|
Virtual environment setup & tear down
|
|
|
x
|
|
Test Case Management
|
|
|
x
|
|
Manual Test Execution
|
|
|
x
|
|
Manual Test Record & Playback
|
|
|
x
|
|
Lab Management Configuration
|
|
|
x
|
You may notice that the Team System name has been dropped, it’s now just part of what you get. Teams of all sizes now have team development tooling available with Visual Studio Professional and above.
Also, we now have a launch date for Visual Studio 2010 on March 22, 2010.
The LA Code will be November 21 and 22, the weekend right after PDC 09 at the USC campus. Several teams from Microsoft including Team System, Languages (C# and VB.NET) and ASP.NET plan to be presenting sessions. I’m to entice some from the Windows Azure team to join in as well. This will be a great opportunity to catch some of the latest info on just released and soon to be released development tools. You can get more information at http://www.SoCalCodeCamp.com and http://www.lacodecamp.com. Sign up and if you also want to present a session, sign up for that as well. Hope to see you there.
More Posts
Next page »