Bloom's Taxonomy on Software Delivery

There's a big difference between developing something that works and packaging software as a product.

Many people think the main purpose of a piece of software is to perform a set of tasks. However, there're many other issues which affect the average user satisfaction: Is it easy to understand? Is it easy to make it understand what I want it to do? Some people tend to summarize all of them in a single one: Is it simple?.

In the bazaar model widely spread among free software projects, the software is delivered when a set of features or bug fixes are completed. Sometimes it includes useful documentation along with the software itself.

Users are free to ask questions in forums and mailing lists, and even on irc.freenode.org. Most of the times the learning process consists of a set of trial and error steps till the user manages to configure the software to fit her needs.

The more difficult it takes for the user, the more likely she will give up. At the end, only two kind of users manage to get the software working: lucky newbies and unlucky experts.

Recently I read about Bloom's Taxonomy 1.

Bloom identified categories to quantify how much knowledge a person has, how good it is, and how high she is able to apply it:

  1. Knowledge: To be able to remember concepts
  2. Comprehension: To understand and explain the topic
  3. Application: To apply knowledge to solve new situations
  4. Analysis: To divide an idea and reason about the relationships between each piece
  5. Synthesis: To define and build an abstract idea out of existing knowledge
  6. Evaluation: To be able to judge regarding the feasibility or validity of new ideas

Back to the bazaar topic, regarding the software delivered, the developers are at least at the Application level. A new user starts below Knowledge, and tries to reach Comprehension in order to configure it by herself. The bazaar model makes the knowledge tend to get distributed among people, imposing no constraints on how far a user can get.

I think the cathedral model is less productive for the user, since the communication channel is somehow more fixed or controlled.

Worst of all is when we try to analyze non-free models: the user receives no help even to get the knowledge level (which can happen even though she has access to the user manual). That's fine since most of the users of propietary software don't understand what free software is (in case they know it exists), and would hardly find valuable to get access to the source code (which is one of the two ways they have to progress).

How many of you have heard arguments such as "We chose Oracle since PostgreSQL provides no support"? It's like saying "I don't mind to be limited in terms of how far I can get learning Oracle, since I would sit on the knowledge level or lower, and would pay for each time I need to solve more difficult problems than I can fix".

Other issue that surprises me is related to customized vs packaged (i.e. available in a local store) software.

The user of a cd-burning software knows it's not suitable of being customized (at least, to a certain degree). That is not seen as a drawback.

Furthermore, Excel users tend to think they get more features and complexity they are able to understand. For on-demand, customized projects what happens is the opposite: the software is always too complex, there're always too many mouse clicks, and the user always tend to express she is still expecting it becomes more expert in the problem domain than the user itself.

It's like saying: "What! I'm supposed to know how to use this? It's the software who should know what I have to do and how I manage to do it!".

Just kidding, in terms of cleverness, the order is: Excel developers, Excel itself, average user (trying to get the most of Excel but with no time to do it), and this damn stupid customized software.

Should we develop software to reach Evaluation levels on behalf us? Shouldn't we want to reach such level by ourselves instead?

  • Posted: 2006-10-21 17:33
  • Author: chous
  • Categories: chous

Comments

No comments.