RSS 2.0
 Monday, October 27, 2008

I am in the TFS 2010 cool features talk at PDC with Brian Harry. I'll stream notes into this post, but please be aware that this discussion focuses on Team Foundation Server, not the full compliment of tools that make up Team Suite.

Also important to note is the significant size of this release. True to form for any given significant software product, version 3 (in this case 2010) is a tremendously significant release. Team System is a good example. The 2010 release will be HUGE. Brian Harry notes that it takes about 8 hours just to demo all the new features.

OK, onto the conference bullets you have come to expect from my fly-by conference posts.

  • There is a high degree of focus on improving the story of TFS for large enterprises. This is a little conc
  • Team Build
    • Gated Builds
      • Gated check in allows a build to run and tests to pass BEFORE the check-in is committed to the SCC tree.
      • New Build Definition | Trigger | Set as Gated Build
    • Build Agent Pooling
      • Define a pool of build machines instead of individual build servers. This feels a lot like pulling your build machines from the cloud.
      • New Build Definition | Build Defaults | Build Agent Properties.
      • Wow, this is impressive. I can configure multiple build agents per machine.
      • Build agents may be tagged with their capabilities. This allows a build definition to say, "Only build on a build agent running on this OS, or with this COM DLL installed, etc."
      • Can specify a collection of Test Lists to run as part of the build definition.
    • Build Workflow - Wow
      • New Build Definition | Process
      • Define the build in a visual designer with customizable targets. Think Final Builder here. No it isn't all the way there, but this is a nice start. It is basically a visual editor for the team build script.
        • EX: Copy Outputs to Drop Location.
      • Parallel Activity: Allows me to build 2 different ways on 2 different build agents (among other things). For example I want a single build definition to build for Debug and one to build for Release, each build occurring on a separate build agent. Done. And I only labeled once. Nice. And each one has its own drop location (of course).
    • Retention Policy: Define what will be deleted when a build fails: the bits, label, the test reports, etc.
  • SCC
    • Rollback. Thank you.
    • Branches are first class citizens. Not just another folder visually. Nice. Branches have lots of meta data on them.
    • Annotate now tells me what branch a merged change came from. This is a big deal for many regulated customers.
    • I can see the history of a change set across many merges to see where it really came from. This is cool, but Track Change Set actually shows me a nice visual graph of how the branches relate to each other in time and as parent/children. Sweet.
    • This trend of visually modeling information is powerful and promising.
    • Viewing a conflict no longer results in a modal dialog. Now conflicts are seen as pending changes, which allows me to iterate through them and examine code while looking at the conflict item itself. Handy.
  • Work Items
    • Linking them together is no longer horrible.
      • AND THE RELATIONSHIPS ARE HIERARCHICAL!
      • Hierarchical Work Item relationships.
      • Hierarchical Work Item relationships.
      • And round tripping through MS Project works. Yes!
    • New Agile process template. This is no longer MSF, and by golly it just might work.
    • Rich text formatting capabilities in all text area type inputs on work items now.
    • Excel integration in much nicer, showing hierarchies and allowing a persisted worksheet to hook back up to TFS cleanly.
    • I can query against hierarchies. The sample query was "Show me all User Stories with no associated Test Cases." There is a lot implied in that query and all of it is goodness.

That's a lot of bullets, but it's a big product. This set likely doesn't scratch the surface of what's coming, but it does show that the product team is addressing many of the most painful things that team's deal with today.

Monday, October 27, 2008 3:32:54 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -

 Thursday, October 23, 2008

Boise area .NET folks have no shortage of community events these days and November is shaping up with some particularly good gems. These events are free to attend and you get to mingle with same jovial crew you know and love from your favorite user group meeting (ok, that was a stretch).

Thursday, November 06
MSDN Event - Silverlight 2.0, SQL Server 2008 and VSTO
This half day event looks at the 3 technologies named in the title. Good stuff, that. I did my duty with VSTO last time, so I appreciate that this time around I will get to look at Silverlight 2.0.

Thursday, November 13, 2008
Boise MSDN Unleashed
This should be a good event looking at some of the unveilings that inevitably come out of PDC as well as going deep (way deep) on SQL Server 2008.

Thursday, October 23, 2008 3:05:55 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -

 Tuesday, October 21, 2008

At a client site this week, and having to generate the same initial folder structure for many team projects, so I thought I would create a script (.BAT file, no PowerShell sorry).

Below is the script, but here are a few details to point out:

  • I assume that my workspace name and local folder name is the same as the team project
  • I put my local workspace folders under a common D:\Workspaces folder
  • You can set the team project name easily by tweaking the SET line below
  • I could have, and should have parameterized the folder root, TFS, comments, etc.

Hope you can make use of it:

@ECHO OFF

SET TeamProject=Sample

ECHO Create folder Structure
ECHO.

D:
CD\
MD D:\Workspaces
MD "D:\Workspaces\%TeamProject%"
MD "D:\Workspaces\%TeamProject%\Code"
MD "D:\Workspaces\%TeamProject%\Code\DEV"
MD "D:\Workspaces\%TeamProject%\Code\QA"
MD "D:\Workspaces\%TeamProject%\Code\PROD"
MD "D:\Workspaces\%TeamProject%\Documents"
CD "\Workspaces\%TeamProject%"

ECHO.
ECHO Drop existing workspace
ECHO.

"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workspace /delete /noprompt /server:TFSSRV1 "%TeamProject%"

ECHO.
ECHO Create workspace mapping
ECHO.

"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workspace /new /noprompt /computer:TFSSRV1 /comment:"Created by Richard Hundhausen" /server:TFSSRV1 "%TeamProject%"
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workfold /server:TFSSRV1 /workspace:"%TeamProject%" /unmap $/
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" workfold /server:TFSSRV1 /workspace:"%TeamProject%" /map $/"%TeamProject%" D:\Workspaces\"%TeamProject%"

ECHO.
ECHO Adding folders to version control
ECHO.

"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" add Code /recursive /noprompt
"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" add Documents /recursive /noprompt

ECHO.
ECHO Check in
ECHO.

"C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\TF.EXE" checkin /comment:"Created by Richard Hundhausen" /noprompt /recursive "D:/Workspaces/%TeamProject%"

PAUSE

Tuesday, October 21, 2008 3:47:02 PM (Pacific Standard Time, UTC-08:00)  #    Comments [3] -
Richard Hundhausen | Team System | Visual Studio 2008
 Monday, October 20, 2008

Download the MP3

View in iTunes Any Podcatcher

On this episode of the Elegant Code Cast, Glenn Block tells us about life inside Microsoft for the ALT.NET crowd. Glenn has been with Microsoft for several years and has worked in several departments during that time, trying to bring the ideals of ALT.NET to the company. His experiences in MS Learning, P&P, and now in the framework team, make for some great stories.

In addition to Agile stories from inside the mother ship, Glenn spreads the good word on MEF.

This discussion should finally draw the curtain on the idea that ALT.Net is anti-Microsoft.

 

Monday, October 20, 2008 9:07:00 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -

 Thursday, October 16, 2008

By now I you've likely heard the term ALM. For the uninitiated, here is the latest from Wikipedia.

Application lifecycle management (ALM) regards the process of delivering software as a continuously repeating cycle of inter-related steps: definition, design, development, testing, deployment and management. Each of these steps needs to be carefully monitored and controlled.

Does this sound familiar? It should. This is YAW2QH2DS (Yet Another Way to Quantify How to Deliver Software). This smacks of other big acronyms you may be familiar with like CMMI or *UP.

I don't mean to trivialize this with curmudgeonly developer attitude. The idea of measuring our organization's maturity level in the software delivery craft matters. It matters because successful small companies typically get bigger, and the challenge to every one of these organizations is how to stay successful as they struggle with issues of scaling up. It matters because it isn't good enough to compile and run software. It needs to work well, solve a good problem, and actually be delivered into the hands of users.

Measuring our organization's mastery of delivering great software is also important for organizations needing to get back to a good solid quality baseline. When things get big quickly without a control mechanism (companies, code bases, my belly, etc.) they trend toward entropy. ALM maturity can help provide that control mechanism.

Don't take that the wrong way. It am not saying, "Let's use a manager's tool to measure and manipulate those pesky developers."

Quite the opposite, what I am really saying is closer to, "Imagine never having to explain to management that unit tests are a good thing and worth the effort."

If we have a common reference for measuring our collective skills, we can agree collectively that we can improve in certain areas.

What if (brace yourself) the framework itself (the one your CIO bought off on) required that unit tests, measured code coverage, automated builds, and automated testing were present in your delivery cycle on order to be level 2? Now we're cooking with a little more gas, eh?

Microsoft and ALM

So, guess what? Microsoft makes tools for software developers. Big news, but there are lots of tools that others in your organization use to complete the delivery cycle: System Center, MS Project, Project Server, Portfolio Server, etc. These are the tools used by people in your company up and down stream of developers in the delivery lifecycle. Go ahead and resent them, but wouldn't it be nice if these things were used well and worked more cohesively with your tools?

There isn't a terribly cohesive story when flowing things between these tools (phases of the ALM cycle) but they are getting there. The real value here should be:

  • Tools that are frictionless to their primary users.
  • Tools optimized for the specialist using them. Whether this is developers, project managers, program managers, IT helpdesk, system administrators, developers, or testers.
  • Tools that seamlessly integrate, allowing passing the products of these tools between each other.

Obviously, Microsoft has a strong story for these tools as individual solutions. In the last few years, Microsoft tools have actually started to integrate more easily and this is why. Integrating them up and down stream to complete the ALM story will be a significant effort going forward. The Visual Studio Team System story is a particularly strong start for Microsoft in pursuing an integrated ALM line. The effort is underway to integrate the ALM story across all disciplines.

It's Not Just a Tool Story

"Great," you're thinking. So this is a part of world domination through tooling? Not exactly. The fact is that the tools themselves are being built these days to embrace many different processes or methodologies (read TFS Process Templates here). Project Management tooling is certainly due for an overhaul, but System Center has some shiny newness that is heading in the right direction.

As long as the base tools themselves continue supporting extensibility hooks, the community should be able to plug and play as desired. The key will be in getting full integration supported in the community tools. As an example, we really should put in the hooks for nUnit to integrate with Team Build for integrated reporting.

The bottom line here is the tools are getting more extensible along the stack as well. This means that we should be able to support any wonderful, decrepit, promising, or ill-advised silver-bullet process or technique that comes along. "Now don't that make you sweat chickens", my dad would say.

The ALM Maturity Model

So what about the model itself? Exactly what is this all about?

The basic ALM model endorsed by Microsoft includes the following Practice Areas.

  • User Experience (UX)
  • Requirements Management
  • Quality & Test
  • Code Quality
  • Architecture & Design
  • Project Management
  • Software Configuration Management
  • Deployment & Operations
  • Data Management

What I like about these areas is that it doesn't really matter whether you are a waterfall-driven Inicorp Employee or dyed-in-the-wool Agilista, these Practice Areas can typically be agreed upon as important. We can also all agree that being mature (read: competent) in these areas is important.

How mature are you? Microsoft provides an online survey for evaluating the ALM maturity in your organization where you can see a measured range of maturity for each Practice Area and specific competencies within each area.

Think about the questions you would ask to gauge competency in these Practice Areas. I was surprised to learn that the online survey asked many of the same questions I would have asked. Nice.

So?

So, what's the big deal and why is this different? I find a couple of things interesting.

  • Several tool vendors are embracing similar ALM models, not just MSFT.
  • CMMI is so 8 years ago.
  • It's not about tools. It is about tools that support the business we need to do.
  • There's a boatload of money coming behind this. Your executives will hear about this. This ALM TLA will come up in a meeting.
  • This framework actually embraces, rather than eschews, Agile Software Development practices. Seriously.
  • It gives your department lead something to brag about when you write unit test (don't undervalue this one).

This has a chance. This has a chance to actually improve the craft and to improve the bottom line at the same time, and that's a powerful combination.

Thursday, October 16, 2008 9:58:46 PM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -

 Monday, October 13, 2008

The Seattle developer community is holding Seattle Code Camp November 15-16, 2008 at the DigiPen campus in Redmond, Washington (close to Seattle). Please pass this notice on to folks you think are interested in either attending or speaking. Speaking of speaking, they are looking for speakers. If you hit the code camp site, you will see that they don't have sessions or tracks listed at this point. This 'camp is a blank page at this point that needs to be colored in - which is a great venue for presentations. If you have something you are passionate about but have never done any public speaking I encourage you to give it a try. If you are an experienced speaker, this is your time to get involved in your local community and share some of your experience.

What types of topics are they looking for?  Pretty much anything goes as long as (A) it involves code, and )B) It isn't a direct advertisement for a product or service. This means that this isn't limited to .NET or even Microsoft technologies. Past 'camps have included sessions on XBOX 360 development, Java, PHP, Delphi, and Rails. Submit your sessions here. Alternatively if you have no desire to get up in front of a bunch of developers and impart your wisdom, they could still use your help. Please promote this code camp at your user group meetings, post it on your blog (like I did), email it to interested locals and encourage your friends and coworkers to submit sessions.


Finally if you plan on attending please register so that we can get some idea of the required space and food needs.

Monday, October 13, 2008 9:07:03 AM (Pacific Standard Time, UTC-08:00)  #    Comments [1] -
Community | Development | Richard Hundhausen
 Wednesday, October 08, 2008

As I have stated before, I am amazed at how an organizations culture (read: dysfunctions or strengths) are reflected in their source control systems. This is a really a restatement of Don Norman's assertion, which says, "The design of a software system reflects the culture of the organization that created it."

So, not to belabor a point, but can anyone really make a case for a SCC model that is not a Branch-by-Purpose model? Here's my guess. If you literally are unable to use this model in SCC to ship your software, I believe I can find a smell that is causing it.

Thoughts?

Wednesday, October 08, 2008 7:22:16 PM (Pacific Standard Time, UTC-08:00)  #    Comments [2] -

 Monday, September 29, 2008

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

Monday, September 29, 2008 12:25:04 PM (Pacific Standard Time, UTC-08:00)  #    Comments [1] -
Microsoft | Richard Hundhausen | Rosario | Team System | Visual Studio 10

Code Camp is a grass roots event organized by software developers for software developers. I’ve attended several code camps, presented at a few, and helped organize the Boise Code Camp. In all cases it was a worthwhile and rewarding experience. Chris Kinsman is spearheading the Seattle Code Camp 4.0 coming up  November 15-16, 2008 at the DigiPen Institute in Redmond WA. I highly encourage you to attend this event, and maybe even give a presentation on whatever you’re passionate about.

For more informtion visit https://seattle.codecamp.us/

Monday, September 29, 2008 4:47:12 AM (Pacific Standard Time, UTC-08:00)  #    Comments [0] -
Community | Conferences | Martin Danner
Navigation
Archive
<October 2008>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2010
Accentient, Inc.
Sign In
Statistics
Total Posts: 388
This Year: 9
This Month: 5
This Week: 0
Comments: 376
Themes
Pick a theme:
All Content © 2010, Accentient, Inc.
DasBlog theme 'Business' created by Christoph De Baene (delarou)