I like the definition of Michael Feathers to legacy code: code without
tests. From here
".... The main thing that distinguishes legacy code from non-legacy code is
tests, or rather a
lack of tests. We can get a sense of this with a little thought experiment:
how easy would
it be to modify your code base if it could bite back, if it could tell you
when you made a
mistake? It would be pretty easy, wouldn't it? Most of the fear involved
changes to large code bases is fear of introducing subtle bugs; fear of
inadvertently. With tests, you can make things better with impunity. To
difference is so critical, it overwhelms any other distinction. With tests,
you can make
things better. Without them, you just don�t know whether things are getting
Of course it can be a bit simplistic. For example in the book Growing Object
Oriented Software - Guided by Tests, Nat Pryce says that had a system that
he created using tests. But when the client asked him (many months later) to
add more things, he says it was harder than expected because the tests was
not so expressive as it could be. He was testing methods, not behavior (1).
To summarize, in general I agree with Michael Feathers.
PS - Sorry my English
(1) - I am writting this from memory. If there is something wrong with this
information, please forgive.
On Wed, Feb 3, 2010 at 6:04 PM, Scott Ambler <scottwambler@...> wrote:
> No. It becomes legacy once you've deployed it.
> You're in maintenance mode as soon as you've written a line of code.
> - Scott Scott W. Ambler
> Chief Methodologist/Agile, IBM Rational
> Agile at Scale blog: http://www.ibm.com/developerworks/blogs/page/ambler
> Follow me on Twitter: http://twitter.com/scottwambler
> ----- Original Message ----
> From: Markus Gallagher <markus.gallagher@...<markus.gallagher%40gmail.com>
> To: agileDatabases@yahoogroups.com <agileDatabases%40yahoogroups.com>
> Sent: Sun, January 24, 2010 5:39:02 AM
> Subject: Re: [agileDatabases] Re: Crossing the Developer-Data Divide
> doesn't a system become "legacy" as soon as you write the first line of
> On Sat, Jan 23, 2010 at 5:19 AM, Curt Sampson <cjs@...<cjs%40starling-software.com>
> > On 2010-01-22 04:05 -0000 (Fri), deddy205ar wrote:
> > > Why do does the Agile community need to work with <gag, choke>
> > > legacy systems?
> > Because people still keep building the darn things.
> > (At one point, I thought that the motto of my software company should
> > been, "Building tomorrows legacy systems today!")
> > cjs
> > --
> > Curt Sampson <cjs@... <cjs%40cynic.net> <cjs%40cynic.net>> +81 90
> 7737 2974
> > http://www.starling-software.com
> > The power of accurate observation is commonly called cynicism
> > by those who have not got it. --George Bernard Shaw
> [Non-text portions of this message have been removed]
> Yahoo! Groups Links
> Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your
> favourite sites. Download it now
[Non-text portions of this message have been removed]