The Software Engineer

Passionate about the SA software industry

Where does SA’s software development rank in world terms?

by Prof Barry Dwolatzky

Omni William Penn Hotel, Pittsburgh. Venue of TSP Symposium

Omni William Penn Hotel, Pittsburgh. Venue of TSP Symposium

 

How good is South Africa at software development? Where would we be placed in a league table of software developing nations? I guess the answer would depend on what one means by “good” and what such a “world ranking” would be based on.Without doubt South Africa has a lot to be proud of and a great deal to show in terms of its achievements in software development. South African companies, teams and individuals have made significant contributions to the world of software development over many decades. 

Let me therefore re-phrase my question as follows: In terms of important performance measures such as quality and predictability, how good is South African software development? 

Let me expand a bit on this. Software applications are usually developed to meet some specific business requirement. Government may, for example, require a new system to securely manage the issuing of identity documents and passports. A bank may wish to offer a new internet-based service to its customers. In such cases (when a solution can’t be bought off-the-shelf) a development team is given the task of producing the required application. The customer specifies what is required (not always an easy task) and the team makes a commitment to deliver the application within a certain time and for an agreed cost. The customer also expects the application, once it’s delivered, to operate without “bugs” and errors.

It is therefore clear that in the field of software development delivery time, cost and quality are important measures for the customer. Over many years the performance of software development teams around the world has been studied and benchmarks have been determined. The “average” picture that emerges is the following: 

  • Projects are typically delivered late: between 27% and 112% over scheduled date
  • Projects cost more than expected: between 17% and 85% over allocated budget
  • Applications are delivered with many defects: between 1 and 7 defects per 1,000 lines-of-code [KLOC]
  • About 50% of the time and cost of a project is taken up doing system testing and re-work to correct errors. 

Although this picture of software development around the world is not very encouraging, customers have come to accept the fact that acquiring a software solution is a risky and expensive undertaking. 

Coming back to my question: In terms of the performance benchmarks listed above, how good is South African software development? Where do we rank in the world?

Unfortunately I don’t have an answer. As far as I know there has been no authoritative research done to collect the necessary data on software development projects in South Africa. Maybe I’m wrong? Does anyone have such data? My gut-feel – based on many years of engagement with companies and individuals involved in software development in South Africa – is that we rank at the “bad” end of the performance benchmarks listed above. 

Should we be concerned about the fact that we are (probably) not very good in world terms at delivering software projects on time, within budget and of good quality? I definitely think that we should be very concerned as the software industry becomes incresinglycompetitive! 

I’ve just arrived in Pittsburgh, USA, to attend the annual “TSP Symposium” organised by the Software Engineering Institute (SEI) at Carnegie Mellon University. TSP is the “Team Software Process”. Since 2007 I’ve been tracking adoption of TSP in various countries around the world. In 2009, through the JCSE, I launched a TSP Pilot programme involving two South African companies – Nedbank and Dariel Solutions.  Later today (Tuesday 21st Sept) the three of us – JCSE, Nedbank and Dariel – will be presenting a paper on the results of this pilot programme to the TSP Symposium. Our paper is entitled: “Will TSP shape the future of software development in South Africa?”

Over the next few days I’ll do a daily blog posting from the TSP Symposium. Watch this space if you’re interested. And please comment if you have any thoughts on anything I say!

4 Comments

  1. This topic is complex. From the perspective of the project manager, let us try to tie down some variables? I want to distinguish between the project environment controlled by the sponsor and user (business case, resource supply, etc) and the Software Development Team. It is unfair to cluster these in a single figure, without noting which part each plays.I refer specifically to the 4 bullet points (based on the reports of the Standish Group?) above:

    Project success should be measured according to the mandates of the different teams involved in the specific project. The Software Development Team, and software development as a discipline, can only be held accountable for deliveries that they had a mandate over. In a normal Software Delivery project the Development Team is only a part of a bigger Project Team.

    I suggest that, if the project suffers from deviation from the project plan and business case, these items should all be logged against C/Rs (Change Requests). These C/Rs can be used to define the origin of the deviation. Only the C/Rs that fall in the domain of the Development Team, should be considered if the “picture” is compiled for the Development Team.

    Whether we use Agile or Waterfall, a project is always open for change. But the quality of our “software development” should be differentiated from external changes forced on the project. Could it be that sponsors and users do not consider the impact of the changes they ask for?

    Maybe we could have:
    Projects for environments in which a lot of project scope changes took place: X% late
    Projects for environments in which the business case was very static: Y% late
    etc

    We need clean, defendable numbers regarding Development Team when we do comparisons. And they may be a little bit better than the stats above. One can only hope?

  2. Barry’s question —how good are we?— has another related aspect, which has not been discussed very much so far, namely: How HEALTHY are we?

    A new study about the physical and mental health of IT employees was recently conducted in Germany by the DIWA-IT project (Demographic change and prevention in the IT sector) by the University of Duisburg-Essen and the Institute of Social Science, Munich; a principal researcher in that project was Erich Latniak from the University of Duisburg-Essen.

    A general finding of the study was that the stress level in IT employees has significantly increased in the short period between the years 2001and 2005. Much of this stress level increase was due to the shorter and shorter cycles of innovation in technology and business process organisation, plus the ever increasing demand for faster and faster response from the side of clients and customers who want instant satisfaction immediately. Many IT employees at all levels accross the German IT industry are approaching “burnout”.

    More specifically, the DIWA-IT study in Germany has identified the following particular problems:

    * Only 29% percent of the IT employees found it easy to “unwind” in the evening after their work-day in office.

    * Only 37% percent of the IT employees believe that they are strong and fit enough to stay in this business until their regular age of retirement (65).

    Especially at risk of damaging their physical and mental health in IT are employees in one of the following roles:

    * Junior staff, with little professional experience, who are thrown as cannon fodder into any new projects,

    * Mobile staff, which spend large proportions of their work-time as travellers or in the offices of clients and customers where they are cut off from the emotional safety and security of their home base,

    * Multi-project workers who are requested to report to more than one project manager in the hierarchy; they often do not know how to satisfy the demands from boss X, boss Y, and boss Z at the same time, and last but not least:

    * Multi-project managers who are given more than 1 project to manage.

    The DIWA-IT study also identified particular work-flow problems which are causing mental stress and anger to IT employees at all levels in the hierarchy:

    * Frequent un-announced interrupts of mentally intensive thought-processes (which demand high levels of focus and concentration) through phone-calls and eMails,

    * Learning “new things” when new technologies are introduced too frequently or when the business process is re-structured too frequently, as well as

    * Sudden “bursts” of additional workload (e.g. due to sudden additional demands by customers and clients) which were not previously planned into the project schedule.

    One could thus say that the price of our much-glorified “agility” in IT is payd in the form of phyisical and mental health of many IT employees.

    In conclusion the DIWA-IT study in Germany recommends that the continuous self-monitoring of the physical and mental health of any IT project team must become an integrated part of modern project management, in the same way as financial accounting, risk management, etc.

    To come back to Barry’s original question: How good are we? Well, this also depends on how healthy we are as human beings. If the IT business is making us ill, then there is no way to be really “good” in it.

    SOURCE DECALARATION: I have found the story about the German DIWA-IT study in the German newspaper “Sueddeutsche Zeitung”, Number 216: Sat-Sun 18-19 September 2010.

  3. Everything mentioned by Stefan for Germany also apply in S.A. but it’s only worse. I worked extensively in R&D in both countries and I know the differences.

    In the IT industry in S.A. you often have the phenomenon that some unschooled guy with st. 10 ends up somehow in management and/or sales because he has a huge mouth and he has no idea what it takes to create a software product nor does he care. He makes commitments to customers which are impossible and while the developers are killing themselves to try and make it happen, you’ll find them on the Golf course or the bar.

    Great morale booster. I am sure that there must be better occupations to choose than this. If my son would ever choose this direction, I would be rather disappointed. I’ll try anything to try and get him to choose something that makes sense instead.

  4. Dear Prof;

    My personal view on a country’s S/W development benchmark:

    - What is the S/W consumption in terms of ‘$ Spend’ in the country
    - What is the share of the above for national S/W companies vis-a-vis international one
    - What is the S/W export in terms $
    - What is the pie of S/W Service industry vis-a-vis S/W Products industry
    - How many colleges/universities offering S/W Engg or related courses
    - How many students are enroling and passing out in the above courses
    - What is the focus of National Govt on IT indistry. Do they have separate ministry/portfolio to look at the growth of IT industry in the country

    My belief is that the engineering process gains maturity with growth, Govt’s support and average citizen’s interest to pursue engineering.

Leave a Response