Home
About the Guild
Articles
Books
–New Books
–Guild Books
–Guild Library
Consulting
Contact us
Resources
–Requirements
–Software Engineering
–Project Management
–Other
–Cocktails
Requirements Template
Seminars
–Mastering Requirements
–Risk Management
–Requirements Modeling
–Mastering the Requirements Process part II
Services
–Litigation Support
–Project Clinics
–Physical Exam
Volere

 

If you build software, chances are that you and your organization are using some technique developed by The Atlantic Systems Guild.


January, 2010

the Atlantic Systems Guild

Perspective: Fall 2009

 

What is a system?

by Tom DeMarco

Imagine you are at a conference of people associated with the plastics industry and you ask each person there to write down a concise definition of the word plastic on an index card.

Tom DeMarco

You collect the cards and what do you find?  Well, some variance perhaps in how different people approached the definition, but nobody would come up completely blank.  Now imagine you do the same thing at a conference of systems people (say the ICSE or INTEROP or Agile2009), asking each attendee to define the word system.  I suggest you'd get half the cards handed in blank and the rest would be definitions that dealt with some kinds of system but not the others and not even most.

We use the word system to describe many things that at first glance seem to have little to do with each other:

  • the electoral system
  • our system of government
  • your digestive system
  • the entertainment system in your car
  • the propulsion system of a rocket or plane
  • the social security system
  • the health care system
  • the weather system
  • your system for beating the dealer at Blackjack
  • Windows
  • MacOS
  • Microsoft Word
  • the software system your project is building
  • the project itself (system for building the system)

As system builders, it seems likely to me that we work at a disadvantage if we can't even define the word in a fairly rigorous way.  I propose we adopt a trick from Aristotle to separate the words we use and know from those that are used all the time but that -- under scrutiny --   turn out to be only vaguely understood.  Aristotle was a bear about definition, so keen on the subject that he began by defining definition.  He asserted that rigorous definition is made up of two steps, and that the two are necessary and sufficient:
1. Name a class that the thing being defined belongs to
2. Supply distinguishing characteristics that separate it from all other members of the class

The class that definition belongs to is two-step process, and the distinguishing characteristics are the two steps as described above.
Aristotle's example of a well formed definition is his definition of man:

Man is the animal possessed of the capacity for articulate speech.

The class that contains man is animal, and the distinguishing characteristic is possessed of capacity for articulate speech.  In Aristotle's terms, the class is called the word's genus, and the characteristics that distinguish it from all other members of that genus are called its differentia.

OK, so to define the word system we first have to figure out its genus, a class of things that it belongs to.  There is no single correct answer: a word might belong to many different classes; the larger genus you start off with, the more differentia you'll need to complete the definition.  A useful tactic is to look for the smallest genus that contains the word.

To form my definition of system, I choose genus = connected set.  After all, every system that is worthy of the name is made up of discrete parts that interact.  That's why the operating system in your laptop qualifies, but a shovel doesn't.  The operating system consists of kernel, drivers, real-time executive, scheduler, dispatcher, memory management, etc.  The shovel, on the other hand has no interacting parts.

There are many non-system connected sets, i.e. collections of discrete elements that are in some sense interacting, but don't qualify as systems.  Consider a few of them:

the students in a Spanish class
Republicans
Mothers Against Drunk Drivers
the 10 to the 27th air molecules that fill a medium sized room

The differentia that will distinguish systems from other connected sets is this: whose parts interact to accomplish some common purpose.  The complete definition is:

A system is a set of interconnected parts which act together to accomplish some purpose.



Past Perspectives

xxThe Summer 2009 perspective entitled Fear of Failure was written by James Robertson


xxThe Winter 2008/09 perspective entitled IT Financing was written by Tom DeMarco


xxThe Sumer 2008 perspective entitled Groundhog Day Part II was written by Tom DeMarco


xxThe Winter-Spring 2008 perspective entitled Groundhog Day was written by Tom DeMarco


The Winter 2007 perspective entitled Teams Don't Move was written by Steve McMenamin


The Fall 2006 perspective entitled Three Hours to Three Years was written by Peter Hruschka.


The Spring 2006 perspective entitled The Web Undone by Tom DeMarco.


The Winter 2006 perspective entitled Have We Finished Yet? was written by Suzanne Robertson.


The Fall 2005 perspective entitled Adult Behavior on Projects was written by Tim Lister.


The Summer 2005 perspective entitled No Great Leaps Forward? was written by Steve McMenamin.


The Spring 2005 perspective entitled Mastering Software Architectures was written by Peter Hruschka.


The Winter 2004 perspective entitled Early Involvement of Testers was written by James Robertson.


Amazon.com Links from this site to Amazon.com or Amazon.co.uk are done using Amazon's associates program. That Amazon.co.ukmeans, that if you use one of the links and end up buying the book, we get a cut. We are not getting rich on this, but thought that you should know that it is happening.


The contents of this site are copyright © 1995-2010 Atlantic Systems Guild Inc. and Atlantic Systems Guild Limited. Material may be reproduced provided this copyright notice is attached and the source is acknowledged. Please pay us the courtesy of notifying the author if you wish to use material from this site.



Happenings


2010
xxx Peter Hruschka and Gernot Starke again organized the OOP-architecture day and will talk about Process Patterns for Software Architects OOP 2010 in Munich, January 28.
xxx Peter Hruschka teaches the course along the award-winning Guild book: "Adrenalin-Junkies und Formular-Zombies: Typisches Verhalten in Projekten" in Vienna, January 29 (in German). Contact CONECT for details
xxx Peter Hruschka teaches the 3-day seminar "Mastering Software Architecture" in Vienna, March 31 - April 2 (in German). You can take the exam to become a "Certified Professional for Software Architecture" right after the seminar. Contact CONECT for details
xxx Peter Hruschka teaches the 4-day certification seminar for requirements engineers in Vienna, February 9 - 12 (in German). Contact CONECT for details
James Robertson teaches Mastering the Requirements Process in Brussels, February 22-24. Please contact I.T.Works for details.
Brussels, February 25, 26. James Robertson teaches Becoming an Innovator . Please contact I.T.Works.
Suzanne Robertson presents Mastering the Requirements Process in London, February 23-25. Contact IRM UK Strategic IT Training
Suzanne Robertson presents Mastering the Requirements Process part 2 in Oslo, March 1,2. Contact Oslo Computer Society Tove Skeie for details
Hilversum, March 2-4. James Robertson teaches Mastering the Requirements Process . Please contact Array Seminars for details.
Suzanne Robertson presents Mastering the Requirements Process in Oslo, March 3-5. Contact Oslo Computer Society Tove Skeie for details
The Netherlands, March 9. Suzanne Robertson presents the Keynote "Overweight or Anorexia: Requirements for a Balanced Diet" at the Atos Origin DREAM Conference.
xxx Peter Hruschka teaches the 3-day certification seminar for requirements engineers in Karlsruhe, March 10 - 12 (in German). The (optional) exam to become a "Certified Professional in Requirements Engineering" is held right at the end of the seminar. Contact andrena objects for details
xxx Peter Hruschka teaches the NEW 3-day certification seminar about requirements modeling in Vienna, March 17 - 19 (in German). Contact CONECT for details
April 12-14, James Robertson is in Trondheim for Mastering the Requirements Process sponsored by Den Norske Dataforeningen
Suzanne Robertson teaches Mastering the Requirements Process in Rome, April 12-14. Contact Technology Transfer.
Apr 12-14 Tim Lister teaches Mastering the Requirements Process in Chicago for Software Quality Engineering.
April 15, 16 Tim Lister is also in Chicago for Requirements Modeling. Contact Software Quality Engineering for details.
xxx Peter Hruschka teaches the 4-day certification seminar for requirements engineers in Vienna, April 20 - 23 (in German). Contact CONECT for details
Brussels, April 20-22. James Robertson teaches Mastering the Requirements Process. Please contact I.T.Works.
April 27-29, Suzanne Robertson is in Tromso for Mastering the Requirements Process . Contact Norwegian Computer Society, Tromso Aase Tveito for details.
James Robertson and James Archer present the new course Mastering Business Analysis in London, April 26, 27. Contact IRM UK Strategic IT Training
May 17-19, Tim Lister is in Boston to teach Mastering the Requirements Process for Software Quality Engineering.
May 20, 21 Tim Lister is also in Boston for Requirements Modeling. Contact Software Quality Engineering for details.
In Auckland, James Robertson teaches Mastering the Requirements Process May 19-21. For details please contact Software Education
James and Suzanne Robertson teach Mastering the Requirements Process in Wellington, May 24-26. For details please contact Software Education
James and Suzanne Robertson present their popular Requirements Evening in Wellington, May 27. For details of this free evening talk, please contact Software Education
Suzanne Robertson teaches Mastering the Requirements Process part 2 May 27,28 in Wellington. Contact Software Education for details of this advanced class.
Suzanne Robertson teaches Mastering the Requirements Process part 2, May 31-June 1 in Sydney. Contact Software Education for details of this advanced class.
May 31, Suzanne and James Robertson present another of their popular Requirements Evenings in Sydney. This free event is sponsored by Software Education
Suzanne Robertson teaches Mastering the Requirements Process part 2 June 2-4 in Canberra. Contact Software Education for details of this advanced class.
James Robertson is in Brisbane on June 2-4 to present Mastering the Requirements Process. For details please contact Software Education
Suzanne Robertson presents Mastering the Requirements Process in Melbourne June 7-9 for Software Education
xxx Peter Hruschka teaches the 4-day certification seminar for requirements engineers in Vienna, June 8 - 11 (in German). Contact CONECT for details
Suzanne Robertson teaches Mastering the Requirements Process part 2 June 10,11 in Melbourne. Contact Software Education for details of this advanced class.
xxx The dynamic duo Peter Hruschka and Gernot Starke teach the 4-day seminar "Mastering Software Architecture" in Cologne, June 16 - 19 (in German).You can take the exam to become a "Certified Professional for Software Architecture" right after the seminar. Contact www.arc42.com for details
June 16-18, Suzanne and James Robertson are in Sydney for Mastering the Requirements Process sponsored by Software Education
xxx Peter Hruschka teaches the 3-day certification seminar for requirements engineers in Karlsruhe, June 22 - 24 (in German). The (optional) exam to become a "Certified Professional in Requirements Engineering" is held right at the end of the seminar. Contact andrena objects for details

In Depth

Video interview on Requirements with Suzanne Robertson by Robert de Ruiter of Software Release Magazine in the Netherlands.


Listen to parts 1 and 2 of Suzanne Robertson's Interview on Requirements Traceability with Tom Cagley of Software Process and Measurement Podcast (SPAMCAST).



See what all the fuss is about. Tom DeMarco's article in the summer issue of IEEE Software
seems to have annoyed practically everyone: "Software Engineering, an idea whose time has come and gone?"


Adrenaline Junkies and Template Zombies has won the 2009 Jolt Awards best general book.


The Guild's new book Adrenaline Junkies and Template Zombies - Understanding Patterns of Project Behavior is now available. Orders at Dorset House Publishing and Amazon.com


NEWS: IEEE Software magazine has selected "Provoking Creativity: Imagine What Your Requirements Could Be Like" by Neil Maiden, Alexis Gizikis and Suzanne Robertson as one of the Top Picks for influential articles over the 25 years of IEEE Software. Download pdf.


See video commentary about the Adrenaline Junkies book project.


NEWS: Adrenaline Junkies and Template Zombies has been adopted by the Copenhagen Business School for Prof. Rob Austin's course, "The IT Manager as a Business Leader."


The new Guild book has been published in German Adrenalin-Junkies und Formular-Zombies - Typisches Verhalten in Projekten. The book demonstrates the effect of behavior on project success. Please visit Hanser or Amazon.de for more details.


Platicando con Tom DeMarco: interview (in Spanish) with Mexico's Software Guru Magazine. "Creo que todos hemos comprendido que el aspecto sociologico de los proyectos es igual o mas importante que el tecnologico ..."


Suzanne Robertson has written an Executive Report "Requirements for Managing Requirements" for the Cutter Consortium's Agile Product and Project Management advisory service. Download a free copy
The Microsoft Store on Microsoft's Redmond campus will for the first time start carrying books from publishers other than Microsoft Press. Mastering the Requirements Process is one they have chosen to stock in this initial test phase.
The Volere Requirements Specification Template has been translated to Spanish. Thanks to Paul Babic of Smartmatic for the translation. A Microsoft Word version is available from the Volere site.
Suzanne and James Robertson announce the publication of the second edition of their best selling Mastering the Requirements Process
In response to many requests we have started a Volere Requirements discussion group.

home | about | articles | books | consulting | events | litigation support | resources | physical exam | clinics | template | seminars |services |

Contact the Guild top of page