Discussion:
Work to the risk was Re: Inspections Was: RE: [AM] ANN: Mashing Deadly My
Paul Oldfield
2004-02-26 08:19:12 UTC
Permalink
(responding to Scott P)
| > | (Scott A)
| > | ... If I was working on truly critical
| > | software where a mistake is costly ... then I'd very likely
| > | insist on reviews and inspections. In these situations the risk far
| > | outweighs the cost. In the vast majority of situations this isn't
the
| > | case [where other ways] seem to result in very high quality work
| > | anyway.
| >
| > (Scott P)
| > If you're willing to limit your scope to projects where it doesn't
| > matter if you deliver defects, then I can agree with you.
|
| (J.B.)
| This is insulting. It ignores Scott A's argument entirely.
(Scott P)
Scott A said "truly critical...where a mistake is costly...where the
risk far outweighs the cost". My restatement is in line with that
statement. It wasn't meant to be insulting, just to be stark.
Scott A is saying, specifically, that these methods apply where
the cost of releasing the defects that inspections would catch is
lower than the cost of doing the inspections, which is exactly what
I would say, too. I don't think "doesn't matter" is an inaccurate
characterization of that rule - if the defects mattered more than
the cost, you would do the inspections.
You did seem to ignore the second half of Scott Ambler's
comment, that the processes used "seemed to result in very
high quality work anyway".

I think we can accept your point that code inspections would be
omitted when the value they give would not justify their cost.
I have worked on software (proof of concept prototypes)
where high quality was not important. Yet there are other cases
where inspections are not justified, such as the case Scott
Ambler outlines - the code is already of very high quality.

Not all teams doing XP or other agile approaches manage to
achieve this "very high quality", but some teams have reported
exceptionally high quality. Whatever approach, to achieve high
quality code needs high quality people, and after that, the choice
is in how you leverage them to deliver high quality code.
| This is equally insulting. I'm not sure that this furthers your
| argument. No need to puff out your chest at us.
Agilists, of course, never puff out their chests and demean
people who use traditional methods...
Let's quit while we're even...
If you're dealing with people's money or building tools that people
will depend on in earning their money or building consumer devices
or dealing with personal data whose release or mis-reporting could
expose you to liability suits, you ARE working on software that is "truly
critical...where a mistake is costly", and you should be using
appropriate methods. I don't think that's a small niche, and I think
it's misleading to describe it in ways that imply that it is.
Of course, my personal belief is that we should *always* use
appropriate methods. The question is, when is it appropriate to
use inspection? Clearly, the answer is, when you cannot be
sure of getting adequate code quality without inspection, and
as a result the value of inspection would be greater than the cost
of inspection. That assumes, of course, that doing inspection
*would* improve the quality of code to a sufficient degree.

Yet the key improvement is in getting better people faster, as
the quality of code depends on the quality of people, whether the
quality is achieved by peer review at pairing or by peer review
at inspection. I would suggest that peer review at pairing is more
effective at making the team better faster, because there is
immediate feedback not only on the code, but also on the design,
testing and thought processes that go into producing the code.
Inspection gives late feedback, and only on the finished product.

IOW, if you have access to people of quality sufficient to review
code, you may find it is more effective to use them to produce
the code and mentor the rest of the team in the process.


Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Scott E. Preece
2004-02-26 13:33:21 UTC
Permalink
| From: Paul Oldfield<***@compuserve.com>
|
| You did seem to ignore the second half of Scott Ambler's
| comment, that the processes used "seemed to result in very
| high quality work anyway".
|
| I think we can accept your point that code inspections would be
| omitted when the value they give would not justify their cost.
| I have worked on software (proof of concept prototypes)
| where high quality was not important. Yet there are other cases
| where inspections are not justified, such as the case Scott
| Ambler outlines - the code is already of very high quality.
|
| Not all teams doing XP or other agile approaches manage to
| achieve this "very high quality", but some teams have reported
| exceptionally high quality. Whatever approach, to achieve high
| quality code needs high quality people, and after that, the choice
| is in how you leverage them to deliver high quality code.
---

I don't think I ignored it - I think the restatement embraced it. If
the code quality without inspections is "high enough", that's fine. I
would tend to define "high enough" exactly the way I restated Scott A's
position - if the risk of releasing the code is less than the cost of
doing the inspections.

---
|
| ...
| Yet the key improvement is in getting better people faster, as
| the quality of code depends on the quality of people, whether the
| quality is achieved by peer review at pairing or by peer review
| at inspection.
---

This is, actually, a very interesting speculation. I'm sure there must
be studies on the range of defect-creation rates, but I don't recall
seeing them. It would be interesting to know whether people who are
especially productive (a well-documented phenomenon) are also less
likely to create defects...
---
| I would suggest that peer review at pairing is more
| effective at making the team better faster, because there is
| immediate feedback not only on the code, but also on the design,
| testing and thought processes that go into producing the code.
| Inspection gives late feedback, and only on the finished product.
---

Note that I did say I thought Pair Programming was a very good practice,
even if it can't completely replace inspections in high-risk situations.

scott
--
scott preece
motorola urbana design center (il67), 1800 s. oak st., champaign, il 61820
e-mail: ***@urbana.css.mot.com fax: 217-384-8550
phone: 217-384-8589 cell: 217-433-6114 pager: ***@msg.myvzw.com

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
k***@gsa.gov
2004-02-26 15:23:23 UTC
Permalink
Return Receipt

Your RE: Work to the risk was Re: Inspections Was: RE: [AM] ANN:
document Mashing Deadly My
:

was Khanh Luu/CONTRACTOR/FIB/CO/GSA/GOV
received
by:

at: 02/26/2004 10:23:20 AM


For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Paul Oldfield
2004-02-26 15:27:44 UTC
Permalink
(responding to Scott P)
Post by Scott E. Preece
(Paul)
| Yet the key improvement is in getting better people faster, as
| the quality of code depends on the quality of people, whether the
| quality is achieved by peer review at pairing or by peer review
| at inspection.
(Scott P)
This is, actually, a very interesting speculation. I'm sure there
must be studies on the range of defect-creation rates, but I
don't recall seeing them. It would be interesting to know whether
people who are especially productive (a well-documented
phenomenon) are also less likely to create defects...
Hmm... maybe I miscommunicated.

I was referring to the speed at which people became better
developers, rather than the speed at which they produced
code. Perhaps there should have been a comma?
"getting better people, faster" ? or less ambiguously,
"getting better people, sooner". Oh, the joys of language.
Did you know people had been writing English for several
hundred years, before punctuation became common?


Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Paul Oldfield
2004-02-26 16:25:30 UTC
Permalink
(responding to Scott P)
That is, I wonder if an organization with a mature software
process would gain as much from agile methods, or whether
some significant part of the gain is from process maturity.
Given two preconditions, an organization that has spent
several years improving their process *effectively* is not
likely to gain much from adoption of agile methods.

The two preconditions are; first; that the amount of change that
needs to be dealt with is relatively small, and second; that
the organization is always building products that are fairly
similar.

An *effective* process improvement effort would do as much
in refactoring and generalising the lessons learned as it
would in adding special cases to the process. Without this,
the process grows unwieldy and heavy, collecting special
cases like secondary tumours rather than like buds of new
limbs.
Put another way, what part of agile methods' benefits come
from the methods themselves and what part from the fact
that they are easy to learn (compared to traditional methods
that have an extended institutionalization period).
The real benefit comes from the ability to deal with change.
Traditional process improvement can evolve beautiful,
efficient processes in environments where neither the
requirements nor the type of product suffer much change.

Really good traditional process improvement efforts that
are applied in cases where product type or requirements
change a lot will result in agile processes.


Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Scott E. Preece
2004-02-26 16:32:28 UTC
Permalink
| From: Paul Oldfield<***@compuserve.com>
|
| (responding to Scott P)
|
| >> (Paul)
| >| Yet the key improvement is in getting better people faster, as
| >| the quality of code depends on the quality of people, whether the
| >| quality is achieved by peer review at pairing or by peer review
| >| at inspection.
|
| > (Scott P)
| > This is, actually, a very interesting speculation. I'm sure there
| > must be studies on the range of defect-creation rates, but I
| > don't recall seeing them. It would be interesting to know whether
| > people who are especially productive (a well-documented
| > phenomenon) are also less likely to create defects...
|
| Hmm... maybe I miscommunicated.
|
| I was referring to the speed at which people became better
| developers, rather than the speed at which they produced
| code. Perhaps there should have been a comma?
| "getting better people, faster" ? or less ambiguously,
| "getting better people, sooner". Oh, the joys of language.
| Did you know people had been writing English for several
| hundred years, before punctuation became common?
---

I think I did understand you. You suggested that the key to better
code is "better people", making me curious whether there's research
studying whether "better" in the sense of more-productive is correlated
with "better" in the sense of producing fewer defects.

scott
--
scott preece
motorola urbana design center (il67), 1800 s. oak st., champaign, il 61820
e-mail: ***@urbana.css.mot.com fax: 217-384-8550
phone: 217-384-8589 cell: 217-433-6114 pager: ***@msg.myvzw.com

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Paul Oldfield
2004-02-29 10:28:27 UTC
Permalink
(responding to Scott P)
Post by Scott E. Preece
(Paul)
| I was referring to the speed at which people became better
| developers, rather than the speed at which they produced
| code. Perhaps there should have been a comma?
| "getting better people, faster" ? or less ambiguously,
| "getting better people, sooner". Oh, the joys of language.
| Did you know people had been writing English for several
| hundred years, before punctuation became common?
(Scott P)
I think I did understand you. You suggested that the key to
better code is "better people", making me curious whether
there's research studying whether "better" in the sense of
more-productive is correlated with "better" in the sense of
producing fewer defects.
Ah. I don't know of any research, but I have a few opinions
based on personal observations. Of course, someone who
produces no code at all will produce no defects in code.
However let's generalise and talk about 'product' that might
include requirements and design as interim products.
Again, one must produce product to be able to introduce
defects into it. Thus any 'absolute' count of introduced
defects would penalise the more productive developers,
we need a count relative to their productivity.

My experience is that there's a correlation between being
good at producing quality product and being fast at producing
product, but this correlation is by no means perfect. The
learning curves *can* evolve in step with each other, but
individuals can choose, or be directed, to favour one sort
of learning over the other.


Paul Oldfield

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
www.aptprocess.com

any opinions expressed herein are not necessarily those of
Mentors of Cally or the Appropriate Process Movement
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

For more information about AM, visit the Agile Modeling Home Page at www.agilemodeling.com
--^----------------------------------------------------------------
This email was sent to: gcma-***@gmane.org

EASY UNSUBSCRIBE click here: http://lists.topica.com/u/?bUrKDA.bWnbtk.Z2NtYS1h
Or send an email to: agilemodeling-***@topica.com

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
--^----------------------------------------------------------------
Loading...