Derik Whittaker

Syndication

News


Tests are not ‘Tasks’ you put on a backlog…

Today I had a conversation with our ‘scrum of scrum’ masters (we have 7 different scrum teams on our product team of 60+) and he asked me why someone would provide ‘developer tests’ as a task for the backlog?

Before I go any further, this is NOT a bait type of email, simply my opinion.  If you do not buy into the testing (either TDD or test after) then you can disregard this post.  But if you do buy into the testing concepts keep reading.

In order to gain a better understanding of the context I asked my SoS master for more background on this project and what they were doing.  After a brief conversation I became very clear to me that this developer did not think of testing as part of his requirement of building out a feature, but rather as a stand alone deliverable that he needed to deliver at the end of the sprint.

I explained that all developers on our team need to stop thinking in this way and to start looking at tests as ‘first class citizens’ when creating code.  I believe the exact statement I gave him was:

When developers are creating a feature, the unit tests which prove the feature as being valid is just as critical as the code which implements the feature.

Quite simply, IN MY OPINION if you buy into the testing concepts stop thinking about tests as a second class citizen and start thinking about them as part of your deliverable.

Till next time,


Posted 07-27-2009 7:57 PM by Derik Whittaker
Filed under: , ,

[Advertisement]

Comments

jdn wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 07-27-2009 9:53 PM

Yeah, you kind of have to do this.  Whether you are doing TDD or 'just' unit testing, if you are taking it seriously, it kinda defeats the purpose to have as a separate task.

This could happen if people confuse unit tests with integration tests.  Recently worked on something where all code was required to be 'unit tested' but they really meant it had to have undergone some sort of integration testing.

Dave Schinkel wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 07-27-2009 11:06 PM

Exactly.  If you do not test now, you definitely won't test later and that's a lazy ass approach to development.  If you buy into something like this then you do not buy into testing at all.  So I say your scrum master better start to get a clue.

I can't imagine anyone going through their code at the end and then creating unit tests.  What's the point of that?  You build testing and quality into the project as you go.   The whole point in testing is that you get immediate feedback and results which benefits the entire team as you build out a project together!

Here's a question though.  Do you create a test after each method created in a class or create the tests for all methods of a class after the class is technically done?

So is it on a per method basis or per class basis that you should create your tests.  Where are the start and stop points?

Scott Seely wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 07-28-2009 10:39 AM

Exactly right attitude. Might want to also point out the productivity gains one gets when one writes a test, then writes the code so that the test compiles. This kind of thing flushes out all sorts of bugs early in the process.

Jason wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 07-29-2009 7:19 AM

Amen brother Derik!  As a test manager, one of the things I struggle with sometimes is having good visibility into which features have good unit pre-checkin tests and which don't. I've tried having devs track tests as tasks, and more often than not, it drives exactly the behavior you describe. You'll see anti-behaviors like devs declaring "code complete" and then moving on to start writing tests. Inevitably, pressure comes for them to start working on the next feature, so they shortcut testing and just assume the testers will pick up their slack. Then they gripe at the testers for taking so long to get thru testing, build up a backlog of bugs and the death spiral continues.

Doing what you describe takes an up front commitment from the dev manager and accountability on the devs part for doing the right thing. When you reach that point and the easy bugs are found by devs before checin, then the test team can operate much more efficiently and focus on the more complex integration scenarios.

Bravo!

Jason v. wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 07-30-2009 10:03 AM

This is an important concept to mentor to less experienced developers.  The whole concept of test-first is foreign to many coming out of college with a CS degree.  I found that academic CS in the last decade reinforced point-based thinking.  I had to unlearn many things to adopt lean concepts and TDD into my day-to-day process

Chris McKee wrote re: Tests are not ‘Tasks’ you put on a backlog…
on 08-18-2009 7:30 AM

Have to admit im only just getting into all this unit testing, we were taught to develop the error handling with every method, and "extreme programming (XP)" Then again that was writing games in C/C++; I find webdevelopment (where I am) tends to be big job, very short period of time; testing occasionally is the thing that gets sacrificed for the "well it seems to work" approach.

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)