Re: Crossing the Developer-Data Divide
- The tone of this conversation is that agile is somehow a badge of quality in its own right and that anything produced before is instantly inferior.
I can remember discussing BS5750 with someone and their take on it was that it was that you could comply with it if you were consistent in your approach. In fact they opined that what BS5750 did was tell the world that you could (and probably did) produce crap to a consistent standard.
For me Agile is about delivering something closely aligned to the business needs when those needs can change dramatically in a short time-frame. Agile processes should have inherent safeguards that make poor coding less likely but there is no guarantee. The nature of Agile is such that (hopefully) you can clean it up anything nasty before it becomes too obvious that the underlying quality is a bit lacking.
High system quality and systems meeting the business need are not one and the same thing.
- I whole-heartedly agree. I find Agile/Lean to be a mindset as much as a methodology. But any tool, even Agile, can be used to create poor results. Much like any dogma, those who would think that -merely- following a set of rules will produce a quality product are misguided. I have lived through an organization's transition from a dogmatic waterfall environment, to a dogmatic Agile environment, and finally to a true understanding of the underlying Agile/Lean principles.
A few observations:
1 - No set of rules can replace quality communication with the customer.
2 - Rigidly following rules is for people who can't think for themselves.
3 - Any product must provide business value in a reasonable time, and
technical quality to withstand the test of time.
- 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]