Wednesday, 26 April 2006

Can the words that we use affect our thinking

Can the words that we use affect our train of thought?

How do the different words we use to describe a system, change the way that we think about that system? Can we describe the Application Under Test differently and change the way that we think about it?

One exercise I tried recently was to think of different words to describe the software that I was testing and to see how that affected my thinking about that software.

I found that I was able to take different views of the software when I applied a different description. And different views allowed me to quickly identify different aspects of the software to test.

This was different from a heuristic approach as I was inferring, from the description, aspects of the software which I could then use to trigger thoughts about testing. It seems to me that this is one way to identify heuristics from first principles.

Example words I used : Application, System, Software, Solution, [Name], [Name Version X]

  • Try the words out for yourself and see what happens.

  • Identify more descriptive words and phrases for the software and see what happens

A classic piece of humorous writing on the use of words and language can be found in 'Through the Looking Glass', by Lewis Carroll. I find chapter 6, with Humpty Dumpty, to be particularly entertaining. There are plenty of editions online and I've linked to just one, purely arbitrarily, at [1]

`My name is Alice, but --'

`It's a stupid name enough!' Humpty Dumpty interrupted impatiently. `What does it mean?'

`Must a name mean something?' Alice asked doubtfully.

`Of course it must,' Humpty Dumpty said with a short laugh: `my name means the shape I am -- and a good handsome shape it is, too. With a name like yours, you might be any shape, almost.'

Through the Looking Glass, by Lewis Carroll, CHAPTER VI, HUMPTY DUMPTY [1]

'I'm Testing ...'Below are notes on what some of the descriptive words that I use to describe systems do for me. They may do a very different thing for you. And I guess that is to be expected, words are ambiguous.When I say that I'm Testing [Insert Name of Software Here], that may not mean very much. It may not mean much to other people if they don't know the name, and it certainly doesn't expose the level of knowledge that I have about the system. What it can do for me is get me thinking in terms of the superficialities, of the first things that come to mind:

  • the adverts,

  • the basic feature set,

  • what general kind of things need to be tested

  • basic requirements

If I extensionalise the name and give it some extra meta-tag information (in this case the version number): I'm testing [Name of Software] version A.B. Then I start to think about:

  • changes in this version,

  • what needs to be tested specifically in this version?

  • what the requirements were for this version?

  • have all the necessary changes been made?

  • Delivery dates and timescales.

When I call the Application a 'System' I start to think about

  • an integration of parts,

  • interfaces,

  • data syntax,

  • flow through the system

When I call the Application 'Software' I start to think of it as a thing:

  • which runs on an operating system (what versions),

  • interfaces with hardware (disk),

  • data semantics

  • common elements to software (instruction manual, box, help file,
    install routine).

When I call the Application a 'Solution', I think:

  • for whom?

  • for what problem?

And when I say 'Application' I'm thinking:

  • apply it to what?

  • Use it for what?

  • How can I apply it?

  • What functionality does it have?

`But "glory" doesn't mean "a nice knock-down argument",' Alice objected.

`When I use a word,' Humpty Dumpty said, in rather a scornful tone, `it means just what I choose it to mean -- neither more nor less.'

`The question is,' said Alice, `whether you can make words mean so many different things.'

`The question is,' said Humpty Dumpty, `which is to be master -- that's all.'

Alice was too much puzzled to say anything; so after a minute Humpty Dumpty began again. `They've a temper, some of them -- particularly verbs: they're the proudest -- adjectives you can do anything with, but not verbs -- however, I can manage the whole lot of them! Impenetrability! That's what I say!'

Through the Looking Glass, by Lewis Carroll, CHAPTER VI, HUMPTY DUMPTY[1]

No Answers, Just ExercisesAs an exercise for the reader... Now, what happens when you add some positive and negative phrases about the software to your descriptions?

  • Festering pile of bad code: are you positively motivated to test it yet?

  • Fantastic piece of software with just a few minor flaws: are you working hard to stress the software yet?

Answer the following questions and see what happens.

  • Can the state that you approach the thinking about software change the way that you think about the testing of it? I think that it can.

  • What words are you using to describe software?

  • What states are you in when you use those words?

  • How linked are the states and the words?



  •  [1] Through the Looking Glass, by Lewis Carroll, CHAPTER VI, HUMPTY DUMPTY, []

  • [2] I summarised this blog post in a diagram called Descriptive Words and Software Testing

How to cope without MS Project

MS Project is the project schedule tool that I encounter more on site than any other tool, and the one that I personally prefer to use on sites.
But sometimes things don't go as planned and I recently found myself without MS Project on a site with many MS Project Plans.
Sadly Microsoft do not provide a viewer for MS Project files so I hastily tried to find a tool to help me view the plans.

I looked at a few but none were suitable, and then I found Afinion Project Viewer. The free viewer was adequate for my purpose, but at only 46 USD the full version seems reasonably priced, there is a lite version available for only 16 USD.
The free version allowed me to open .mpp files, and view the project plans in an outline with the associated gantt diagram on the right.
The Afinion website could be clearer in listing the differences between the versions but the free edition is a simple viewer without printing. (see the end of this article for a list of differences between versions).
So with Afinion viewer installed I can now comment on the plans.
But I also had to create my own plan and I don't actually like doing that in a spreadsheet so I needed a free project planning tool that would give me the flexibility of moving back to project later, or of working with the files directly.
I've actually been looking for an excuse to try the opensource ganttProject in a production environment. 2 versions are available, both version 1.11.1 and 2.0-pre1 use the same file format.
2.0 looks much better and has a much better GUI, but still has bugs in the GUI that caused some hassles when creating milestones, and didn't have the full complement of exports that 1.11.1 has, so 1.11.1 should still be the version of choice used in prodution. But 2.0 is more comfortable for viewing your projects and is certainly worth watching to see how much more it improves.
v 1.11.1 has a handy export to mpx to allow me to move back to MS Project and the html export is very effective for sharing plans.
Because xml and xsl are used for the exports you can even plug in your own exports, but I didn't try that, the defaults served me perfectly well.
In summary:
Neither tool requires an install and I will add both to my System Tools folder and memory stick. Both run on Java, so with a local JRE installed in the tools folder I can avoid conflicts on any borrowed machine.
In an emergency I will happily turn to these tools again, and for simple plans GanntProject is perfectly adequate.
And the links again: ganttProject , Afinion Project Viewer

Afinion features between versions
  • displays plans from MS Project (Project 2000, 2002, 2003)
  • No Install required - only copying the files into a folder.
  • Windows, Mac OSX, Linux, Solaris and Unix.
  • view the tasks in a daily, weekly, monthly, quarterly base.
In addition Lite:
  • .mpp versions (Project 2000, 2002 and 2003) simultaneously.
  • Printing
  • enable connections in the Gantt chart to get a clearly arranged view.
  • also available as server version.
  • language independent. Standard languages are English, Italian and German. Other languages on demand.
In addition full:
  • also displays plans from MS Project (version 98, Project Server).
  • displays also plans from SAP PS (network plans, wbs elements, tasks).
  • store all activities which are assigned to a resource directly into the Outlook task folder of the resource.
  • supports all currently MS Project versions in a database and as mpp file simultaneously. Thus you can support all sort of plans (old and new ones) with one version of Afinion Project-Viewer
  • can use the common databases (SQL-Server and MS Access Project Server)
  • shows different views used by the project manager.
  • has different filters and a standard view which the user can customise corresponding to their needs.
  • shows all activities of an employee over all projects in a database. So the employee can see immediately, where they are assigned to.

3 Useful Questions, GS

What do you mean? How do you know? What then? from

Articles on General Semantics from the European Society for General Semantics.