Some further thoughts on the professionalisation of SA’s ICT sector

by Prof Barry Dwolatzky

On 25th July 2010 I asked a question on this blog: “Does South Africa need professional Software Engineers?” In asking this question I had in mind a new engineering discipline falling under the Engineering Council of South Africa (ECSA). 

A number of thought-provoking responses to my question were posted and I would like to respond to some of them. First, however, I feel the need to suggest some definitions. 

“Professionals” and “Professional Bodies” 

What is a “professional”? There is a wide range of opinion on this – seemingly simple – question. However, some common characteristics emerge. One can say that “professionals” do work that is not routine and well understood. It is work that has strong intellectual content, frequently leading to unique or novel outcomes. In addition professionals have:

  • Specialised knowledge – usually acquired through academic qualifications
  • Excellent practical and intellectual skills
  • A high standard of ethical behaviour – sometimes codified in the form of a formal “code of practice” 

In terms of these characteristics a doctor, lawyer, engineer and accountant are all “professionals”. They do work that requires intellectual engagement and is seldom routine. They all require university degrees. They have the skills to apply their specialised knowledge in practice. They work within a framework of ethical behaviour defined in a code of ethical practice. 

The above characteristics also tell us that artisans, actors and “professional” sports men and women are probably not “professionals”. The dividing line is, however, not clear-cut. 

In many cases the line between professionals and non-professionals has less to do with the work they do and more to do with how professions are organised. 

There are two sides to the coin when one considers why we have organised professions. Professional bodies represent both the interests of the professionals themselves and the interests of the public. Let’s consider medical doctors as an example. 

A professional body, the “Health Professions Council of South Africa” (HPCSA), represents the interests of doctors – and other health-care professionals. It defines what a “doctor” is, it maintains a register of doctors, and it keeps “non-doctors” out of the profession. 

At the same time the HPCSA protects the public from “bad” doctors. It has a code of ethics and can discipline members guilty of breaking it. It sets the standards for the education of doctors and works to ensure that this standard is maintained and kept relevant. Its role as custodian of public interest is recognised by Government via legislation (namely the “Health Professions Act” No. 56 of 1974, most recently amended in 2007).

While HPCSA is a statutory body, its work is supported and complemented by a number of non-statutory professional associations. SAMA (the “South African Medical Association”) is one such example. Membership is voluntary. There are, however, barriers to membership. To join SAMA applicants must be a registered with HPCSA as a medical practitioner. SAMA acts as a trade union protecting its members’ rights and privileges and fights to maintain the status of doctors within society. SAMA also works to support its members in “maintaining a lifelong commitment to continuing professional development” (www.samedical.org

The following diagram shows how organisations and professional bodies – both statutory and non-statutory – are located on a plane showing “Level of public responsibility” on one axis and “Barriers to entry” on the other.

 Diagram 1 - professional

 

  • Voluntary Organisations: These are organisations that focus on forming communities around common interests and concerns. Membership of these organisations is typically open to all, or most, applicants. [Barriers to Entry = low]. Membership of the organisation does not require members to assume a high level of public responsibility for their actions [Public responsibility = low].
  • Statutory Professional Bodies: Membership of these organisations is tightly controlled. A register of members is maintained and mechanisms are in place to add and remove members. There is a formal “code of conduct” that the body is responsible for administering. Membership is compulsory for everyone wishing to practice in that profession. “Barriers to Entry” and “Level of public responsibility” are both high.
  • Non-statutory Professional Organisations: These lie between the two extremes outlined above. The organisations focus on providing benefits and status to their members rather than the protection of public interest. Membership is voluntary and limited to various categories of “professionals”. Access to membership is typically less rigorous than that of Statutory Professional Bodies. 

Coming back to the example of medical doctors, the following diagram shows where organisations having doctors as members would be located.

 Diagram 2 - professional

 

 

Most recognised professions can be represented by a similar diagram.

 Professionalism in the ICT Sector

 Let us now consider the South African ICT Sector. Do we have any “professionals” in the Sector?

 In terms of the definition of a “professional” suggested above are there individuals in the Sector whose roles and responsibilities classify them as professionals? In the table below I’ve listed the characteristics of a professional and then analysed the roles and responsibilities of a number of job functions in the ICT Sector against these characteristics. In terms of this (admittedly rough) analysis we can see that Business Analysts, Architect/Designers and Project Managers fit the definition of a “professional” more than Testers and individuals involved in User Support/Training activities.

 

  Business Analyst Architect / Designer Programmer / Developer Tester Project Manager Database Admin (DBA) User support / training
Non-routine work

X

X

X

 

X

 

 

Strong intellectual content

X

X

X

 

X

 

 

Specialised knowledge/Academic qualification

X

X

 

 

??

 

 

Excellent practical &Intellectual skills

X

X

X

??

X

X

X

Formal code of conduct/Ethical behaviour

X

X

X

X

X

X

 

 While there are individuals working in the ICT Sector whose job functions may be considered to be “professional”, the organisational structure of the South African ICT Sector is not similar to other professions. The following diagram represents the local ICT Sector:

 Diagram 3 - professional

 

 There are a number of organisations which, based on “Barriers to Entry” are either Voluntary Organisations or Non-statutory Professional Organisations. There are no organisations in the Sector that require membership as a way of protecting public interest. 

The Sector is characterised by a large number of Individual “professionals” who are responsible for working on tasks that have a high “public responsibility” component. These tasks may be high-cost projects in the public or private sector, or tasks that have high risks associated with them. The “Barrier to Entry” into these jobs is very low – unlike other professions. 

I believe that we need both Statutory and Non-statutory Professional Bodies in the South Africa ICT Sector. We need, like other professions, to define Bodies of Specialised Knowledge for ICT-related jobs. We need to have a Code of Ethical Conduct, enforced by Government legislation to protect the public from non-professional behaviour. Professionals should be registered by a statutory body and made accountable for the work that they do. 

My responses to comments 

The comments posted on my blog of 25th July fall into a number of categories:

  •  The nature of ICT work is significantly different from other engineering-like activities: Richard and Marc believe that the technologies at the heart of ICTs change very rapidly. Because of this practitioners are constantly having to learn on-the-job, rather than applying standard approaches. Stefan, quoting Tom Maibaum, contends that “engineering” as a discipline requires work to have a high level of standardization and a strong body of “textbook” knowledge. He goes on to say that this standardization and textbook knowledge will never be achieved, resulting in software engineering being an unattainable ideal. Samkelo adds standardised tools and metrics to Stefan’s list of pre-requisites for an engineering discipline. He is also concerned that, given the complexity of software systems, the need for composing systems from standard parts is essential. He raises the difficulties associated with re-use in software development.

My response: I question the contention that ICT work is significantly different. While much of the specific knowledge areas are relatively new and “still under construction”, the underlying principles are well established and similar to other types of engineering. The development lifecycle of a software system is similar to other technological systems. I accept that there are challenges, but I can’t accept that work needs to be highly standardised. As I pointed out earlier, all professionals are required to carry out non-routine work with a strong intellectual (i.e. problem solving) content. ICT professionals are no different from other professionals in this regard.

  • Are ICT practitioners “professionals”? Should they be recognised as “professionals”? Most of those who commented were convinced that ICT workers are professionals and should be recognised as such. Bernard feels that all ICT staff should be recognised as “professionals”, although not all are “engineers”. He believes that they should behave as professionals (i.e. be accountable for quality and delivery). Morkel believes that it’s important to distinguish the work of professionals from amateurs and “fly-by-nighters”. Jean feels that failure to recognise ICT professionals gives the entire industry a bad name.

My response: I feel that not all ICT practitioners need to be registered professionals, although everyone needs to work with a high level of professionalism. The professionalization of the ICT sector is essential both in protecting the interests of practitioners and in ensuring that the public is adequately protected.

  • Who should represent the interests of software engineers? In my posting I suggested that software engineering should become a “new” engineering discipline under the Statutory Professional Body ECSA (“Engineering Council of South Africa”). Hendrik sees different “streams” – one aligned with traditional engineering and the other more in line with business-type applications. The implication is that different bodies would be required to represent different categories of ICT professionals. Adrian informs us that SAQA (the South African Qualifications Authority) is about to enter the debate. SAQA is required in terms of the NQA Act to register professional designations and recognise professional bodies. The CSSA is a non-statutory body which has a professional grade of membership, called PMCSSA. He asks if this will give sufficient recognition to software engineering professionals.

My response: In reading the comments and thinking further about the issue of registering “software engineers”, I’m no longer of the opinion that we should simply become a branch of engineering under ECSA. We need in the longer term to have our own structure with both non-statutory and statutory professional bodies like any other profession. Existing organisations such as CSSA, SAIEE and ECSA certainly have a role to play in managing the transition from where we are today to where we would like to be in the future.

Can small development companies produce great software?

by Prof Barry Dwolatzky

LightbulbIdea

Joe (not his real name) stuck it out in a 9-to-5 corporate job for nearly 7 years. He did his work as best he could … and got more and more frustrated. Everywhere he looked in his workplace he saw opportunities to do things better. He suggested innovative ways of doing things, but his managers had that “if-it-ain’t-REALLY-broke-don’t-fix-it” attitude of the corporate world. They weren’t interested in implementing Joe’s ideas.  Continue reading

Who needs standards?

by Adrian Schofield

 adrian-schofield_thumbnail

Brenda Scholtz’s cry for more professionalism and stricter standards among the practitioners in the software/information systems field is one that resonates around the world.

What is it about the IT industry, that it perpetuates the gulf between the desirable, accountable, professional development of systems and the casual, cowboy approach that results in wasted time and money (or worse)?  It is estimated that more than 80% of the traffic on the Internet is spam or malware – is this the clearest symptom of our global lack of discipline in information systems development?

We are all familiar with the sequence of jokes that started in 1997 with this story: There’s word in business circles that the computer industry likes to measure itself against the Big Three auto-makers. The comparison goes this way: If automotive technology had kept pace with Silicon Valley, motorists could buy a V-32 engine that goes 10,000 m.p.h. or a 30-pound car that gets 1,000 miles to the gallon — either one at a sticker price of less than $ 50. Detroit’s response: “OK. But who would want a car that crashes twice a day?”

Underlying that “humour” came the growing realisation that the builders of “new generation” computer systems were not applying the rigorous standards that typified the approach to enterprise software running on mainframes and their smaller brethren.  The age of the PC ushered in the ability for anyone to teach themselves how to write programs, to connect to the network and to market their “skills”.  The buyers, in their eagerness to ride the wave of this new freedom of access to technology, seemed to be more than willing to accept errors and unreliability as the norm.  The simple standards that applied to the purchase of tools for business (such as typewriters and calculators) were waived when it came to buying computers for the same purpose.

In the “good old days” (when slavery abounded and steam valves controlled Babbage engines), you had to have a degree AND membership of an approved “society” (IEEE-CS, ACM, CSSA, BCS) if you wanted to pursue a career in systems development.  In the “good new days” and in spite of the dot.com bubble, many of the industry’s multi-millionaires never made it past school-leaving certificate.  Add the ingredient of “freedom” into the mix (as in freedom to join a previously elite group of workers, as in freedom to use free, open source software) and it becomes difficult to convince decision-makers that standards are vital to successful acquisition of information systems.  Never mind that those freedoms lead to the equivalent of allowing strangers to plant weeds in your flower beds or to steal your video records of family history.

Can the industry restore the balance?  Quite a few initiatives around the world are attempting to do so.  From the Software Engineering Institute in Pittsburgh, to the re-branded BCS Chartered Institute for IT in UK and to the Australian Computer Society, via the IEEE and the ACM – these and many other groups are upholding the value of proper learning and disciplined standards in keeping the practice of systems development as a true profession.

Are they winning?  What more can and should they be doing?