Creating a 1,000 jobs – round pegs in round holes

By Prof Barry Dwolatzky


The story so far…. In a previous blog posting I outlined a strategy based on the “Franchisor/ Franchisee” model for setting up software development units capable of delivering extremely high quality software in a very predictable way. I made a commitment that over a 3 year period I would set up 40 such units, each employing 25 people. In this way we could create 1,000 new software development jobs. I will call these new software development units “High-Maturity Units” or “Hi-Mat Units”.

I ended with two questions: Where will all the skilled people come from to staff these units, and where will all the software projects come from to keep them busy?

Finding the skilled people

We have all heard about (and some of us have experienced) the “skills crisis” in the South African IT sector. Both large and small companies struggle to find suitably skilled and experienced people, and – when they do – find that they have to pay top salaries to attract and retain staff. At the same time we have the paradoxical situation of large numbers (hundreds of thousands) of unemployed graduates. Some of these graduates even have degrees in computer science, information systems and other IT-related disciplines. 

I believe that the root cause of this paradox is that we as South Africans have not been at all successful at matching people to jobs. There is frequently a mismatch between aptitude and interest on one hand and education and training on the other. We have the situation where a person chooses to study computer science (for example) when he or she is not well-suited to working in the IT sector. We also have people with a degree in (say) psychology who land up working in software development.

Part of the solution to the “skills crisis” is therefore aptitude testing and career counselling. In other word putting “round pegs in round holes”. In finding people to staff the “Hi-Mat Units” our focus will be on identifying people with the right aptitude and a high level of enthusiasm. While experience and formal qualifications are important, aptitude and ability will be the determining factors.

 Each “Hi-Mat Unit” will employ 25 people. A quarter of these (about 5 or 6) will be experienced in software development. The remainder will be recent graduates or unemployed graduates. After passing and aptitude test all recruits into the “Hi-Mat Unit” will be trained extensively. The focus of the training, which might require several months to complete, will be to teach the recruits to use the processes and tools specified in the “operations manual” for the Hi-Mat Unit. It’s like sending people employed to operate a McDonald’s franchise on intensive training before they are allowed to work in the store. Many of the successful Indian IT companies send new recruits to a training campus to learn how to work within the company’s environment. Intensive technical training will also be given to “Hi-Mat Unit” recruits.

Each “Hi-Mat Unit” will have a formal relationship with a local University and/or University of Technology. This will also assist in recruiting staff into the units.

Keeping the “Hi-Mat Units” busy

 Each “Hi-Mat Unit” should be capable of doing about R10 million worth of development work per year. Where will all of this work come from?

 In the first few years work will come from Government, NGO’s and parastatals. Some of the projects might have to be subsidised. Since the “Hi-Mat Units” will be unknown entities with no track-record, giving work to them may be seen to be relatively risky.  In time, however – on the assumption that the work done by the units will be of exceptionally high quality – they will win contracts to develop software on merit. They should also be well-placed to compete for work internationally.

 Next steps

 At this moment I have a proposal “in the pipeline” with Government to get seed-funding to set up the first 4 “Hi-Mat Units”.  These will be used to flesh-out the concept and as “proof-of-concept” pilots. Moving forward the “Hi-Mat Units” will be rolled out using profits and skilled people from each Unit to seed others.

If you have any questions or thoughts about this concept, please comment.

Creating 1,000 Jobs: Learning from Big Mac

by Prof Barry Dwolatzky


What does a “Big Mac with French Fries” have in common with software jobs in South Africa? At first glance …. not much, but I plan to change that! 

Bear with me while I explain this important relationship: When I left SA to live in London in the 1980’s I came to know the McDonald’s Big Mac Hamburger really well. As a poor post-doctoral researcher at Imperial College I realised that I could buy a meal of known quality, taste and nutritional value (or lack thereof) at a very modest price if I sought out the local McDonald’s. More than that – wherever I travelled around the world I could get the same hamburger at almost the same price. When I returned to SA in the early 1990’s I found that the Big Mac had also returned from exile. I could buy that same familiar burger at a McDonald’s “family restaurant” in Sandton, Sea Point and Port Elizabeth. 

 Okay – you’re still no closer to seeing the connection between burgers and software development! Let us reflect, however, on McDonald’s secret to success. How does it achieve such excellent consistency and predictability? What is McDonald’s business model? The famous hamburger chain, like many other international fast-food brands, is a franchise. As the “franchisor” McDonald’s has done the following:

  •  It created the brand and the “brand promise”. McDonald’s continues to spend a huge amount on advertising to ensure that almost everyone on the globe understands what their brand offers consumers;
  • It developed an “operations manual” to support its brand promise. Anyone setting up a McDonald’s restaurant will find procedures, processes and recipes in the operations manual covering everything from what colour to paint the walls to how to clean a fryer to how to set out the weekly financial reports;
  • It provides standard training that helps “franchisees” (those who operate a restaurant) train their staff to work according to the “operations manual”. In many parts of the world one will find McDonald’s training centres called “hamburger universities”;
  • It quality assures its franchisees. In this way it ensures that each McDonald’s outlet follows the methods as prescribed in the operations manual and achieves the “brand promise”.

 And what about the franchisees? What’s in it for them? By buying a McDonald’s franchise they are NOT setting up their own business in the true sense of the word. They are buying the right to operate a restaurant within the narrow constraints defined within McDonald’s operations manual. Why should they do this? Simply because they have a significantly higher chance of success. Research has shown that running a franchise gives the franchisee between 2 and 12 times better chance of success than running a similar business on his own.

 The other key element is that the franchisee sets up the business from scratch. One doesn’t take a “mom-and-pop” corner hamburger joint and attempt to convert it into a McDonald’s. You would shut the old store, tear down the building, rebuild and re-equip it as prescribed in the operations manual, recruit and train new staff and then run it as a McDonald’s.

Now … let us imagine a world …. where software development follows the same business model as a fast-food franchise. (I can hear a chorus of raised voices telling me that developing software is not even vaguely similar to making hamburgers!  Again, please bear with me.)

 We start by defining a brand. My “brand promise” says that “Barry’s Software House” is able to produce and deliver software applications to order (i.e. bespoke development). I promise that each project I undertake will be delivered:

  • within 10% of the scheduled date;
  • within 5% of allocated budget;
  • having less than 0.5 defects per 1,000 lines of code (KLOC) in delivered software.

This promise is impressive because international industry benchmarks, and current best practice in the South African software sector, shows that software projects are delivered:

  • 27% to 112% late;
  • 17% to 85% over budget, and
  • Having 2 to 7 defects per KLOC.

 In other words “Barry’s Software House” promises to be significantly better than any other software developer in South Africa and on a par with the best in the world. Furthermore my promise is not simply a promise. I will collect data from every project to show that I’m meeting my performance targets.

How will my software house achieve these performance targets? I will develop an operations manual based on known and proven industry best practice. I will draw heavily on the work of the Software Engineering Institute (SEI) in the USA. My processes will be based on CMMI. My methods will be based on the Team Software Process (TSP), Personal Software Process (PSP) and various agile practices. I will seek out and integrate best of breed tools to support my operations. Everything set out in my operations manual will be designed to ensure that my targets are met in a quantifiable, data-driven, repeatable and predictable manner.

Together with my operations manual will be training. This will include both existing courses (such as those offered by the SEI) and new curricula that I will develop. Individuals completing the training will receive various levels of certification.

 In setting up “Barry’s Software House” I will use the franchise model. My own organisation will be the franchisor, defining and advertising the brand promise, creating the operations manual and developing and certifying training curricula. My organisation will also quality assure and certify franchisees.

These franchisees will be any individual or organisation that wants to acquire the “Barry’s Software House” franchise. The prerequisite is that they will set up the software development operation from scratch, will follow my operations manual exactly, recruit and train staff as I require, and undergo quality assurance activities.

Since these franchise operations are being established from scratch I will be able to count the number of new jobs created. My intention is that each franchise will employ about 25 people. In this way, by establishing 40 such operations over a 3 year period, I will have created 1,000 new jobs.

 But … where will all these skilled people come from, and where will all the software projects come from to keep them busy.

As they say in the best TV sitcoms – my story is “to be continued” in the next blog that I post.

 In the meantime, any comments – either supportive or howls of derision – will be welcome.

2011 – The Year of Job Creation

by Prof Barry Dwolatzky


JOBS!  No … not merely jobs … DECENT JOBS. This is the topic on everyone’s lips as we rush headlong into 2011. Last Monday (31st January) South Africa’s Communication Workers’ Union (CWU) entered the fray and gave the jobs debate an ICT angle. 

Speaking at the CWU’s national congress the union’s deputy president, Karthi Pillay, suggested that “advancement of technology in the ICT sector has cost thousands of jobs over the past few years.” He cited Telkom as an example where new telecomms technology was partly to blame for a reduction in the workforce from 69,000 to 23,000.

 While it is true that the rapid evolution in ICT technology does indeed lead to the loss of “old” jobs, they are invariably replaced with “new” jobs. Karthi Pillay is clearly aware of this … in his speech he insisted that “those who have been retrenched have to be retrained and opportunities  …  created for them.”

 The national theme for 2011 as the “year of job creation” was set early in January when President Zuma delivered the ANC’s annual policy statement.  He promised to create 5 million jobs over the next 10 years.  This undertaking led to a debate in the press and elsewhere around the difference between “jobs” and “decent jobs”.  The concept of a “decent job” has, in fact, been defined by the International Labour Organisation (ILO).  According to the ILO

“Decent Work involves:

  • opportunities for work that is productive and delivers a fair income,
  • security in the workplace and social protection for families,
  • better prospects for personal development and social integration,
  • freedom for people to express their concerns, organize and participate in the decisions that affect their lives and
  • equality of opportunity and treatment for all women and men.”

I believe that in the 21st Century the ICT sector provides the finest examples of “Decent Work”. I also believe that ICT has the potential to create large numbers of “Decent Jobs” – notwithstanding the CWU’s fear that advances in technology leads to the loss of jobs.

I’m particularly passionate about one important sub-sector of ICT, namely software development. Creating thousands of software development jobs in South Africa and other parts of Africa over the next few years would certainly make a meaningful contribution to the ILO’s Decent Work Agenda. It would also represent a significant element of President Zuma’s job creation promise.

As I settle down to work in 2011 the issue of job creation is on top of my “to-do” list. Late last year I developed an – admittedly ambitious – strategy to create 1,000 new software development jobs over the next three years. I’m now getting ready to implement it.

Watch this blog for updates as the plans unfold and contribute by submitting your comments.

My “Thousand Job Strategy” to be launched at JCSE’s Process Improvement Symposium

by Prof Barry Dwolatzky

Barry Fifa

So why do I write this blog? The answer is simple … I’m on a crusade. The sub-title of my blog makes it clear what this crusade is (broadly) about. It says I’m “passionate about the SA software industry”. My focus, however, is much sharper than that. Put quite simply … I’m on a crusade to ensure that the SA software sector grows in size and international reputation over the next 5 years. Furthermore I need to be able to accurately monitor and measure this growth. 

Is this a pointless crusade? Am I a Don Quixote figure tilting at windmills? 

Obviously I believe strongly that my mission is achievable. I also don’t, for one moment, underestimate the difficulties I face. 

So – let me lay it down in front of you!  Here is my action plan: 

1.  My first step is to clearly define what I mean by the “SA software development industry”.

2.  Having agreed what the “industry” is I need to measure its current performance. After considerable thought I’ve decided that the performance of the industry will be determined by collecting a set of 5 numbers from as many software development projects as possible. These numbers are:

  • Size: Number of people in the team.
  • Schedule Performance: What was the difference (in days) between the promised completion date and the actual completion date?
  • Cost performance:  What was the difference (in Rands) between the promised budget and the actual cost?
  • Project size/complexity: How big and how complex was the application developed in the project?
  • Quality: How many defects (or “bugs”) were discovered during system testing?

These – per project – measures will then be averaged to give a measure of the state of software development in South Africa.

3.  I will then implement a strategy (see below) to improve the performance of the industry. My strategy also aims to increase the number of people employed in developing software in South Africa.

4.  On an ongoing basis the measures listed above will be collected and reported on.

5.   If my crusade is to be a success, I would want to see improvements in both performance and the number of jobs.

Before you say that this is “pie-in-the-sky”, or “mission impossible”, let me ask what else we should do to sustain and grow our local software industry?  We need to have ambitious plans, and (I believe) we need to monitor progress. I accept that it’s going to be difficult, but I’m ready to try! 

I’ve developed a strategy (see point 3 above) that aims to achieve my mission. I call it the JCSE’s “Thousand Job Strategy”. It aims to create 1,000 new software development jobs in South Africa over the next 3 years. It also aims to achieve a significant and quantifiable improvement in the performance of local software development teams. 

Are you interested in finding out more about the “Thousand Job Strategy”? It will be unveiled at the annual JCSE Process Improvement Symposium on 26th October 2010 from 8:45 to 12:45 at the Sunnyside Park Hotel, Johannesburg.  I will be inviting comments, both supportive and critical. 

The Symposium will also be addressed by the eminent international software engineer, Prof. Dr.-Ing. Manfred Nagl, Emeritus Professor of Software Engineering, RWTH Aachen University, Germany. 

Visit to find out more about the Symposium. Documents describing the “Thousand Job Strategy” will be posted on this blog after the Symposium.