Friday, April 25, 2008

Rune Grothaug from Microsoft and NDC has interviewed Scott Hanselman with questions from the Norwegian .Net User Group! Scott will do the keynote at the Norwegian Developer Conference this year and will also have sessions on IIS7 and ASP.NET MVC.

Events | NDC | NNUG
Friday, April 25, 2008 8:40:59 AM (W. Europe Daylight Time, UTC+02:00)
 Wednesday, April 23, 2008

I just wanted to welcome our latest member of the Norwegian .Net User Group community; Haugesund. Welcome! This is especially fun for me since Haugesund is where I grew up and lived for my first 18 years. Looking forward to see an active user group down there and promise to drop by if I'm ever in town when you have a meeting.

Live in Haugesund and want to be a member? Go here to sign up.

Wednesday, April 23, 2008 4:21:35 PM (W. Europe Daylight Time, UTC+02:00)
 Friday, April 18, 2008

tfsbox Today I had a problem. At work we had a SCSI Raid controller that failed and we lost a logical device. Man I was pissed off! On top of this the raid was RAID 0 (striped), meaning there was no chance of getting any data back. This was the drive(s) hosting the OS which we had to reinstall :-( Anyway, this resulted in me having to spend quite some time in a freezing and noisy server room fixing the problems. While doing stuff like this (reinstalling OS, software and a pointless effort of restoring data) there is a bit of waiting time, so I figured I might as well work on our new server waiting to get TFS 2008 up and running. A brand new server (see spec below) dedicated to protect the heart of our company; the source code!

So I started digging around for the TFS 2008 DVD, knowing it should be on my desk with the MSDN subscription we get through the Microsoft Gold Partner program, but it was nowhere to be found. After a call to MSDN it turns out that the DVD's are now being shipped to our headquarters in Oslo, which was the case for TFS 2008 as well, but they couldn't find it. The guy who knew was of course away that day. You might wonder why not download? Well, you can't. TFS versions available on MSDN subscription is only Workgroup and trial editions.

My last attempt before giving the whole thing up was calling my friend John from NNUG and ask if they had a DVD I could use. He had a much better idea:

"Just use the trial and upgrade with your key at a later time".

Dooh! Why didn't I think of that. Check out Brian Harry's blog for more details: http://blogs.msdn.com/bharry/archive/2007/11/22/2008-installation-questions.aspx

Server spec:

  • HP ProLiant DL380 G5 Intel® Xeon® E5440 Quad Core Processor 2.83 GHz 12MB 2GB 1P Rack Server
  • HP 4 GB PC2 5300 DDR2 DIMM Memory
  • 6 HP 72GB 2.5 inch 15K rpm Hot Plug DP SAS Hard Drives
  • 2 HP 146GB 2.5 inch 10K rpm Hot Plug DP SAS Hard Drives

hpserver 

I think this should keep our source code safe for a while...

Friday, April 18, 2008 9:56:18 PM (W. Europe Daylight Time, UTC+02:00)
 Friday, April 11, 2008

The first .Net user group ever (as far as I could find out) was started by Ruth Walther in Seattle December 2000. It seams like this group is no longer active and I was unable to find out why. Anyway, today you'll find a user group in almost every major city in any country. And if you don't have a user group where you live, I think it's about time you start one! :-) Seriously, it's not that hard and you'll be a hero where you live! :-)  I can really recommend the experience and people will defiantly appreciate someone taking the first step to get your city on the user group map.

NNUG2After the first user group started up in the US many others soon followed during 2001. To pick a few other countries I'm familiar with I can say that my home country Norway started their first user group in Oslo October 2001 and in my city Bergen we started up in December 2002, the London .Net User Group was started in 2002 and Sydney Australia in April 2002, .

It's free
HangingDollars Most user groups I know of don't charge for membership. Many don't even have memberships, but use the word of the people to announce their meeting or that "everybody" knows that their having a meeting last Wednesday in every month, and it's just to show up. User groups rely on local, national and/or international sponsorship. If your country have a Microsoft company present, they usually help out. This can be to help you get in touch with speakers, sponsor travel costs (for speakers), pizza and the like. The user group I run in Bergen use local sponsors for pizza, but get some help from Microsoft for travel costs. When requesting speakers it's often smart to provide them with consulting when they visit your city. This is a nice way of helping your local companies get excellent consulting and it make the speakers trip to your city a bit more attractive.

Why are user groups so popular?
There are many reasons for this and they vary from user group to user group. But from my experience there are some general things that should more or less apply to all user groups:

  • It's free
  • You get free food (usually pizza)
  • You get to meet other people from other companies to share experience with, that you would usually not meet outside the user group
  • You learn a lot
  • Keeps you up to date on what's going on
  • Communities in general are popular

INETA
Ineta INETA is the mother organization for all .Net user groups. Its an acronym short for International .NET Association. You will find user group related to SQL server, VB, SharePoint and other .Net related products. They all have in common that they focus on some type of Microsoft .Net related technology. INETA is divided into five geographical areas; North America, Latin America, Middle East and Africa, Asia Pacific and Europe. My experience is with INETA Europe, but I expect it to work much the same in the rest of the world. INETA Europe have among other things a Speaker Bureau with lots of good speakers. As a member your user group can request two speakers per year. These are top notch speakers! In Europe you'll see names like Ingo Rammer, Christian Weyer, Dino Esposito to mention a few. As a member your user group will also get a quarterly kit where you can select some books, cd's and other stuff to use as giveaways for you members, prizes etc. INETA also helps getting user groups started, especially if it's the first user group in the country. If there are existing groups in the country, the other groups usually helps you getting started in your city. That's how communities work!

.Net | Microsoft | NNUG
Friday, April 11, 2008 4:03:52 PM (W. Europe Daylight Time, UTC+02:00)
 Saturday, April 05, 2008

CrashTestDummy"Why would you need a tester today? When you truly learn to master Test Driven Development their should be no need for a tester. You have a test for everything and you even got it covered in your continuous integration that will alert you if someone checks in something that breaks existing behavior. Shipping software now days is a breeze compared to some years ago when you had those testers nagging you about small details that where totally irrelevant for the end product. Not only that, they didn't understand the process around coding at all and how hard it is to develop perfect code. Well, at least we are there now. The perfect code has arrived with TDD! Yeah!"

Something like the above was stated by a senior consultant that I met some weeks ago. I added some extra stuff to emphasize my point, but the overall meaning did not change. He where convinced that today there is no need for testers.

I think that TDD has made the job easier for testers, allowing us developers to produce better code quality. However, TDD don't test much of what a traditional tester would test. TDD is not something that a tester would think of to begin with. Maybe that's why Dan North came around with the concept of BDD (Behavior Driven Development), replacing test with behavior. Behavior is a much better description of what we're trying to accomplish (from a testers perspective), though BDD is not necessarily a replacement of TDD, but more a response to TDD. TDD really don't have anything to do with testing as a tester sees it. BDD however focuses more on the business aspect of what your trying to solve. It "forces" you to look at things from the outside and in.

Another aspect that TDD does not cover is of course the look and feel of the application that only a human can tell is right, wrong or bad. Much of the functional logic is also impossible to test with TDD. There are other tools one can use for that, but not TDD. I think that this kind of thinking really puts TDD into a bad light. I'm pretty confident that TDD was never intended to replace testers.

Talking about automating tests and the like. Automation is often done by developers or testers with developer skills. Automation is a tool for the testers to make their job easier, not a replacement. Code help testers automate stuff that they do time and time over. The good thing about automation is that testers can focus on other things than the manual tests which is now automated. Not all tests can be automated and not all tests will add value if automated. Some you will just spend to much time maintaining and is just not worth the effort of automating. Testers needs to be careful with how they approach test automation and the tools used in the process.

We now also see that tester more often make use of dynamic languages as their preferred language. Why? Because you can achieve more with less code. Also dynamic languages (as they are today) is often in beta, and developers have a hard time convincing their boss (and even themselves) to put it into production code. But it's easier to except using beta stuff for code that is not going to production.

In all fairness there is one situation where I see little or even no need for a tester. That is on very small scale projects where the product is very simple or where it's an API or service of some sort. You can probably manage without a tester for some time on these types of projects, but at some stage I believe you would need more than just TDD.

Instead of fighting this battle with the tester, we should help the testers more by utilizing our knowledge helping them to be more effective. Include your testers into your team instead of handing over functionality to be tested, and get it back when it does not work. Include the testers in the planning.

I recommend reading an interview with Jonathan Kohl by J. Bruce Daley about test automation. And you should of course check out Jonathan's blog as well as Bruce's.

Saturday, April 05, 2008 7:08:52 PM (W. Europe Daylight Time, UTC+02:00)