Welcome to MSDN Blogs Sign in | Join | Help

..Havent been around for the last 5 months and now I am back. Some of the important things that I did in the last few months - gave birth to little Aryav, my son :), made best use of the longest leave I got since 1999, relaxed bigtime, basked in the glory and thrills of becoming a mom and gained some (some ?) extra pounds !

So now I am back...back to a different world of testers. No I havent become an SDET, am still a PM but my team has moved out of Team Foundation and now we are all working in the Test Tools space. Fun times ahead - planning how best to make the world of testers more productive.

But hey Team Build is and will be my first love..something that I was involved in from day one at MS and my first ship.

...but we share the fun..

  From Left: Dinesh Bhat (Test Mgr), Neeti Kapur (test), yours truly :) (Program Mgr)

 

 

...drink merry..

from left: Gijo (test Lead), Ankur (Dev) - dont worry they werent like this while building the product :))

 

 

..and are proud to be a part in building ..the Visual Studio Team Foundation...

seated from left - Rubel(test), Satinder(dev), Rituparna(test), Akash(PM), Ankur(dev), Amit(dev), Srivatsn (Test), Manish(Dev). Standing from left: Neeraja (dev lead), Gijo (behind the box), yours truly (the one waving :)), Anu (Test) and Neeti

 

[Edited - added names to the pics as requested in one of the comments]

 

Yes !! TFS has SHIPPPPEEDDD!!! 

My first ship experience in MS and in my entire career cause this is the first time I worked for a product company, my first ship it award which I can proudly display in my office soon......Vohoooooooooooooooooooooo!!! Cant say more....

We are 13.5 hours ahead of PST - so when I woke up this morning (Saturday), the first thing that came to my mind was - "Gawddd!!! Show me the ship it email" and rushed to my laptop and here I am still half asleep making sure I jot this down in my blog to remember this day always....

Now waiting for Monday morning for the celebrations @work - will post some cool pics of that ..

 

Yesterday I completed exactly 2 years at MS :-)...and co-incidentally got the VS 2005 box as a souvenier which has almost everything in it including VSTS suite (the product that I worked for right from day 1 at MS and which I am seeing ship now !) - well..technically I need to wait for TFS to RTM to feel realllyyyy proud and nice but heck thats just round the corner !!!!!!!!!!!!!

So now with 2 years gone -    I am actually looking forward to completing 5 years @MS. Well there are a bunch of benefits that you get if you complete 5 years (especially in the India Dev Center)..

- You get an office (yes the lesser mortals sit in cubicles here)

- You get a nice fancy shield for completing 5 years

- You get a card signed by BillG (no I dont think he signs it himself :( )

- And you get a nice sticker which says 'Ask me for how long have I been here' ...just makes people walking by think that you are a fairly senior person ;)

BTW if you want to take a look at the contents of the 'box' - the cool posters and what not - take a look at abhinab's blog...

 

Many of you must have already noted that the CI sample that we had earlier posted here was broken for the new RC build. The link has now been updated and you can download the sample from the same location for it to be built using the RC build.

Again, many of you must have noted that the article needs a small update in the bissubscribe command if you use it with the RC build to subscribe to events. The only change is that the /userId <your id> parameter does not have to be passed as it picks up the current user (I have updated my blog to reflect this change).

If you face any issues with the latest updated sample - do let us know

I mentioned in my blog that there is an MSDN article on its way for CI and the sample that we shipped. Its now available - go check it out!

I finally installed office 12 on my desktop a couple of days back and loved it so much that I now have it in all my desktops and my laptop J. Not that I have deep dived into it ..but the very look and feel made me feel like …

“wow – I would love to be in the usability team of this!!”

Now- obviously it’s a considerable change in the user experience and some terrific usability studies must have gone behind it. That set me reading Jensen’s blogs which talks tons about office 12 and the history of usability and the usability studies and then that made me feel like…

“wow – I would kill to be in the usability team of this!!” J

 

Anyways – for those who haven’t yet got a taste of what all is instore- here are two of my favorite things (till now cause I haven’t yet seen much)..

 

1.      Preview it before applying it – remembering trying to figure out which font would look best in your document and then going through the cryptic list of “Abadi  MT condensed light, Algerian, Arphic Kaisho Medium……..” and applying and then reapplying ? Come Office12 no more! Look at this – I select a text in my document and then simply hover on the options either in the drop down list of fonts, font sizes, heading styles and whatever ..and it actually shows me a preview of what would the text look like. No more guessing, no more reapplying – cool isn’t it?

 

2.      Another pretty useful thing in outlook. Yes I know there is this “Reminder” pop up which keeps popping up 15 mins, 20 mins, 30 mins prior to a meeting – but maybe its just me but for some reason – I just loathed it..and almost always hit ‘Dismiss All’ without even thinking twice. Yes and I have almost missed a lot of my meetings too (not a good idea when you are a Program Manager in MS – c’mon you draw half of your salary because of meetings!). Another frequent problem that I used to have was I would almost always forget some late night calls that I needed to have with the Redmond folks. They used to send invites a week back – and the reminders were supposed to pop at 10:15 pm my time but how would it when I was getting ready to sleep with my laptop safely tucked in my bag!! Well..with office 12 - so much easier..I have this cool sidebar which always shows me all the appointments I have for the day..no more relying on pop ups to remember what’s in line today.

 

Oh BTW and I love the ribbon..though I am sure there is much more to it but I just remembered once when my dad (not exactly a tech savvy guy) was all bewildered over the phone asking me how some options from his toolbar had “just disappeared” and he  was completely blocked and worried that there was some major problem with his MSWord. The fact that he hardly knew what each icon was used for is a different story altogether..he just knew a couple of them like B U and maybe a couple more. Come ‘ribbons’ I am sure a lot of his problems will be solved ..with the cool tool tips and getting rid of the cluttered old menu and toolbar – I just cant wait to show him this . It just makes me wonder - there might be a organisations in this world who would be hiring as smart or maybe smarter people than MS, may work on maybe as cool or even cooler technologies, might be as or maybe more innovative..but..usability studies and user experience - MS rocks!(I dont want to sound like a typical loyal employee - but this is what I have always felt ..even before I joined MS and get convinced about it more and more each day!)

 

Go change your outlook ..and give a new look to your office as soon as you get a chance!

 

 

...I stumbled across it while doing an MSN search. I thought it was a pretty neat book - very quick and simple read yet gives good insight into good build practises. Since Vince talks alot about build processes followed by MS teams..alot of the stuff in there was already known to me, but I am sure it will be fun for non MS employees to get details about how MS builds its products ! Checkout its sample chapters.

An interesting part from the book..

"I once was asked by a test manager to summarize everything I learned about builds in one sentence. I told him that “there are no free lunches, especially in the build lab, but there might be free beer.” He told me that he was disappointed that I did not have anything deeper than that. He then said his motto was “Testers close bugs.” I knew what he meant, so I said with tongue-in-cheek, “Wow, that’s deep.” I’m not sure if he took that as a compliment or just thought I was not very funny. Regardless, he did have a good point."

Pretty deep I must say !

I was also surprised that Vince actually had a chapter on Team Build and that he used my blog content for it. And to think of it yesterday was the first time I actually spoke to him :)..its a funny thing how huge MS can sometimes be ..but its great that inspite of its size and the fact that I am in India and Vince in Redmond..it just took one email exchange and we got talking together on the future of Team Build..it indeed isnt that big a world here after all!!

Happy Reading !!

Yes..I am assuming that at least there are three things that you hate about your current build system (I can name a few tens for the build system that we use..one of them being that it is too complicated for a 'touchy' 'feely' Program Manager like me...- BTW I have borrowed this description of PM from Neil Enns (Lead Program Manager in the MSBuild team)!!)...

As we are gearing towards locking down our V1 more and more ..we are looking to plan and make our products better come Orcas..and that is where I am coming from. Sure..we do our usual stuff of talking to our very own build lab engineers for the SQLs and Offices and Dev Divs of the Microsoft world to gather some ideas, but I guess it just makes us so so MS centric and definitely thats not how the world operates always. In doing so we sometimes miss out on the other "non MS"scenarios of huge build labs, mini build labs and builds for the individual contributors right from their desktop. This is something that worries me often..especially since we are in the Dev Tools business and we have some a huge number of Devs and Tests, most of them incredibly smart (rest convinced that they are incredibly smart)..we are so prone to taking it for granted that we know the users of our products very well. At times it turns out to be a blessing and an awesome situation to be in..but sometimes I feel it is too limiting....

...so lets hear from you...My previous blogs asked for feedback around Team Build ..but here I dont want you to be limited by the 'it doesnt have' list of TB ..but to look outside of TB and inside what you folks are doing currently and what you find extremely painful and hoped and wished some tool would make easier ..I would love to hear from people handling huge build labs, mini build labs and also Individual contributors who do desktop builds or simply anyone on this..

A Team Build user had this problem the other day and I thought it would be a good idea to share this lil 'tip of the day'..

As a part of the build process in team foundation build, we report changesets associated with each build. This is done primarily to help you quickly view what all checkins that went into this build with the name of the dev who made the checkin and his comments. This makes it much simpler to point out the possible cause of a build break..

But in cases where you have a huge number of changesets being reported (say around 5k of them)..this might take several minutes hence holding up your report and build. A very typical scenario would be when you have just migrated an existing project with an already existng store of changesets and work items and you have started a build. An interesting fact which causes this is, that we report changesets only between two 'successful' builds for a team project and for a build type. Pardon me for diverting from the topic but - the definition of a 'successful' build that we use in Team Foundation Build is a "build which has 0 compilation errors and has passed all tests included in the build" (Again we had a huge debate whether test results should or should not be included in determining a 'successful' build but we finally thought that any good daily build process should have this behavior - here is what Martin Fowler says about it ( I would love hear your thoughts on this though).

Ok so back to where we were - now that you have changesets taking several minutes to report and the matter is made even worse if the builds are failing - cause everytime you have to invest the same time to even debug what went wrong with the build..here are some tips to help you..

1. Did you know that you can actually skip this step of getting changesets altogether in team build?

To do this you would need to edit the Microsoft.TeamFoundation.Build.targets file. You simply need to change the property value of SkipPostBuild to 'True'. Here is what it would look like

<!-- Set this property to true to skip PostBuild target -->

<SkipPostBuild Condition=" '$(SkipPostBuild)'=='' " >true</SkipPostBuild>

But yes by doing this you would also be choosing to switch the automatic update of the associated work items with the changesets with the build number

2. But before even doing this - if the problem is simply that you need to debug the issue causing the build break - a better idea would be simply to do a desktop build (which does not get changesets or update work items).

Keep team building !!

 

Yup - it was my birthday yesterday !!!! (4th of Jan)..and of course my teammates were sweet enough to get me this awesome cake ...Look at the snaps of the lil' party that we had.... 

You can easily get Team Build setup to perform Continuous Integration - a number one ask from most of the users of Team Build. Here is a sample which kishore and I came up with which helps you to get going with it (for beta3 and beta3R)

Follow these simple steps I followed to setup my CI sample

1. Install the CI.msi

2. In the second page of the wizard when it asks me for Site – I choose ‘Team Foundation Server’, Virtual directory is CI

3. I am done and the CI tool is installed.

 

4. I go to IIS manager and check if CI has been registered under ‘Web Sites’ ‘Team Foundation Server’

5. Go to the properties of CI and make sure the Application Pool chosen is ‘TFS AppPool’

 

Now I need to edit the web.config file in the CI tool

 

6. I go to the local path where CI has been installed – in my case by default it has gone to d:\program files\Microsoft Visual Studio team Foundation Server\webservices\CI

7. uncomment the following line and add the name of the TFS server, team project name and build type name

<add key="1" value="TeamServer=http://MyMachine:8080;TeamProjectName=AdWorks;BuildType=CI"/>       

 

Finally I need to subscribe to the checkin event notification using bissubscribe

 

8. subscribe to the notification using Bissubscribe

To do this, use the bissubscribe tool available at “%programfiles%\Microsoft Visual Studio 2005 Team Foundation Server\TF Setup\BisSubscribe.exe" on the server.  The command to use is

Bissubscribe /eventType CheckinEvent /address http://khushboo-dev1:8080/ci/notify.asmx  /deliveryType Soap /domain http://khushboo-dev1:8080 

 

Voila! You have CI all set for you, make a quick checkin and see if you get that build triggered off !

 

Something seems to be wrong still ? - Go through this list to make sure everything is in place

 

-          Did you remember to choose Team Foundation Server while as the site or was it created under the default web site

-          Did you remember to choose the TFSAppPool as the Application Pool

-          Sometimes after subscribing to the checkin event – iisreset is needed

 

The sample consists of:

  1. notify.asmx
  2. web.config – the configuration page which contains the properties for continuous integration.
  3. app_code\*.cs – the source code for the application.
  4. bin\*.dll – the reference assemblies.

 

Soon you will find a detailed whitepaper on this sample on MSDN - till then have fun with the sample and feel free to let us know what do you think of this.

 

 

 

I had almost written a blog on 'How to get comments on my blogs' asking for suggestions after fretting over the fact that I was not getting any comments or feedback on my earlier blog, when thanks to Chris (who sent me feedback through email cause he couldnt manage to post a comment) and Steve who helped me realise that at least someone actually reads my blog (yes - please take the hint and post comments [:)]). Before I become a complete cry baby - back to the point on Team Build...

As I mentioned earlier - Chris sent me an email and brought up some excellent points and feedback on Team Build which I would like to discuss and get more feedback and ideas on. Pasting his email below ..

--------------------------------------------------------

Sent: Saturday, December 03, 2005 5:33 AM

To: Khushboo Sharan

Subject: (Khushboo's blog) : Team Build Comments

Importance: High

 

You wanted some comments! ;)

I think CI is fine as sample. Then agian I don't use CI.

However you have some very basic things missing.

1. The fact that creation of Team Build project is one way and the only way to make changes is to edit the msbuild script in SCM is incredibly limiting. No one gets it right the first time. They frequently want to change settings etc. The code gen guys realized this long ago and have had to do a lot of work to always do the right thing.

2. Scheduled Build - There is no service to schedule a build and have it happen nightly. This is the number one reason folks need a team build, nightly integration builds! Yes I know I can use a command line to schedule it, yada yada yada. I bought a tool to do this I don't want to be figuring out obscure command lines to schedule my build!

3. I have yet to be able to figure out how to delete a team build or to delete reports from previous builds. Given #1 above I have many orphaned build projects created by folks that I can't figure out how to get rid of. Again probably some obscure command line tool to do this task but it should be in the UI.

4. There just isn't enough control over how the build is setup in the wizard you use to create the initial team build. Please give me more options here.

5. The fact that if I include an ASP.NET project in Team Build I have to go in and manually edit the build file to get it to build is hopefully a bug. If not it is unacceptable and will generate a lot of support calls.

6. I argued with one of the other build PMs about this. I hate the fact that I can only build solutions and not projects. Even the ASP.NET guys have realized their projectless nirvana was a bit misguided and are releasing a web development project type out of band. Let me pick projects. Multiples. Please don't limit me to solutions.

Thanks,

Chris

----------------------------------

This message was generated from a contact form at:

http://blogs.msdn.com/khushboo/default.aspx

---------------------------------------------------------------------------------------------------------------------------

Here are my views, thoughts or questions to you on each of these points and I definitely want to hear what you guys think about it

1. A much debated topic which I would love to get more views on. Help me understand the basic problem here a) Is this a purely discoverability issue where it is difficult for a user to figure out the fact that he needs to actually check out a file and edit that to make changes to the build type OR b) It is actually a pain not to have a UI for helping me edit this. The reason I ask is that from what I understand - its not a very common scenario to change a build type - Chris definitely has a point that it will take a couple of attempts to get the correct one but once it is in place you wouldnt change them often ..Or are there some other scenarios around this ?

2. Clearly my favorite [:)]. I fought for it in V1 and am again gearing up for V2 discussions. But then there are quite a few finer points to look at over here. Again is this feature clearly being missed because of a) discoverability - because yes it is definitely easy enough to get it working through the command line and then again how many times would you want to set this up - not regularly right? Again feel free to correct me if I am wrong - thats what I am looking for OR b) Is the whole Scheduled build issue a larget issue (as Nagaraj - a tech lead in our team interestingly pointed out in one of our discussions)..which brought us to a question - is 'scheduled build' just about scheduling a build to kick off at a particular date and time OR does it also mean having the ability to queue, prioritise, pick up machines from a pool and what not...the whole system in place rather than JUST the ability to start a build ...

So we want to hear from you - what is in your mind a 'Scheduled Build'?

3. Sure enough. We have heard from alot of folks on this - look at Anu's blog for a discussion around this. We are clearly working on providing more consistency between command line options and UI options post V1.

4. Hmm...this is an interesting one. So the question here is - what is 'enough' - ? We have thought about it alot - added more options, cut them and then again added some more and realised that its difficult to reach a state where one wizard fits all. The interesting point here is that no two build processes are same - so what is the best set of options which can cater to the most common build scenarios? We definitely need help from you guys on this one - what are those options that you clearly miss in Team Build wizard today?

5. Just to clarify we do not need to edit the build file (tfsbuild.proj file) for getting Asp.Net projects to work but I think what Chris is referring to here is the fact that the user needs to edit the sln file to get the paths correct today. Yes Chris - completely agree with you. This is a bug which we unfortunately couldnt get rid of in V1 but definitely in V2.

6. Actually this can still be done with Team Build today - you can build projects instead of solutions using team build. For doing this you need to edit the tfsbuild.proj file to add the project name and path in the SolutionsToBuild property. But yes we do not have a UI way of doing this - given this fact - what do you think?

But this list does not end here - I am still waiting to hear more from all those who have tried out TeamBuild or any other build automation tool even if they were homegrown ...while you guys read this blog ..I am rushing off to crack today's puzzle...wondering what it is ??Check out Ankur's blog and I bet you will be hooked on to this - BTW the school that's organising this event (ISB) is the school that I went to for my MBA and boy am I proud of it [:)]!!

Now that we are on the final leg of shipping TFS - its time to sit back and look at what we have built all over again, hear from you and prepare for Vnext...It is indeed the most exciting part of the shipping cycle (my first experience, well I am almost a newbie to MS - been around for just about 2 years now - about all that n more later though :).

As the Program manager for Team Build its my job to get the best features in the product on time to you (dont go "Aha so she is the one responsible for this" and start killing me now) - so I got together with a  bunch of folks to have a discussion on what next ? What are the "absolute must haves", what "should definitely become better", what are the "welll...maybe we should do it", what are  "I think we are already doing good on that" features. Some of you have already been giving us loads of excellent feedback but I would definitely like to hear more. In case you cant think of anything (is our product so good ;)) let me get you started - so what do you think about CI being a sample and not 'in the box feature', ....the extensibility story, the usability and so on... Let them all come - the praises, the bashing, new feature ideas, tell us why you love Team Build and can use it, tell us what is stopping you from using it,  randomn blabbering just about anything - come on..help us make the product better for you!!

 

 

 

Figuring out permissions is one of the most common stumbling points in the use of any new product where half the time you are trying to figure out – what am I doing wrong, why the heck is this feature not showing up, how can I get this damn option enabled and so on! 

In case of Team build – again, this is one of the most common problems people have faced and various questions have been asked on this.  

So let’s start at the very beginning…you have got a build machine ready and now you have figured out from all blogs and forums that you need to install something to get Team Build working in Team Foundation.  

To setup a build on the build machine you need to be

            a.       An admin on the build machine

b.      During setup you also provide a valid ‘build service account’. This is the account under which the build process will take place.

 

Build Service account permissions

  1. Needs to be a member of the ‘Build Services’ group – this automatically gives this account all the relevant permission – remember the service account touches quite a few TFS parts as it goes through the build process
  2. Also make sure this account has full access to the ‘drop location’ which you specified while creating your build type using the build type wizard. This is the location where your build binaries are dropped.
  3. The service account also needs to have ‘Publish Test Results’ permission in case you want to include tests in your build process.
  4. In case you are running webtests as a part of your build process, the build service account needs to be an admin on the build machine. But this is not recommended until and unless you are running webtests.  

Build TypeAbhinab explains very well in his blog what exactly is a build type and how you can perform various actions on it. In this blog you get to know the kind of permissions you require to do all that.  

  1. To create a build type : You need to belong to a group which  have the ‘Administer a build’ privilege AND you should have permission to checkin into the ‘Team Build Types’ folder in source control. This is designed in this way because build type files are actually checked into this folder and any edits requires the user to check out and checkin this file and of course we don’t want everyone in the team missing around with the build scripts do we?

       Note : Often it so happens that you belong to two groups – say project administrator AND contributor. And if any one of the group has deny checkin permission enabled –       then that overrides all other checkin permissions and you will NOT be allowed to play with the build type.

 

  1. To edit/to delete a build type : Same as above 
  2. How to revoke permissions :In case you want to revoke creating/editing/deleting a build type from someone make sure that you deselect simply deny checkin permission to that individual using  

Start a build  All that you need is ‘Start a build’ permission to get this working.       

Delete a build  You need ‘Administer a build’ permission AND publish test result permission to delete a build. The publish test result permission is required because when you delete a build – all relevant test results are also deleted. Also please note that in case this build had test results associated with it, you also need to have ‘Publish Test Results’ permissions to delete this build.  

Stop a build All that you need is ‘Administer a build’ permission to get this working.           

View a build report  This requires ‘View Project Level’ permission. 

Edit a build Quality All that you need is ‘Edit a build quality’ permission to get this working.        

 

 

 

 

 

 

 

 

More Posts Next page »
 
Page view tracker