Re: Trends in Code Quality

2006-03-02 Thread Tyler MacDonald
Matisse Enzer <[EMAIL PROTECTED]> wrote:
> Jeff I think that is a good theory - I mean, it is a testable theory.  
> I hope it is true, but I am not sure. I suggest you interview a few  
> IT managers - come up with a list of 6 questions and ask them to  
> answer in email - I can introduce you to a couple outside of the  
> company you are at now, and I bet other people can to - getting  
> answers from a dozen different IT managers would add useful  
> information. And consider the different environments - small company,  
> large company, fast-moving, slow-moving, etc.

Ooooh, a testable theory! When you do this, can you post the results
as Test::Harness output so we can calculate the Kwalitee of the theory?
Something like

ok 1 - IT Managers like code quality
not ok 2 - Programmers are lazy

etc...

Thanks,
Tyler



Re: Trends in Code Quality

2006-03-02 Thread Matisse Enzer


On Mar 1, 2006, at 12:35 AM, Jeffrey Thalhammer wrote:


...

This trend is being driven by a "flight to quality"
among software consumers.

...





Jeff I think that is a good theory - I mean, it is a testable theory.  
I hope it is true, but I am not sure. I suggest you interview a few  
IT managers - come up with a list of 6 questions and ask them to  
answer in email - I can introduce you to a couple outside of the  
company you are at now, and I bet other people can to - getting  
answers from a dozen different IT managers would add useful  
information. And consider the different environments - small company,  
large company, fast-moving, slow-moving, etc.


---
Matisse Enzer <[EMAIL PROTECTED]>
http://www.matisse.net/  - http://www.eigenstate.net/






Re: Trends in Code Quality

2006-03-02 Thread Matisse Enzer


On Mar 1, 2006, at 7:36 PM, Kirrily Robert wrote:

In my experience developers latch on to test-driven development  
like a crack habit because once they get into the swing of it, it  
really is a very effective, stress-reducing way to work.


That was one of the really surprising (pleasantly so) things for me -  
I *feel better* doing TDD, it is actually easier for me in most  
cases, as well as faster (for me) and more accurate - I write better  
code. Of course, Your Milage May Vary (YMMV)


---
Matisse Enzer <[EMAIL PROTECTED]>
http://www.matisse.net/  - http://www.eigenstate.net/






Re: Trends in Code Quality

2006-03-01 Thread Kirrily Robert
I'm with Aristotle.  I think it's an urge that's come out of the  
development community -- specifically, *certain* development  
communities -- rather than from an end-user desire for quality.  Many  
of the best -tested pieces of software are the infrastructure type  
things that only developers ever really know about, and functional  
testing ("does this software do what I want it to?") is far less  
common than unit testing at the API level.


In my experience developers latch on to test-driven development like  
a crack habit because once they get into the swing of it, it really  
is a very effective, stress-reducing way to work.


K.



Re: Trends in Code Quality

2006-03-01 Thread chromatic
On Wednesday 01 March 2006 03:27, Jeffrey Thalhammer wrote:

> Thanks for this.  I've heard the term "Technical Debt"
> a few times lately and I really like it.  Unlike a
> financial debt however, there is a possibility that
> the principal and interest won't have to be paid.  A
> poor implementation today may forfeit some feature in
> the future, but there's always a chance that feature
> won't be required[1].  In my case, I think we've bet
> on this much too heavily.  But I still like the idea
> and will definitely refer people to that article.
>
> [1] I'm not sure if this is an argument for or against
> iterative development.  In some ways, paying down
> technical debt seems antithetical to XP methodologies
> (but that's a separate discussion).

I see XP as recommending that you understand and manage your technical debt.  
If your stakeholder knows (or at least is willing to take the risk) that the 
maintenance of your project over its lifecycle will be minimal, you can take 
on more technical debt than if your project were central to the business and 
would have years of heavy maintenance in the future.

You can manage quality just as you manage scope, time, and resources.  You 
just can't ignore it and expect to succeed on every project.

-- c


Re: Trends in Code Quality

2006-03-01 Thread A. Pagaltzis
* Dominique Quatravaux <[EMAIL PROTECTED]> [2006-03-01 14:20]:
>Yours is a *very* interesting bookmark collection. Do you have
>more?

I have a collection at .

Disclaimer: it’s far from complete, of course. I try to keep to
really meaty stuff, so less gets added than deserves to be there.

You’ll be busy for a while if there’s a lot of stuff you didn’t
know, though. :-)

Regards,
-- 
Aristotle Pagaltzis // 


Re: Trends in Code Quality

2006-03-01 Thread Dominique Quatravaux
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

A. Pagaltzis wrote:

>
> It has to be *REALLY* awful though. See Joel Spolsky on rewriting
> from scratch[1] (the gist: *never* do it!).
>
> [1]: http://www.joelonsoftware.com/articles/fog69.html
>
> [...] If you want to equip programmers to talk to management, don’t
> forget to give them this link:
> http://www.martinfowler.com/bliki/TechnicalDebt.html

Yours is a *very* interesting bookmark collection. Do you have more?

- --
Dominique QUATRAVAUX   Ingénieur senior
01 44 42 00 08 IDEALX

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.1 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFEBZ6oMJAKAU3mjcsRArCxAJ9JfJHjX7f0DtKy+cEbD5jRmHHZuwCfXQPw
c8BzLq3ULidOAzY796ZDo1w=
=+k2F
-END PGP SIGNATURE-




Re: Trends in Code Quality

2006-03-01 Thread Jeffrey Thalhammer
> If you want to equip programmers to talk to
> management, don’t
> forget to give them this link:
> http://www.martinfowler.com/bliki/TechnicalDebt.html

Thanks for this.  I've heard the term "Technical Debt"
a few times lately and I really like it.  Unlike a
financial debt however, there is a possibility that
the principal and interest won't have to be paid.  A
poor implementation today may forfeit some feature in
the future, but there's always a chance that feature
won't be required[1].  In my case, I think we've bet
on this much too heavily.  But I still like the idea
and will definitely refer people to that article.

[1] I'm not sure if this is an argument for or against
iterative development.  In some ways, paying down
technical debt seems antithetical to XP methodologies
(but that's a separate discussion).

-Jeff

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Trends in Code Quality

2006-03-01 Thread A. Pagaltzis
* Jeffrey Thalhammer <[EMAIL PROTECTED]> [2006-03-01 11:05]:
>>> By lowering maintenance costs via quality control, managers
>>> can avoid (or at least postpone) having to scrap their entire
>>> system and rebuild from scratch in India.
>> 
>> I think this is a bit of a stretch.
>
>I'm in the middle of one such situation.  I have inherited a
>500k line legacy system that has never been significantly
>refactored over its 10 year history and has zero tests.  It is
>no longer safe or cost-effective to extend this system to meet
>future business requirements, so the entire thing is going to be
>replaced (although the work is being done in-house, not in
>India).

That’s all I meant: it’s a bit of a stretch to throw in that
India/outsourcing allusion. I wasn’t disagreeing with the premise
of the statement, however.

>Eventually, you reach a point when it is
>cheaper to just replace it.

It has to be *REALLY* awful though. See Joel Spolsky on rewriting
from scratch[1] (the gist: *never* do it!).

[1]: http://www.joelonsoftware.com/articles/fog69.html

But of course if you do the refactoring all in one batch after 10
years, it’s going to be one honking huge lump sum effort. Doing
it iteratively is clearly cheaper.

If you want to equip programmers to talk to management, don’t
forget to give them this link:
http://www.martinfowler.com/bliki/TechnicalDebt.html

Regards,
-- 
Aristotle Pagaltzis // 


Re: Trends in Code Quality

2006-03-01 Thread Jeffrey Thalhammer
> If you're talking to a bunch of perl mongers I
> recommend talking about 
> perl instead of spouting management-speak.  The
> Republic Of Ireland has 
> nothing to do with perl programming.

I can appreciate that, but I have to believe that no
one likes writing crappy code.  And more so, no one
likes maintaining someone else's crappy code. 
Developers have to be able to communicate to their
managers why quality matters.  They need to argue the
case for resources, tools, and processes that help
them achieve quality.

I have to admit that I have an agenda:  I'd like to
see wider acceptance of things like Perl::Critic and
"Perl Best Practices."  Even if you don't personally
agree with the guidelines, just understanding them
helps build your Perl skills.

-Jeff



__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Trends in Code Quality

2006-03-01 Thread David Cantrell

Jeffrey Thalhammer wrote:


Is that still too much of a stretch?  Should I forget
about the outsourcing stuff and just focus on the ROI
aspects?


If you're talking to a bunch of perl mongers I recommend talking about 
perl instead of spouting management-speak.  The Republic Of Ireland has 
nothing to do with perl programming.


--
David Cantrell


Re: Trends in Code Quality

2006-03-01 Thread Jeffrey Thalhammer
> >By lowering maintenance costs via quality control,
> managers can
> >avoid (or at least postpone) having to scrap their
> entire system
> >and rebuild from scratch in India.
> 
> I think this is a bit of a stretch.

I'm in the middle of one such situation.  I have
inherited a 500k line legacy system that has never
been significantly refactored over its 10 year history
and has zero tests.  It is no longer safe or
cost-effective to extend this system to meet future
business requirements, so the entire thing is going to
be replaced (although the work is being done in-house,
not in India).  Granted, a lot of other factors and
decisions led us to this point.  But if more effort
had been put into quality (such as creating tests and
applying best-practices) then the system might have
been viable for several more years.

Each situation is unique, but I think the general
theory is reasonable.  As a system matures, the cost
of extending it to meet new business requirements (I'm
calling that "maintenance") inevitably gets higher and
higher.  Eventually, you reach a point when it is
cheaper to just replace it.  I tend to think that
from-scratch projects are the types of things that
frequently get outsourced (I could be wrong about
that).  So if you believe that better quality leads to
lower maintenance costs, then improving software
quality extends the life of the product, which help
the customer get more return on their investment and
can help you (the developer) keep your job.

Is that still too much of a stretch?  Should I forget
about the outsourcing stuff and just focus on the ROI
aspects?

-Jeff

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


Re: Trends in Code Quality

2006-03-01 Thread demerphq
On 3/1/06, A. Pagaltzis <[EMAIL PROTECTED]> wrote:
> In my experience it has more to do with the particular
> programming community. In Java and Perl, there is a lot of
> emphasis on testing. I don't know about its prevalence in the
> Ruby or Python or other communities, but there is definitely
> a lot less of a movement among C programmers, say. Or Delphi.
> Least of all VB.

That also has to do a lot do with the problem domain the language
operates in. No matter how you slice it, testing a UI based program is
going to be a lot harder than testing a command line script or module.

Yves

--
perl -Mre=debug -e "/just|another|perl|hacker/"


Re: Trends in Code Quality

2006-03-01 Thread A. Pagaltzis
Hi Jeffrey,

* Jeffrey Thalhammer <[EMAIL PROTECTED]> [2006-03-01 09:40]:
>By lowering maintenance costs via quality control, managers can
>avoid (or at least postpone) having to scrap their entire system
>and rebuild from scratch in India.

I think this is a bit of a stretch.

>Can you think of any other examples (in the Perl community or
>otherwise) that demonstrate the shift toward better quality
>software?

How about the publication of _Perl Best Practices_?

>Is this phenomenon limited to open-source products?

In my experience it has more to do with the particular
programming community. In Java and Perl, there is a lot of
emphasis on testing. I don’t know about its prevalence in the
Ruby or Python or other communities, but there is definitely
a lot less of a movement among C programmers, say. Or Delphi.
Least of all VB.

Regards,
-- 
Aristotle Pagaltzis // 


Trends in Code Quality

2006-03-01 Thread Jeffrey Thalhammer
Hello everyone-

I'm working on a presentation of Perl::Critic for the
local perlmongers group.  As part of the presentation,
I would like to make some comments about the current
industry trends around software quality.  Basically,
I'd like to assert that there is a growing emphasis on
software quality, give some examples that demonstrate
my assertion, and offer some possible explanations for
the trend.  Here's what I've got so far:



The growing interest in software quality is evident by
the emergence of the Phalanx project and testing
services like CPANTS and SpikeSource.  There has also
been a lot of growth in the number of Test::* modules
on CPAN and several new quality-related publications
such as "Perl Best Practices" and "Perl Testing: A
Developer's Notebook."  And all this is underscored by
the proliferation of iterative and test-driven
development methodologies.

This trend is being driven by a "flight to quality"
among software consumers.  When selecting a software
product, consumers are not just looking at feature
sets, but they are also starting to look for
indicators of quality and durability that enhance
their return on investment by prolonging the service
life of the product.   At the same time, IT managers
are leveraging quality as a defense against
outsourcing.  By lowering maintenance costs via
quality control, managers can avoid (or at least
postpone) having to scrap their entire system and
rebuild from scratch in India.



So that's my theory.  Do you think my assertion is
correct?  Can you think of any other examples (in the
Perl community or otherwise) that demonstrate the
shift toward better quality software?  Is this
phenomenon limited to open-source products?  Are there
some commercial examples as well?  What do you suppose
are the economic/business/cultural drivers behind the
quality trend?

Thanks for sharing your thoughts,

-Jeff 

__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com