RE: [scrumdevelopment] Re: IEEE SWEBOK Is Looking for Reviewers--They Don't Even Mention XP, Agile, etc.
- Interestingly, Andersen Consulting used to teach programming this way. I
joined Andersen in 1986 as a C programmer. I spent about a year on a C and
C++ project before they realized I hadn't gone through their mandatory COBOL
training. (I think this makes me the first person to ever learn COBOL after
already working in C++!) I went for a 3-week COBOL training class outside
Chicago and we were very definitely taught to write tests first. They were
not automated tests, of course, but we had to write them before we were even
allowed to submit code for compilation. After my 3-week immersion in COBOL I
went back to C++ and back to my "bad habit" of writing code and then
Perhaps the COBOLers of the 1980s were onto something!
From: Michael Feathers [mailto:mfeathers@...]
Sent: Wednesday, June 04, 2003 9:10 AM
To: Fabian Ritzmann
Subject: Re: [scrumdevelopment] Re: IEEE SWEBOK Is Looking for
Reviewers--They Don't Even Mention XP, Agile, etc.
> When the first programming course in a CS curriculum uses Test Driven
> Development, we'll be teaching programming as we should.
- -----Original Message-----
From: Fabian Ritzmann [mailto:usefri@...]
> Need to bring this back on topic for this list. :-)Oh, I don't know -- we are still sort of on topic.
> --- Fabian Ritzmann <usefri@...> wrote:We call tests by the user "acceptance tests" or ATs.
> XP as I understand it uses unit tests and system
> tests, unit tests for unit testing and system tests for
> whatever the users want to test, including quality
> aspects like performance, reliability, etc.
I think this is a valid definition across XP and
Scrum but I don't know if other agile methods call
them the same way.
> The combination is very powerful:Fabian wrote:
> * test as _specification_ from Test-First, and
> * program as executable _specification_ from
> functional programming
> Both strategies drive development more into the
> quantifiable _what_ space, much more than worthless
> "exhaustive requirements documents" or "models".
> Perhaps, this is what we need to concentrate in
> software architecture -- in patterns that tell us
> _what_ to program and that are executable,
>The principle problem is that provable (and executable)True. In our view, the need for acceptance tests
>specifications don't help if the specification is wrong.
>And we all know that specifications always change,
>that's why we do Scrum or another Agile development
>method. Of course that shouldn't keep anybody from
>improving the way we are programming these days.
conducted through people-2-people interaction
never goes away for the exact reasons you list
(and regardless the programming styles used):
- making sure that the specification is not wrong
- making sure that we keep up with changes
for the specification
- making sure that the user experience is
comfortable i.e. timely, convenient, beautiful, etc.
It is just easier, faster and even more economical
in some paradigms of programming to do the above