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.