Welcome to MSDN Blogs Sign in | Join | Help

James Newkirk's Blog

Adding to the kipple... One post at a time.
xUnit.net v1.0 Released

We released xUnit.net 1.0 today! Download, blog post.

xUnit.net v1.0(RC2) Released

Brad Wilson and I released xUnit.net v1.0(RC2) today. Brad has the details on his blog.

 You can download the release on CodePlex here.

 

The CodePlex Team and the patterns & practices Summit

The CodePlex team will be well represented again at the patterns & practices Summit in Redmond, WA - November 5-9, 2007 . We will be presenting or co-presenting the following sessions:

  • "Yet Another Talk on Agility" - Brad Wilson and Peter Provost
  • Dependency Injection Frameworks - Brad Wilson and Scott Densmore
  • EntLib Devolved - Scott Densmore
  • Make It Your Own - Scott Densmore
  • Lessons Learned in Programmer Testing - Jim Newkirk
  • CodePlex is sponsoring an evening event on Tuesday titled "Open Source in the Enterprise".

Peter's not on the CodePlex team but we like him just the same. For additonal information on the summit and all of the sessions please click here.

Announcing xUnit.net
I have just blogged about a new testing framework that Brad Wilson and I have developed. Click here for details. 
Why you should not use Setup and Teardown in NUnit
I just posted my thoughts about Setup and Teardown at my new blog home. Click here.
NUnit Converter V1.1 - Moved from GotDotNet
Due to the shutdown of GotDotNet I have moved the NUnit Converter V1.1 to here. Note: This is not a new version. If you have comments or questions please let me know.
xUnit Test Patterns and Better Software Development for Agile Teams

These two books were recently published by Addison-Wesley. For a blog post on each book see the following on my new blog:

If you have any questions please let me know. Will and I look forward to your feedback on our book.

Test-Driven Development in Microsoft .NET Supplemental Material
Due to the closing of GotDotNet I have moved the supplemental material (sample chapter and source code) to here. If you have any questions please let me know.
Moving Day
I have decided for a number of reasons to move my blog to a new address. The new address is http://jamesnewkirk.typepad.com. For a few posts I will be cross-posting but about a month from now I will be at the new address exclusively. Please join me at my new blog home.
TechEd 2007

I will be at TechEd next week. I am helping out my co-author Will Stott at a Chalk-Talk Session on Monday, June 4 at 4:45p. The session is titled, "Microsoft Visual Studio Team System for Agile Teams".

In addition to this I will be at the "Open Source Software in Enterprise Development" panel discussion at lunch time on Thursday.

I will also be at one of the Microsoft booths at various times (I'll post more details on Sunday). If you questions/comments/complaints about CodePlex please drop by and let me know.

Teamprise and CodePlex

When we launched CodePlex last June we thought there might be an issue with some projects that had contributors who did not work on Windows. This was confirmed when we heard feedback loud and clear saying I cannot put my project on CodePlex because the only client that you have for Source Control is Team Explorer.

Well that was certainly true until today... Earlier today Teamprise announced a complimentary license of the Teamprise client suite for anyone wanting to connect to an open source project on CodePlex. I can't thank Martin Woodward enough and the rest of the team at Teamprise for offering their great tool to our customers. This opens up CodePlex to a larger number of potential projects who in the past may have considered other open source hosting solutions.

 
If you are CodePlex contributor click here to sign up to receive the complimentary license.
 

How to make sense of Code Coverage metrics

(co-authored with Brad Wilson)

Even since the release of Visual Studio Team System 2005 with easy to use
code coverage tools, people inside (and outside) of Microsoft have been talking about what it means. The most common approach we've seen is for a team leader to mandate a minimum code coverage number (like "all code must have at least 80% code coverage before being checked in"). As agile advocates, you'd expect that our team's TDD'd code would have 100% code coverage. And you'd be wrong.

We could all agree that test-covered code is better than not, so we probably also agree that a high coverage number is better than a low one. Why can't we come up with a hard and fast number that means "good"? The answer is that it's different for every project, and even for a single project, that number may change over time. It is inevitable that code is written which isn't covered by a unit test. A few examples of acceptable code without tests might include: web service wrappers generated by Visual Studio, views in a Model-View-Presenter system, and code for which failure is only possible because the underlying platform fails (like helper methods that pass default values into more complex .NET CLR methods).

So when you run that code coverage system for the first time and it pops up "73%", what next? Well, if it's the first time you've run the test, you're probably going to check out that other 27% and see how you categorize it. Does that code need coverage or not? If so, use the lack of code coverage to educate yourself on taking smaller steps in TDD. But if not, what then? Is 73% a magical number?

The answer lies in a metric that can be used to predict the weather,  barometric pressure. Today, weather.com says the barometric pressure in Seattle is 29.66”Hg and falling. More important than the absolute measurement is the trend: it tells you that the overcast and drizzling rain outside is going to get worse, not better.  The two pieces of information - value and trend - are used to predict what will happen next. The same can be said for code coverage. You can determine the relative health of your tests by using the value and the trend to determine the appropriate action.  That’s the important bit: code coverage gives you relative measurements against itself, not an absolute measurement against a target value. If your coverage fell from 73% to 72%, would you be worried? What if it fell from 73% to 67%?

Rather than holding your team to an absolute goal, use the trend to determine when you should invest time to figure out where you're covered and not, and to determine what to do about it.

CodePlex Deployment - February 20, 2007

We deployed a new version of the CodePlex software this past Tuesday. I wanted to give you a break down of the features and issues that we deployed, as well as give you a preview of some changes to the upcoming release pages that we are currently working on for the deployment on March 13th. As I mentioned in my previous blog post voting has had a huge impact on the priority of the items that we work on. For example, the feature "Ability to add a Soapbox video to home page" was created on January 8, 2007. It received a large amount of votes, 45 in fact, and we implemented and deployed it within 5 weeks. We can't promise to turn all of the work items around as quickly but the more you vote the higher the priority. In our next deployment we are working on the release pages. To give you an approximate view of the changes here is the February 20, 2007 CodePlex deployment. Note: The Comments column is something that will not be part of the deployment.

Mock-Up Of New CodePlex Release Pages (to be deployed March 13, 2007)

Total Votes: 220

Work Items

Issues (11 Votes)

Votes

Name (links to work item on CodePlex)

Comments

5

  

2

:) Any more spelling errors and I will be purchasing a dictionary for all team members

1

  

1

This was an oversight. I suppose all bugs are but this was truly something we intended to do but somehow did not get put into the previous release.

1

  

0

All issues prior to the implementation of voting have a vote count as zero.

0

  

1

  

Features (209 Votes)

Votes

Name (links to work item on CodePlex)

Comments

48

We have been wanting to do this for awhile. I hope this helps facilitate more 1 to 1 communication. We did implement it with appropriate safeguards. If you do not want to be contacted you do not have to provide your email.

45

  

40

Many people have been asking for customizations of the project home page. This feature allows you to change the graphic and replace the title with your own custom logo.

33

This is the beginning of work that we will be doing for individual profiles, keep your suggestions coming.

22

Believe it or not we used to have this feature. You might ask why it was removed. I removed it as a requirement when we built the new Advanced View. Its back and I probably won't take it out again.

12

  

6

We did this explicitly on the page and it also works with right-click behavior.

3

This is a duplicate of work item #3096

0

  

   

   

CodePlex Deployment - January 30, 2007

We deployed a new version of CodePlex last week on Tuesday, January 30th. Some of the features/issues that we deployed include the following:

  • Forums/Discussions (56 votes) - The theme (more on this in a separate blog post) for this release was to provide an update to the forums, which have been renamed discussions. This included the ability to edit a post, and to use email as a means to notify you of follow-up replies, and a mechanism to have a discussion thread be only visible to the developers and coordinators.
  • Source Code Browsing (55 votes) - The source code tab has been augmented to allow anybody to view the source code directly. This was the single feature that received the largest number of votes on the CodePlex Issue Tracker.
  • Sponsored Ads - We now offer project owners the choice of placing sponsored ads on their project pages. Project advertising is provided through Kanoodle BrightAds, and all the proceeds from Kanoodle go entirely to the project owner. Many open source developers work long and hard on their projects and use donations or sponsorships as a way of helping to support their efforts. We wanted to give project owners the ability of having sponsored ads for their project if they choose.
  • New Project Creation - Prior to this release the new project creation process required the user to fill out a form and we would create the project. In this release that step is now fully automated. Any registered user can now create a project on CodePlex. All projects are created with a 30 day grace period where the person who created the project can update the wiki, upload the source code, create a release etc. If you have been waiting to create a project I encourage you to click here and get the process started.
  • Granular RSS Feeds (21 votes) - In addition to the overall project feed you can now subscribe to an RSS feed for just the wiki, releases, issue tracker, discussions, or source code.

Overall we deployed features and issues that had received 143 votes. I can't tell you how helpful the voting has been in helping us prioritize the work that we do. As I look forward to the next deployment on February 20th we are looking at the highest voted issues as candidates. Click here to see the latest issues.   

CodePlex is Hiring

Would you like to work on the CodePlex project? Now is your chance to participate in the further development of the website. The CodePlex team has an open web developer position. For details click here.

More Posts Next page »
Page view tracker