I am seeking pointers to assist the direction of my research into providing assessements of functionality, usability or elegance in system development.
Can you provide references to work being done on the measurement of functionality, usability, or coding style? Who (person/organisation) is doing work in this area? Where can I find such references.
I have developed some ideas about system construction, that are a little different to mainstream development. The starting point is a an adequate description of the problem. I am developing a demonstration/proof of concept project.
In developing my proof of concept project I have found an unexpected and unlooked for benefit. So far, I have found that useful information about the completeness of a system can be gathered by taking an indirect view of the development. This indirect view is based on the description of the problem, rather than the software solution.
I have also become convinced as a result of these developments that it may well be possible to provide guidance from my approach to system development in other areas such as guidance on how functional the system is; how usable the system is; or how elegant the solution is.
My explorations so far have led to the following suggestions, and my responses to them:
- Literate programming is elegant. - Literate programming may well be elegant, but this shifts the problem back - how do you assess how literate a program is?
- That I am looking for the system development equivalent of a measure of aesthetics ie the ineffable - while I appreciate that such is not possible, I still believe it possible to give guidelines from the infomation available during the course of developing a system.
- That what I am seeking can only be assessed after a solution has been in use for some time, and only by comparison with other solutions to the same problem. - This may well be the case, and may indeed the rock on which my search founders. However I still believe that it is possible that measures from the development may throw some heuristic insight on these aspects of software.
- Function point analysis is a measure of functionality - I see FPA as more a measure of productivity than functionality. It does not tell you how much functionality has been incorporated into the system, bur rather how much has been included compared to a baseline derived from the same context. As the context is continually evolving, this detracts from the measure's usefulness.
- That these concepts cannot be measured and there is no agreement on what constitutes functionality, usability, or elegance and there can't be for similar reasons to the argument - I am stubborn enough to believe I can, at least partially, refute this suggestion by providing some assistance to system developers.
- That the information I am looking for lies outside of system development; in the graphic arts arena; psychology; biology; or other - this is looking more and more likely.
- Utilising the objects of the system directly as its user interface - this shows promise for a class of systems designed to facilitate problem solving.
- The lessons from traditional graphic art (layout of complex data) can be transferred to system development - this is looking like the most promising route and I am trying to establish correspondance with a leading graphic designer. This may only be of use for informational systems but does look as if it is much more wide ranging than that.
- It has also been suggested that I am being an "architecture astronaut", out of touch with reality - this may be the case, but if it is so, then I am likely to be the last to realise it and such a prospect does not deter me from my search.