Upload
richard-veryard
View
216
Download
3
Embed Size (px)
Citation preview
What are methodologies good for? Too much reliance can be placed on techniques of software development
by RICHARD VERYARD
T here are many organizations and individuals recommending their own methodologies for solving
business pro’blems and for developing and implementing business systems. In particular, there are several such methodologies for computer systems development. Most of them are ‘sold’,
in that their adoption entails the purchase of a book or other documen- tation, training courses, or perhaps a
_~
Abstract: The provision of information
systems and services to an organization may
be based either (on common sense or on a
formal methodology. One man’s common sense is another man’s idiosyncracy. A formal
methodology helps people systematically share
their working methods and results. A
methodology is (a system whose output is a
solution to a problem. In data processing, the
output may be partly in the form of computer software.
Methodologtes should be evaluated in systems terms, using such criteria as
effectiveness, efficiency, reliability, stability,
simplicity, ease of use, flexibility, measurability, visibility, user acceptability,
etc.
Many methodologzes are unbalanced.
Future development of methodologies should
take account of such system-based
requirements.
Keywords: dato processing, computer
software, methodology.
Richard Veryard is a senior 1ecturer:consultant at Data Logic.
computer software package. Many managers, consultants and
analysts have to consider two ques- tions. First, whether to adopt such a formal methodology and second, which one to buy. The latter choice is complicated by the competition be- tween the methodology vendors; there are sometimes trivial differences between methodologies solely to dif- ferentiate them as products in the marketplace’. It is not easy to separate the essential features of each methodology from its marketing fea- tures .
Meanwhile, the methodology ven- dors themselves are under great pres- sure to maintain their offerings. They must keep up with new attitudes and priorities in the data processing indus- try (such as the relative cost of man-
power and machine power), new tech- niques or fashions (such as proto- typing) and new types of user require- ment (such as knowledge engineering or robotics). Essentially their objec- tive is to win new customers without alienating existing ones.
In this article, some general points about methodologies will be made, which should be of interest both to those evaluating and selecting metho- dologies and to those designing and improving them. The conclusions will not necessarily be universally valid; the author prefers to be comprehen- sible than comprehensive.
How projects and systems fail
Among the reasons for projects not achieving their objectives and targets are some connected with the methods used on the project. For example:
l unnecessary tasks are performed, l necessary tasks are not performed, l tasks are incorrectly or inadequate-
ly performed.
Each of these can often be blamed on the methodology followed by the pro- ject, which may be:
too vague and non-specific, too rigid and inflexible, not properly understood/not pro-
perly followed, totally unsuitable for this kind of
project.
is not sufficient excuse to say that
the project team or the users were fools; a good methodology should be foolproof.
This is related to the problem of maintenance, which is unpopular among DP staff because of its lack of glamour. Most formal information systems methodologies concentrate on systems development at the expense of maintenance. In prac:tice it is often only those staff considered bright enough to learn the complexities of a new methodology ,who are allowed to take advantage of it, while for the rest maintenance is eq,uivalent to stagna- tion. Yet they may be the ones most in need of formal gui’dance.
~01 27 no 6 jLtly/august 1985 0011-684X/85/060009-04$03.00 0 1985 Butterworth & Co (Publishers) Ltd 9
If practised analysts or program- mers are promised training in a formal methodology, do they see this as a reward for good behaviour or as a sign of the manager’s dissatisfaction with their work! If either is frequently true, then there may be something seriously wrong with the image of methodologies, which the methodo- logy vendors are partly to blame for.
What is a methodology?
Formal or informal
A tentative de~tion of a methodo- logy might be a generalized set of methods and procedures used on pro- jects.
There is no alternative to using a methodology. The choice is between using an explicit formal one and the implicit tradition and common sense (TACS) methodology. TACS is the default or fallback for people who do not know any other option; it may also be chosen as a deliberate policy.
The trouble with TACS is that everybody interprets differently the demands of common sense. ‘Com- mon’ sense is paradoxically not com- mon at all, if by that we mean shared, held in common. TACS relies on personal intuition, perhaps based on past experience, which is often idio- syncratic. Whether this is desirable or not will depend on the circumstances.
Experienced chefs regard a recipe as a set of hints and adapt the ingredients and methods according to taste and convenience. Similarly, ex- perienced systems analysts believe themselves not obliged to obey the rules as religiously as their junior colleagues.
There is therefore a definite tend- ency for formal methodologies, once introduced, to drift into informality and to be adulterated with elements of TACS, unless positive steps are taken to refresh the und~stan~mg and to maintain the purity of the methodo-
&Y.
10
System or ad hoc
A formal methodology is often pre- sented as a checklist, a sequence of tasks and activities which must be carried out in order to develop an application system. A project follow- ing the methodology starts at a given point (perhaps a statement of user requirements, perhaps just vague dis- satisfaction) and produces a solution (perhaps in the form of a fully-d~u- mented computer system with all the trimmings).
We can regard this process itself as a system, taking a given input and producing a given output. So-called ‘hard’ methodologies start from a need (e.g. a specific problem or opportun- ity) and produce a product (such as a computer system). So-called ‘soft’ methodologies start from an open situate, where specific problems and opportunities have not yet been iden- tified, and produce a plan for improv- ing the situation. The output from the latter may become the input for the former.
Nowadays the systems develop- ment process itself is being increas- ingly computerized. Automated tools are becoming available for systems analysts and designers, as well as for programmers and these tools can be expected to grow in sophistication and scope.
A methodology can be regarded as the specification of a systems develop- ment system, involving interaction between people and machines. The methodologies we are discussing here are intended to help develop exactly such systems.
Compromise is implied:
‘A complete methodo~o~ specification may be i~~ssibly long to write and teach, and to cover every possible real situation would waste developers’ time during training’.
Therefore it seems reasonable Co
apply systems thinking to the metho- dologies themseives, both to evaluate and select a methodology and to design and improve one. A methodo-
logy which claims to be universally applicable must be capable of being used on itself.
How are methodologies evaluated?
Some writers define the objective of a methodology in rather narrow terms. For example, MacDonald’s objective is ‘to ensure effective utilization of the corporate information resource3’, from which he somehow derives re- quirements for the methodology in terms of its approach, scope, usability and support. The trouble with such discussion is that it does not provide much of a base for comparison be- tween methodologies.
One way of testing a methodology would be to set objectives which were known to be unachievable. How long would it take the project team to discover that they had been set an impossible task? The better the methodology, the sooner the impossi- bility would be confronted.
Brooks and Smith4 compare what they call ‘bottom-up’ methodologies, such as SSADM with ‘top-down’ methodologies, such as that recom- mended by James Martin. According to their analysis, bottom-up methodo- logies tend to be:
safe acceptable controllable cumbersome expensive (limited scope for ex- ploiting new tec~ology) inefficient
On the other hand, top-down metho- dologies are characteristically:
‘cleaner’ more radical expensive (staff skills required) difficult to control there is a risk of producing the wrong solution
Let us try to be more systematic about this.
data processing
policy
Qualities of methodology as system
Systems can (and should) be evalu- ated according to several qualities:
effectiveness, efficiency, reliability, stability, simplicity, ease of introduc- tion and use, measurability and visibi- lity, among others. How do these apply to the evaluation of methodo- logies?
Effective
A system is effective if it achieves its
purpose. So we must ask:
Does the methodology work! Does it solve the problems, or produce the products, that it is intended to? Do projects that follow the metho-
dology turn out successfully?
There is dif’ficulty here. Checkland points out that ‘in logic’ we can never know wheth’er good or bad results are produced beNcause of or despite the use of a particular methodology. How- ever, this is a theoretical uncertainty rather than a practical one; it is similar to the difficulty of comparing the ability of two managers by measuring the performance of their departments. We can never know for certain whether a manager is good or just lucky, but as long as the luck
holds perhaps we need not care. If he or she succeeds without doing the things we believe a good manager ought to do, it may be our beliefs which need revision.
Efficient
A system is efficient if it does not waste resources. So we must ask:
l Are all lhe tasks and activities prescribed by the methodology strictly necessary?
l Are all legitimate short cuts ex- ploited?
l Is there any redundancy of effort?
Many methodologies deliberately in-
clude tasks and activities which are logically redundant, to improve the
effectiveness and reliability of the systems development process. Mul- tiple models of the same thing, cross- checking and quality control add to
the time and resources consumed by a project, but they cost less than allow- ing an error to continue undetected.
It is worthy of note, however, that certain proprietary methodologies
claim to remove all redundancy from information systems, while them- selves prescribing an indeterminate amount of redundancy in the produc- tion of systems models which they are unable to quantify.
Reliable/accurate
A system is reliable if it always pro- duces exactly the intended results. As a secondbest, it should give clear warning to the user when the results are at all dubious. So we must ask:
l What risks are involved in using
the methodology? l How are the risks minimized? l At what stage of a project can we be
certain of success? l What quality control procedures
are there, and how do they work?
Stable
A system is stable if it is not oversen- sitive to minor errors and alterations. So a methodology should be ‘fault tolerant’ and allow for human im- perfections, both of the systems developers and of the users.
Another aspect of stability is self preservation. Does the methodology contain a mechanism for halting the tendency to drift into informality, impurity and invisibility?
Flexible
Flexibility is related to long-term
stability. A system is flexible if it can be changed to fit new business or
technical requirements. So the
methodology should be capable of
incremental change, for example, so that existing documentation does not
need rewriting each time the consult- ants change their minds.
Simpleleasy to learn and use/acceptable to users
The system is simple and requires well-defined skills to operate it. So we need to know whom the methodology is aimed at, whether relatively experi-
enced or inexperienced programmers and analysts.
The concept of user friendliness is a
much-abused one. It is easier to describe it negatively, in terms of the absence of features which tend to
irritate people. A methodology should not rely on a stodgy and boring manual. It should be ea.sy to motivate project staff and end users to follow it
with enthusiasm.
Measurablelheuristic
The system allows its own perform- ance (effectiveness, efficiency, etc.) to be easily monitored. A methodo- logy should be integrated with a project control system, so that we can predict the success of a project before
it has finished. The competence of the staff and the suitability of the method- ology itself should be monitored. A methodology can be regarded as a learning system (heuristic). So it is reasonable to ask how experience is systematically accumulated and used, either within one project or from one project to another.
Visiblelcomprehertsible
People using the system are allowed to see enough of the workings and struc- ture of the system to understand how it works, how to control it, and what
its scope is, i.e. the extent of its
suitability and power.
~0127 no 6 july/august 1985 11
The alternative to this is mystery, If the system produces results by some magical process, then it becomes the property of an initiated elite, which is not only socially undesirable but also prevents the uninitiated from making an effective contribution.
Therefore a methodology should make apparent, both to DP staff and to end users, exactly how their contri- butions at each stage of the project will affect the final product. This is useful because it enables people to judge the appropriate level of detail at each stage, and to distinguish the status of different contributions, e.g. separating tentative suggestions from firm requirements. It also makes it more likely that im~rtant facts will be brought to light, which strict adherence to the methodology would have ignored.
Every conceivable situation is handled. Some methodology vendors see this criterion as paramount. Whenever a test case is discovered which the methodology will not handle, the methodology must be changed to take account of it, even if it makes the methodology more com- plicated or less elegant. Where this is a matter of automatic policy, it appears to this author to be mis- guided. A choice must be made be- tween a special-purpose methodology, which is highly effective and efficient for a narrow range of problems, and a general-purpose methodology, which works moderately well on a wide range of problems. However, the distinction between a general-purpose system and a universal system should be clear. The IBM PC is a general- purpose computer, but is obviously not suitable for every application; a semi-skilled odd job man is a general- purpose labourer who cannot perform brain surgery.
A related danger is that the metho- dology becomes non-specific and
12
vague. As Boulding points out in a different context:
We always pay for generality by sacrificing content, and all we can say about practic- ally everything is almost nothing.
Objectives bell-de~ned
The objectives of a methodology should be made very clear, whether it is to enable experienced staff to do an even better job faster, or to enable inexperienced staff to cope in com- plicated situations. And the critical success factors should be defined in advance. Under what circumstances shall a project be deemed a failure?
Conclusion
Methodologies are systems. Therefore systems thinking and systems engin- eering principles should be applied to them. There are many desirable but conflicting qualities of a good metho- dology; there are established methods, included in many of the methodologies themselves, for resolv- ing such conflicts.
It is surprising that the methodo- logy vendors appear to have been too blind to apply their own methods to their own product. Yet this appears to be the case, particularly when one or two of the desirable qualities are emphasized at the expense of the others.
According to Edward de Bono, the most difficult part of learning to think is learning to think about one’s own thinking. Self reference is a field of paradox, where angels fear to tread. Yet we must have grave doubts about a methodology designed by people who do not practise what they preach. A methodology should be forced to prove its own worth by applying its own methods to itself.
Most methodologies do not fulfil several of the systematic criteria out- lined in this paper. Many projects have failed because the wrong metho- dology was used, or the right metho- dology in the wrong way. Methodo-
logy users often misunderstand what the potential benefits are; methodo- logy vendors sometimes misunder- stand what the users’ real needs are.
Yet data processing practitioners should not be daunted, for these are exactly the kind of difficulties faced in nearly all systems development pro- jects. Much of the collective experi- ence of solving such problems is already built into the methodologies themselves. All that is needed is for this potential to be recognized and for the methodologies to be used proper- ly. The next generation of systems development methodologies will be better balanced and will bring great benefits, if only we can be a little more systematic.
References
Tagg, R ‘Too many methodologies’ in Baker, G (ed) Data Analysis Update British Computer Society Database Group (1983) Maddison, R (ed) ~nf~ati~ Sys- tems Methodologies Wiley Heyden (1983) MacDonald, I ‘Systems develop- ment in a shared data environ- ment: the Information Engineer- ing methodology, in Baker (ed)’ Brooks, C and Smith, J ‘The Evolution versus Creation debate’ Data Processing Vol 26 No 7 (Sept 1984) Checkland, P ‘Towards a system- based methodology for real-world problem solving’ Journal of Systems Engineering Vol 3 No 2 (1972) Checkland, P Systems Thinking, Systems Practice John Wiley (1981)
Further reading
Veryard, R ‘The importance of visi- bility in systems’. Unpublished paper, Data Logic (1985) Maddison, R (ed) rnfo~~~~on Systems Development: A Flexible Framework British Computer Society Database Group ( 1984) 0
Data Logic Education, 29 Marylebone Road, London NW1 SJX, UK.
data processing