Re: [AM] Requirements Encapsulation

Brad Appleton <[email protected]> Mon, 29 Mar 2004 12:24:13 -0600
Newsgroups gmane.comp.programming.modeling.agile
Message-ID <[email protected]>
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
**** Bounces like rubber! Shatters like ceramic! ****
Discover Crazy Aaron's Thinking Putty in grown up=20
handfuls. It's the creativity unleashing, mood enhancing=20
desk toy!
http://click.topica.com/=
caab4CEbUrKDAbWnbtka/ Crazy Aaron Enterprises
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

On Mon, Mar 29, 2004 at 08:10:54AM +0100, Jason Gorman wrote:
> > "Create one functionality module for each unique stimulus
> > set of the functionality tree."
>=20
> Or you could encapsulate your requirements as executable (and
> self-explanatory) system tests :-)

Suppose I did that? Suppose for each "requirement" I create
an object that implements a "Requirements Object" interface,
and that instance of the requirement object is responsible
outputting description/explanation of that requirement and
running and executing its tests and presenting the results.

How might that code "evolve" over time in structure assuming
I continually apply "incremental structural modularization"
(e.g., refactoring) as new requirements and information come
in to maintain high cohesion and low coupling and good
encapsulation/localization of these objects?

I have worked in an internal IT shop where "requirements"
were formally captured in the form of use cases, and since
the number of projects being worked on was huge and "good"
IT portfolio management and governance was highly valued,
use-cases where captured in a global database rather than
a project-specific one, and keywords were used to aid
searching, and when a new request came in against a particular
project one could first to some amount of querying to see if
any existing project in the department already had documented
(and maybe even implemented) a similar requirement based on
functional category, bottom-line business functions supported,
actor/role (user-type) category, technologies used/requested,
interacting "agents" (e.g., manual, software, or hardware
systems/events/stimuli) and a few others.

And this usecase-"base" eventually took on a hierarchical=20
structure, with different kinds of relationships between
use-cases (extends, generalizes, subpart-whole, exception)
and both the relationships and content of and between use-cases
would be "refactored" to support better encapsulation/independence
of the use-cases in usecase-base and localize impact of changes.

So we had what you might call a "use-case" tree which sounds
a lot like a "functionality tree" (actually, it was more like
a forest) and different sets of relationships, actors, related
events, and input-types. And we would "refactor" regularly so
we could more easily identify when a new requirement matched
(and how closely it matched) that of an existing project and
help decide which project (old or new) was the most suitable=20
one to try and work it, and to allocate funds/materials to in
order to best serve that business function being supported.

How is this the same or different from what Rick describes
as a functionality-tree and a stimulus-set and a functionality
"module"?

--=20
Brad Appleton <[email protected]> www.bradapp.net
  Software CM Patterns (www.scmpatterns.com)
   Effective Teamwork, Practical Integration
"And miles to go before I sleep." -- Robert Frost

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
Are you looking for savings on products you use everyday?=20
Visit Quality Health today and see the coupons, free=20
samples and special offers our members enjoy each and=20
everyday.
http://click.topica.com/=
caab3ozbUrKDAbWnbtkf/ Ivo Interactive
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

For more information about AM, visit the Agile Modeling Home Page at www.ag=
ilemodeling.com
--^----------------------------------------------------------------
This email was sent to: =
[email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?bUrKDA.=
bWnbtk.=
Z2NtYS1h
Or send an email to: [email protected]

For Topica's complete suite of email marketing solutions visit:
http://www.topica.com/?p=3DTEXFOOTER
--^----------------------------------------------------------------