Misconceptions with Test Driven Development

I'm test-driven! In the past few weeks I've heard several misconceptions raised about Test Driven Development:

  • Does TDD really work? I've written about this before: Advantages of TDD; In addition George Dinwiddie maintains a list of case studies (including one from IBM). Finally Keith Braithwaite has recently done some research on measuring the benefit of TDD. Currently the results are buried in a presentation (pdf). Key message: "measuring a over 20 projects: if you have a large number of unit tests your code will be an order of magnitude less complex."
  • Writing the tests after the code has been written is the same as Test Driven Development. Its not, there are significant benefits to TDD that I outlined in: "Test Driven Development vs Plain Old Unit Testing".
  • TDD isn't useful for helping to design the architecture of programs.

Continue reading "Misconceptions with Test Driven Development" »

June 25, 2009

Giving an Taking Design Criticism – with Rebecca Wirfs-Brock

image A few weeks ago I had the opportunity to attend a webinar “Giving and Taking Design Criticism” with Rebecca Wirfs-Brock. The session teaser was: “Have you ever engaged in a design review where people didn't play fair? Do you have trouble giving design advice that sticks? An effective software developer or designer needs to be skilled at giving, asking for, and reacting appropriately to criticism.”

As someone who has done design/code reviews – I’ve always wondered why the advice didn’t stick and needed to be repeated time after time. As the victim of the same reviews I wondered why the reviewer needed to be so picky and unpleasant ;-) Two sides of the same coin?

In this Webinar Rebecca reminded us of what is going on and gave us some tools to do better reviews and be better listeners. She talked about Cognitive Biases (an excellent list >75 biases) and their effect. Key take away: everyone brings a different set of biases to the table and they cause use to react rather “think and behave logically”.

Continue reading "Giving an Taking Design Criticism – with Rebecca Wirfs-Brock" »

June 15, 2009

Product Owner Video Up

 Paul Relf is a Scrum Product Owner at Nortel and one of the few people I’ve seen that really gets the role of product owner. In April he gave a presentation at Agile Ottawa that I missed, luckily for all of us Fred Dixon, recorded the presentation on video and the results are now up at the Code Factory: The Product Owner.

image

If you enjoyed this post, subscribe now to get free updates.

June 08, 2009

Agile Mailing Lists

mail_box Twitter is fun, c2.com is almost dead and blogs have a lot of great ideas, but the best discussions about Agile still occur on the mailing list. Yet I keep coming across people in interested in learning about Agile who don’t know about the mailing lists.

What follows is the mailing lists I know of (most of which I subscribe to). BTW I don’t recommend subscribing to this many mailing lists your mail volume will be insane (mine is about 300-400 messages a day), I can only handle it because gmail collapses long conversations into a single thread.

Continue reading "Agile Mailing Lists" »

May 11, 2009

GAC Madness

Using FxCop when I try to analyze projects that rely on Patterns and Practices, Enterprise Library Data (among others) 2.0.0.0 - FxCop complains that it can’t: “Locate Assembly Reference” - even though the application dll being analyzed was complied against this version and its in the GAC. If I browse to the GAC try to select the same assembly (I've checked version and public key token) FxCop won't allow me "open" it. The application succeeds in running and definitely makes use of the problem dll.

OS: Seen on both Vista and Windows XP.
Versions: Visual Studio 2005 and 2008. FxCop 1.36

I have the same problem if I try to browse the application dll with Reflector.

Clearly it doesn't think this is the same version of the assembly its compiled against. Does anyone know why? Any suggestions for a solution? What am I missing?

Solution (via StackOverflow): "In FxCop, you can select Project - Options... - Spelling & Analysis - (check) Search Global Assembly Cache for missing references"

If you enjoyed this post, subscribe now to get free updates.

April 07, 2009

Visual Studio vs. CCNET as Service

Ok I’m going completely mad with CCNET and Visual Studio 2005. We’ve got CCNET running from the command line – but wanted to migrate to running it as a service so that it would always be run after a machine restart. The service has the login credentials of the user that runs the command line version today. So in theory they’re the same people.

The ccnet config file:

<cruisecontrol>
 <project name="EndManager" webURL="http://localhost/EndManager">
  <intervalTrigger name="continuous" seconds="30"/>
  <sourcecontrol type="vss">
   <project>$/EndorsementManager_Net</project>
   <workingDirectory>C:\GLOBEXDOTNETVSS\ENDORSEMENTMANAGER_NET</workingDirectory>
   <timeout units="seconds">600</timeout>
   <ssdir>\\vss2\share2\GlobexDotNet</ssdir>
  </sourcecontrol>
  <tasks>
   <devenv solutionfile="C:\GLOBEXDOTNETVSS\ENDORSEMENTMANAGER_NET\Source\EndorsementMgr.sln" configuration="debug" />
   <nunit path="C:\Program Files\NUnit 2.4.8\bin\nunit-console.exe">
    <assemblies>
     <assembly>C:\GLOBEXDOTNETVSS\ENDORSEMENTMANAGER_NET\Source\EndmBaLayer\EndmBaComponentUnitTest\bin\Debug\EndmBaComponentUnitTest.dll</assembly>
    </assemblies>
   </nunit>  
  </tasks>
 </project>
</cruisecontrol>

This contains the much maligned devenv task which we use because its easier than writing an msbuild script for all of the assemblies. The devenv task trys to do the following on the command line:

C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.com "C:\GLOBEXDOTNETVSS\ENDORSEMENTMANAGER_NET\Source\EndorsementMgr.sln" /rebuild "debug"

Net result – I get the following wonderfully descriptive error: “the application data folder for visual studio could not be created” What’s up? Is this an environment variable problem? Shouldn’t having the login credentials of the user mean that we get their environment variables?

Any ideas?

If you enjoyed this post, subscribe now to get free updates.

April 06, 2009

Planning a Change in Career? Laid Off?

image

Recently a few good friends have been laid off and I’ve been left thinking what to do after that happens. First up I don’t have any jobs in my back pocket. I don’t know anyone hiring right this second. My thoughts are more general than that.

Continue reading "Planning a Change in Career? Laid Off?" »

March 31, 2009

Urlseek.vmn.net or the Evil that is Hidden in Toolbars

A few weeks ago I need to capture the output of a program in the form of a PDF. A few minutes googling led me to PDF Creator (hosted at SourceForge). The application itself is great however when you install it a toolbar is bundled with it pdfforge. You don’t get an option its simply installed on your behalf – as ‘benefit’. The worst parts of the license agreement are below:

Continue reading "Urlseek.vmn.net or the Evil that is Hidden in Toolbars" »

March 25, 2009

Reviewing the Review Process for Agile 2009

image Sorry I’ve been more than a bit busy lately, working as an independent coach is very rewarding and time consuming. For the past couple of weeks I’ve been doing work reviewing sessions for the Manifesting Agility Stage at Agile2009: “This Stage is all about tools and techniques for rapidly developing a deep understanding of the empirical Agile mindset, and then rapidly applying it—as individuals, and as groups.” As a you can imagine even with only 87 proposals this is a very time consuming process. Our stage has 1440 minutes allotted and 3750 minutes of proposals.

Its been hard work, first up in theory we should provide every proposal a proper review even if its only a few sentences. While I tried that and I was able to provide comments (visible to the public) or reviews (visible only to the author and other reviewers) – I commented on or reviewed 50+ sessions (across all the stages). Sorry too everyone who’s session didn’t get a review. There are only three of us who are actually doing the work on this stage and we just can’t provide notes to all of you. Consider these notes your comments.

Continue reading "Reviewing the Review Process for Agile 2009" »

February 10, 2009

Functional/Acceptance Test Tools for Web Apps

I used to be rich client guy, but my current client is building web apps and so all of a sudden I'm a web app guy. Now I wish I’d paid more attention in the past. For my penance I promise to document whatever I learn on the forthcoming Agile Tools Functional Test Wiki (i.e. the wiki that we discussed last year at the AA-FTT meeting before A2008).

My client is building an ASP .NET application and we're trying to decide how to test it. The issues I have to deal with:

  • The two QA people have no coding experience so any tool that requires significant coding will require more development support.
  • The application will be run in IE on the IIS webserver. No other combinations need be tested.
  • The application is really a document creation and management system. Once the documents have been created and approved they're submitted to an outside system.

Continue reading "Functional/Acceptance Test Tools for Web Apps" »

January 29, 2009

Manifesting Agile Stage - wants proposals

agile2009_webbadges_self Our stage at Agile 2009 wants your proposals. The name is a little obscure and some people are having a hard time deciding if their talk belongs there. Here's the deal: "This Stage is all about tools and techniques for rapidly developing a deep understanding of the empirical Agile mindset, and then rapidly applying it—as individuals, and as groups. We are looking for hard-hitting sessions focused on enabling immediate understanding and effective application of the Agile approach."

Among the types of sessions we're looking for are:

  • Cognition and Psychology- techniques and tools that develop awareness and cognition of real Agile thinking at the individual and group levels. Also subject matter on group dynamics and group psychology. This includes material on behavioral topics such as belief change, cognitive psychology, and group-level dynamics and behavior.
  • Learning and Education- effective classroom and experiential learning techniques that manifest a real embrace of Agile’s core and essential concepts. Experience reports are of particular interest here. We are looking for sessions on best practices in Agile education and learning.
  • Applying Agile to non-IT Domains- Agile, empirical techniques are effective in many non-IT situations. We are actively seeking experience reports and sessions on how and where real Agile techniques are being applied effectively OUTSIDE of IT. We are looking for hard-hitting material on the use of Agile techniques in the domains of business, academia, non-profit organizations, and other places outside of IT where people organize to do work.

Among the sessions proposed so far: Learning: the best approaches for your brain (my own with Linda Rising), Scrum in Church: Saving the World One Team at a Time, Journeyman Tours: How Apprentices Hit the Road, ... (N.B. you need to create an account on the conference website to see and comment on the proposals).

So beat the rush, submit before Feb 13th (the hard deadline) and give the stage reviewers (like me) the time to comment on your proposal. The sooner it arrives the more feedback you will get.

See you in Chicago.

If you enjoyed this post, subscribe now to get free updates.

Related Posts Widget for Blogs by LinkWithin
Blog powered by TypePad