rp0428 wrote:Now I see your problem.
I can't imagine how you would hold people accountable for the work they do if they always have a bunch of tests that fail.
We use this process to make sure that one developers work is not adversely affected by the work other developers may be doing. So in one sense how a developer works within their own environment is up to them. They can write 'failing' tests first if that is what they believe in or they can write mocks and pseudo-code first and then the test. I could care less. But at the point they add their changes to the 'official' app in any environment, including DEV, their tests had better SUCCEED or they will be held accountable.So you see this from a higher level, not from the developers perspective. And from there I totally agree with you. Changes must not be committed unless all test pass.
Present a failing test to one of your developers that is not involved with the project and I would expect them to have one heck of a time trying to determine if that failure is 'ok' or if the developer that did it is in over their head and needs help.This is verry true, the only other persons that should see the failing unit test is the pair-programming partner...
With my approach it is very easy to get metrics that show who is having trouble.Would you share what that metric measures?
rp0428 wrote:Do they also work on multiple features and projects at the same time? Does a developer switch between assigned taskt every 2 muntes?
[...] our developers are typically assigned multiple features (e.g. bug fixes) and often work on multiple projects.
>How do you detect unfinnished (hence untested) code in you codebase?
I don't think you'd accept untested unfinnished work in your SCM or CI environment.
That's the fantasy but not often the reality.
At the first daily scrum meeting (yep - agile) every developer reports on their test failures and when they will be fixed. It is best not to have any. ;)Ah, the strech bench next to the coffemaker... ;o)
[more on the metrics]Yes.
Hope that helps explain the type of 'metrics' I was talking about.